Consulte os conectores compatíveis com a integração de aplicativos.
Testar a integração de amostra
Ao configurar o Application Integration no projeto do Google Cloud pela primeira vez, ele cria uma integração de amostra não publicada chamada ExampleIntegration-EcomOrderProcessing.
Conferir integração de exemplo
Para conferir a integração de exemplo, faça o seguinte:
- No console do Google Cloud, acesse a página Application Integration.
- No menu de navegação, clique em Integrações. A página Integrations é exibida.
- Clique na integração ExampleIntegration-EcomOrderProcessing.
A integração de exemplo é aberta no editor de integração de forma semelhante ao layout a seguir:
Exemplo de integração de e-commerce
Use esse exemplo de integração para ter uma experiência prática com os vários acionadores, tasks e conceitos da Application Integration.
O exemplo de integração ilustra um cenário básico de back-end de e-commerce que implementa a seguinte operação de processamento de pedidos:
- Receba o payload de solicitação de pedido a seguir de um endpoint da 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 } ] }
- Extrair o payload do pedido e calcular o valor total do pedido.
- Verifique se o valor total do pedido é maior ou igual a US $100. Em caso afirmativo, receba outra aprovação para continuar.
- Verifique se algum dos itens do pedido tem um fornecedor externo. Se sim, envie os detalhes ao fornecedor usando uma chamada da API REST.
- Envie a resposta do pedido com o valor total do pedido, os itens de fornecedores externos filtrados e o respectivo status de resposta HTTP.
A tabela a seguir lista todos os acionadores, tarefas e condições de borda usados em ExampleIntegration-EcomOrderProcessing:
Componente | Configuração | Descrição | |
---|---|---|---|
Gatilho da API
(OrderProcessAPITrigger) |
ID do acionador: api_trigger/ecom-order-processing_API_1
|
Invoca a integração para cada solicitação de pedido. | |
Tarefa de mapeamento de dados
(Encontrar o preço total do pedido) |
Entrada | Saída | Extrai a variável de entrada JSON order_request e faz a iteração em todos os itens do pedido usando a função de mapeamento FOR_EACH para calcular o valor total do preço do pedido.
O valor total do preço do pedido é calculado multiplicando-se o item
O valor final é convertido em um tipo de dados duplo e armazenado na variável de saída |
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
|
||
Condição de borda
(Total OrderValue Above Threshold) |
Condição: $total_order_value$ >= $threshold_order_value$ |
Verifica se o valor total do pedido é maior ou igual a US$ 100. Em caso afirmativo, o controle é passado para uma tarefa de aprovação. | |
Condição de borda
(TotalOrderValue Below Threshold) |
Condição: $total_order_value$ < $threshold_order_value$
|
Verifica se o valor total do pedido é menor que US$ 100. Se sim, o controle é transmitido para a tarefa Filtrar itens externos. | |
Tarefa "Aprovação"
(Aprovação) |
Destinatários:Enter the approver's email address Para testar essa integração de exemplo, use seu e-mail para confirmar a conclusão dela. |
Envie um e-mail de solicitação de aprovação para um ou mais usuários de integração. O e-mail inclui um link para a integração em que os usuários podem aprovar ou recusar manualmente a solicitação. | |
Tarefa de mapeamento de dados
(Filtrar itens externos) |
Entrada | Saída | Extrai a variável de entrada JSON order_request e filtra todos os itens do pedido com fornecedores externos usando a função de mapeamento FILTER.
Os valores filtrados são armazenados na variável de saída |
orders_request .GET_PROPERTY("line_items") .FILTER(~obj1->~obj1 .GET_PROPERTY("vendor") .TO_STRING() .EQUALS("External")) |
filtered_external_items
|
||
Tarefa Para cada loop
(Para cada loop) |
Lista a ser iterada: filtered_external_items
ID do gatilho da API:
Nome da integração: |
Itera sobre a variável filtered_external_items e chama a subintegração para cada elemento na matriz. Ele também agrupa a resposta de cada execução em rest_call_response_status , em que cada elemento da matriz tem a resposta de uma execução específica.
|
|
Gatilho da API
(Relatório ExternalOrders) |
ID do acionador: api_trigger/ecom-order-processing_API_2
|
Invoca a subintegração para cada elemento em filtered_external_items. | |
Tarefa "Chamar endpoint REST"
(Chamada de endpoint REST) |
Endpoint base URL: https://mocktarget.apigee.net/echo
Método HTTP:
Corpo da solicitação: |
Faz uma chamada REST para https://mocktarget.apigee.net/echo. |
Publicar e testar a integração de exemplo
Para publicar a integração, clique em Publicar na barra de ferramentas do editor de integração.
Após a publicação da integração, você poderá ver e inspecionar os registros de execução da integração publicada. Para acessar os registros, clique em Acessar os registros de execução para esta integração. A página Registros de execução é exibida.
Testar no editor de integração
Siga estas etapas para testar a integração de exemplo:
- Clique em Testar na barra de ferramentas do editor de integração e selecione OrderProcessAPITrigger.
O painel Test Integration é exibido.
- Você vai receber uma solicitação para editar a variável de entrada
orders_request
. Para este teste, atualize o valor dequantity
para240
. A variável de entradaorders_request
da atualização vai ser semelhante a esta:{ "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 } ] }
- Clique em Testar integração.
Como a quantidade atualizada de orders_request
é maior que 200, a integração de amostra envia um e-mail de solicitação de aprovação para o endereço especificado no campo Destinatários da tarefa de aprovação. A operação de pedido de integração será concluída quando a aprovação for recebida.
Para mais informações sobre testes, consulte Testar e publicar integrações.
Siga estas etapas para inspecionar os registros de execução e conferir o status e o payload da integração:
- No editor de integração, clique em Exibir registros de execução para esta integração. A página Registros de execução é exibida.
- Na página Execution Logs, você pode ver detalhes sobre cada tentativa de executar uma integração.
Cada entrada inclui detalhes para a tentativa de execução, incluindo:
- Nome da integração
- ID de execução
- Status
- Horário de início
- Duração
- Versão da integração
- ID de acionamento
- Clique na seta de expansão (>) ao lado da integração executada para ver uma lista expandida de tarefas e variáveis na integração, além do status da tarefa e payloads de variável.
Testar usando uma chamada de API REST
Caso de teste 1: enviar solicitação com entradas padrão
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 teste 2: enviar solicitação com 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)"
Substitua:
- PROJECT_ID: o ID do projeto do Google Cloud.
- LOCATION: o local de integração. Consulte Locais da Application Integration.
- INTEGRATION_NAME: nome da integração.
Testar saída
A API retorna a resposta de execução da integração que contém todos os valores da variável de saída da integração.
Cotas e limites
Para informações sobre o assunto, consulte Cotas e limites.