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:

  1. No console do Google Cloud, acesse a página Application Integration.

    Acessar o Application Integration

  2. No menu de navegação, clique em Integrações. A página Integrations é exibida.
  3. 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 imagem de layout de integração Exemplo de imagem de layout de integração

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:

  1. 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
        }
      ]
    }
  2. Extrair o payload do pedido e calcular o valor total do pedido.
  3. Verifique se o valor total do pedido é maior ou igual a US $100. Em caso afirmativo, receba outra aprovação para continuar.
  4. Verifique se algum dos itens do pedido tem um fornecedor externo. Se sim, envie os detalhes ao fornecedor usando uma chamada da API REST.
  5. 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 quantity e o price_per_item usando as funções de mapeamento GET_PROPERTY e MULTIPLY.

O valor final é convertido em um tipo de dados duplo e armazenado na variável de saída total_order_value.

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 filtered_external_items.

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: api_trigger/ecom-order-processing_API_2

Nome da integração: ExampleIntegration-EcomOrderProcessing

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:POST

Corpo da solicitação: sub_integration_input

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 imagem mostrando o ícone de registros de execuçãoAcessar 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:

  1. Clique em Testar na barra de ferramentas do editor de integração e selecione OrderProcessAPITrigger.

    O painel Test Integration é exibido.

  2. Você vai receber uma solicitação para editar a variável de entrada orders_request. Para este teste, atualize o valor de quantity para 240. A variável de entrada orders_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
            }
          ]
        }
        
  3. 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:

  1. No editor de integração, clique em imagem mostrando o ícone de registros de execuçãoExibir registros de execução para esta integração. A página Registros de execução é exibida.
  2. 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
  3. 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.