Confira os conectores compatíveis com o Application Integration.

Testar a integração de amostra

Ao configurar a Application Integration no seu projeto do Google Cloud pela primeira vez, a Application Integration cria, por padrão, uma integração de amostra não publicada chamada ExampleIntegration-EcomOrderProcessing.

Ver exemplo de integração

Para conferir o exemplo de integração, 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 Lista de integrações é exibida.
  3. Clique na integração chamada ExampleIntegration-EcomOrderProcessing.

    O exemplo de integração será aberto no editor de integração, de forma semelhante ao seguinte layout:

    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, tarefas e conceitos da Application Integration.

O exemplo de integração ilustra um cenário básico de back-end de comércio eletrônico que implementa a seguinte operação de processamento de pedido:

  1. Receba o seguinte payload de solicitação de pedido de um endpoint 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
        }
      ]
    }
    
  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. Em caso afirmativo, envie os detalhes para o 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)

Salvaguardas 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

(Valor do pedido total acima do limite)

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 abaixo do limite)

Condição: $total_order_value$ < $threshold_order_value$ Verifica se o valor total do pedido é menor que US $100. Em caso afirmativo, o controle é passado para a tarefa Filtrar itens externos.
Tarefa "Aprovação"

(Aprovação)

Destinatários:Enter the approver's email address

Para testar esta integração de exemplo, você pode usar seu e-mail para confirmar se a integração foi concluída.

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)

Salvaguardas 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 para iterar: filtered_external_items

ID do acionador 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. Ela 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

(Denunciar ExternalOrders)

ID do acionador: api_trigger/ecom-order-processing_API_2 Invoca a subintegração para cada elemento em filter_external_items.
Tarefa "Chamar endpoint REST"

(chamar endpoint REST)

URL base do endpoint : 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

Faça o seguinte para testar a integração de amostra:

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

    O painel Test Integration é exibido.

  2. Você precisa editar a variável de entrada orders_request. Para este teste, atualize o valor quantity para 240. A variável de entrada de atualização orders_request precisa 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 do pedido de integração será concluída assim que a aprovação for recebida.

Para mais informações sobre testes, consulte Testar e publicar integrações.

Faça o seguinte para inspecionar os registros de execução e visualizar o status e o payload da integração especificada:

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