Consulte os conectores compatíveis com a Application Integration.

Testar a integração de amostra

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

Confira um exemplo de integração

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

    O exemplo de integração é aberto no editor de integração 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 sobre os diversos 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. Extraia o payload do pedido e calcule o valor total do pedido.
  3. Verifique se o valor total do pedido é maior ou igual a US $100. Em caso afirmativo, receba uma aprovação adicional 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 filtrados de fornecedores externos e os respectivos status de resposta HTTP.

A tabela a seguir lista todos os gatilhos, tarefas e condições de borda usados em ExampleIntegration-EcomOrder Processing:

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 itera em todos os itens do pedido usando a função de mapeamento FOR_EACH para calcular o valor do preço total do pedido.

O valor total do preço do pedido é calculado multiplicando 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 total do pedido 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 será 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 é inferior a US $100. Em caso afirmativo, o controle será 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 amostra, você pode usar seu e-mail para confirmar a conclusão da integração.

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 para iteração: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 no 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 de cada elemento em filter_external_items.
Tarefa "Chamar endpoint REST"

(Chame o endpoint REST)

URL de 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 amostra

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 registros, 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.

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.

    A caixa de diálogo Testar integração é exibida.

  2. Você precisará editar a variável de entrada orders_request. Para os fins deste teste, você pode atualizar o valor quantity para 240. A variável de entrada orders_request de atualização vai ficar assim:
        {
          "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 de orders_request atualizada é 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 "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 ver o status e o payload da integração em questã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 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 da 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 da integração. Consulte os Locais do 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 das variáveis de saída da integração.