Consulta los conectores compatibles con Application Integration.
Prueba la integración de muestra
Cuando configuras la integración de aplicaciones en tu proyecto de Google Cloud por primera vez, esta crea, de forma predeterminada, una integración de muestra no publicada llamada ExampleIntegration-EcomOrderProcessing.
Ver integración de muestra
Para ver la integración de muestra, haz lo siguiente:
- En la consola de Google Cloud, ve a la página Application Integration.
- En el menú de navegación, haz clic en Integraciones. Aparecerá la página Integraciones.
- Haz clic en la integración llamada ExampleIntegration-EcomOrderProcessing.
La integración de ejemplo se abre en el editor de integración de manera similar al siguiente diseño:
Integración de muestra de comercio electrónico
Puedes usar esta integración de ejemplo para obtener una experiencia práctica de los diversos activadores, tareas y conceptos de Application Integration.
La integración de ejemplo ilustra una situación básica de backend de comercio electrónico que implementa la siguiente operación de procesamiento de pedidos:
- Recibe la siguiente carga útil de solicitud de pedido desde un extremo de API:
{ "order_no": "12345", "buyer_id": "raambo", "line_items": [ { "line": 1, "sku": "tr100", "vendor": "Internal", "quantity": 1, "price_per_unit": 10 }, { "line": 2, "sku": "tbz", "vendor": "External", "quantity": 24.0, "price_per_unit": 1 } ] }
- Extrae la carga útil del pedido y calcula el valor total del pedido.
- Verifica si el valor total del pedido es mayor o igual que USD 100. Si es así, obtén una aprobación adicional para continuar.
- Verifica si alguno de los elementos del pedido tiene un proveedor externo. Si es así, envía los detalles al proveedor usando una llamada a la API de REST.
- Envía la respuesta del pedido con el valor total del pedido, los artículos del proveedor externo filtrados y su respectivo estado de respuesta HTTP.
En la siguiente tabla, se enumeran todos los activadores, las tareas y las condiciones perimetrales que se usan en ExampleIntegration-EcomOrderProcessing:
Componente | Configuración | Descripción | |
---|---|---|---|
Activador de API
(OrderProcessAPITrigger) |
ID del activador: api_trigger/ecom-order-processing_API_1
|
Invoca la integración para cada solicitud de pedido. | |
Tarea de asignación de datos
(Buscar el precio total del pedido) |
Entrada | Salida | Extrae la variable de entrada JSON order_request y, luego, itera en todos los artículos del pedido usando la función de asignación FOR_EACH para calcular el valor total del precio del pedido.
Para calcular el valor del precio total del pedido, se multiplican el artículo
Luego, el valor final se convierte en un tipo de datos doble y se almacena en la variable de salida |
orders_request.line_items .FOR_EACH(~obj1->~obj1 .GET_PROPERTY("quantity") .TO_DOUBLE() .MULTIPLY(~obj1 .GET_PROPERTY("price_per_unit") .TO_DOUBLE())) .TO_DOUBLE_ARRAY() .SUM() |
total_order_value
|
||
Condición perimetral
(Valor total del pedido por encima del umbral) |
Condición: $total_order_value$ >= $threshold_order_value$ |
Verifica si el valor total del pedido es mayor o igual que USD 100. Si es así, el control se pasa a una tarea de aprobación. | |
Condición perimetral
(TotalOrderValue debajo del umbral) |
Condición: $total_order_value$ < $threshold_order_value$
|
Verifica si el valor total del pedido es inferior a USD 100. Si es así, el control se pasa a la tarea Filtrar elementos externos. | |
Tarea Aprobación
(Aprobación) |
Destinatarios: Enter the approver's email address Para probar esta integración de muestra, puedes usar tu correo electrónico para confirmar que se completó correctamente. |
Envía un correo electrónico de solicitud de aprobación a uno o más usuarios de integración. El correo electrónico incluye un vínculo a la integración en el que los usuarios pueden aprobar o rechazar la solicitud de forma manual. | |
Tarea de asignación de datos
(Filtrar elementos externos) |
Entrada | Salida | Extrae la variable de entrada JSON order_request y filtra todos los elementos de pedido con proveedores externos mediante la función de asignación FILTER.
Luego, los valores filtrados se almacenan en la variable de salida |
orders_request .GET_PROPERTY("line_items") .FILTER(~obj1->~obj1 .GET_PROPERTY("vendor") .TO_STRING() .EQUALS("External")) |
filtered_external_items
|
||
Para cada tarea de bucle
(Para cada bucle) |
Lista para iterar: filtered_external_items
ID del activador de API:
Nombre de la integración: |
Itera la variable filtered_external_items y llama a la subintegración para cada elemento del array. También intercala la respuesta de cada ejecución en rest_call_response_status , en la que cada elemento del array tiene la respuesta de una ejecución en particular.
|
|
Activador de API
(Informar pedidos externos) |
ID del activador: api_trigger/ecom-order-processing_API_2
|
Invoca la subintegración para cada elemento de filtered_external_items. | |
Tarea de llamada de extremo de REST
(Llamar a extremo de REST) |
URL base del extremo: https://mocktarget.apigee.net/echo
Método HTTP:
Cuerpo de la solicitud: |
Realiza una llamada de REST a https://mocktarget.apigee.net/echo. |
Publica y prueba la integración de muestra
Para publicar la integración, haz clic en Publish en la barra de herramientas del editor de integración.
Una vez que publiques tu integración de forma correcta, podrás ver e inspeccionar los registros de ejecución de la integración publicada. Para ver los registros, haz clic en Ver registros de ejecución de esta integración. Aparecerá la página Registros de ejecución.
Cómo realizar pruebas desde el editor de integración
Para probar la integración de muestra, haz lo siguiente:
- Haz clic en Probar en la barra de herramientas del editor de integración y, luego, selecciona OrderProcessAPITrigger.
Aparecerá el panel Probar integración.
- Se te solicitará que edites la variable de entrada
orders_request
. A los fines de esta prueba, puedes actualizar el valor dequantity
a240
. La variable de entrada de actualizaciónorders_request
debería ser similar a la siguiente:{ "order_no": "12345", "buyer_id": "raambo", "line_items": [ { "line": 1, "sku": "tr100", "vendor": "Internal", "quantity": 1, "price_per_unit": 10 }, { "line": 2, "sku": "tbz", "vendor": "External", "quantity": 240, "price_per_unit": 1 } ] }
- Haz clic en Probar integración.
Dado que la cantidad actualizada de orders_request
es mayor que 200, la integración de muestra envía un correo electrónico de solicitud de aprobación a la dirección de correo electrónico especificada en el campo Destinatarios de la Tarea de aprobación. La operación del pedido de integración se completará correctamente una vez que se reciba la aprobación.
Para obtener más información sobre las pruebas, consulta Prueba y publica integraciones.
Para inspeccionar los registros de ejecución y ver el estado y la carga útil de la integración determinada, haz lo siguiente:
- En el editor de integración, haz clic en Ver registros de ejecución para esta integración. Aparecerá la página Registros de ejecución.
- En la página Registros de ejecución, puedes ver los detalles de cada intento para ejecutar una integración.
Cada entrada incluye detalles para el intento de ejecución, incluidos los siguientes:
- Nombre de la integración
- ID de ejecución
- Estado
- Hora de inicio
- Duration
- Versión de la integración
- ID de activador
- Haz clic en la flecha desplegable (>) junto a la integración ejecutada para ver una lista expandida de tareas y variables en la integración, junto con el estado de la tarea y las cargas útiles de la variable.
Cómo realizar pruebas con una llamada a la API de REST
Caso de prueba 1: Envía una solicitud con entradas predeterminadas
curl -X POST -H "Content-Type: application/json" -d '{"trigger_id":"api_trigger/ecom-order-processing_API_1"}' 'https://integrations.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/integrations/INTEGRATION_NAME:execute' -H "Authorization: Bearer $(gcloud auth print-access-token)"
Caso de prueba 2: Envía una solicitud con entradas personalizadas
curl -X POST -H "Content-Type: application/json" -d '{ "triggerId": "api_trigger/ecom-order-processing_API_1", "inputParameters": { "orders_request": { "jsonValue": "{\n \"order_no\": \"12345\",\n \"buyer_id\": \"raambo\",\n \"line_items\": [{\n \"line\": 1.0,\n \"sku\": \"tr100\",\n \"vendor\": \"Internal\",\n \"quantity\": 1.0,\n \"price_per_unit\": 10.0\n }, {\n \"line\": 2.0,\n \"sku\": \"tbz\",\n \"vendor\": \"External\",\n \"quantity\": 24.0,\n \"price_per_unit\": 2.0\n }]\n}" } } }' 'https://integrations.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/integrations/INTEGRATION_NAME:execute' -H "Authorization: Bearer $(gcloud auth print-access-token)"
Reemplaza lo siguiente:
- PROJECT_ID: El ID del proyecto de Google Cloud.
- LOCATION: Es la ubicación de la integración. Consulta Ubicaciones de Application Integration.
- INTEGRATION_NAME: Nombre de la integración
Resultado de la prueba
La API muestra la respuesta de ejecución de la integración que contiene todos los valores de las variables de salida de la integración.
Cuotas y límites
Para obtener más información sobre las cuotas y los límites, consulta Cuotas y límites.