Consulte os conetores suportados para a solução Application Integration.
Experimente a integração de amostra
Ao configurar a integração de aplicações no seu projeto do Google Cloud pela primeira vez, a integração de aplicações cria, por predefinição, uma integração de exemplo não publicada denominada ExampleIntegration-EcomOrderProcessing.
Veja uma integração de amostra
Para ver a integração de exemplo, faça o seguinte:
- Na Google Cloud Console, aceda à página Integração de aplicações.
- Clique em Integrações no menu de navegação do lado esquerdo para abrir a página Integrações.
- Clique na integração com o nome ExampleIntegration-EcomOrderProcessing.
A integração de exemplo é aberta no editor de integração, semelhante ao seguinte esquema:
Exemplo de integração de comércio eletrónico
Pode usar esta integração de exemplo para ter uma experiência prática dos vários acionadores, tarefas e conceitos da integração de aplicações.
A integração de exemplo ilustra um cenário de back-end de comércio eletrónico básico que implementa a seguinte operação de processamento de encomendas:
- Receber a seguinte carga útil do pedido de encomenda de um ponto final 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 } ] }
- Extraia a carga útil da encomenda e calcule o valor total da encomenda.
- Verifique se o valor total da encomenda é igual ou superior a 100 $. Em caso afirmativo, obtenha uma aprovação adicional para continuar.
- Verifique se algum dos artigos da encomenda tem um fornecedor externo. Em caso afirmativo, envie os detalhes ao fornecedor através de uma chamada da API REST.
- Envie a resposta da encomenda com o valor total da encomenda, os artigos de fornecedores externos filtrados e o respetivo estado de resposta HTTP.
A tabela seguinte apresenta todos os acionadores, tarefas e condições limite usados em ExampleIntegration-EcomOrderProcessing:
Componente | Configuração | Descrição | |
---|---|---|---|
Acionador de API
(OrderProcessAPITrigger) |
ID do acionador: api_trigger/ecom-order-processing_API_1
|
Invoca a integração para cada pedido de encomenda. | |
Tarefa de mapeamento de dados
(Encontre o preço total da encomenda) |
Entrada | Resultado | Extrai a variável de entrada order_request JSON e itera todos os artigos da encomenda através da função de mapeamento FOR_EACH para calcular o valor total do preço da encomenda.
O valor total do preço da encomenda é calculado multiplicando o
Em seguida, o valor final é convertido num 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 limite
(Valor total de encomenda acima do limite) |
Condição: $total_order_value$ >= $threshold_order_value$ |
Verifica se o valor total da encomenda é superior ou igual a 100 $. Se for o caso, o controlo é transmitido a uma tarefa de aprovação. | |
Condição de limite
(TotalOrderValue Below Threshold) |
Condição: $total_order_value$ < $threshold_order_value$
|
Verifica se o valor total da encomenda é inferior a 100 $. Em caso afirmativo, o controlo é transmitido para a tarefa Filtrar itens externos. | |
Tarefa de aprovação
(Aprovação) |
Destinatários: Enter the approver's email address Para fins de teste desta integração de exemplo, pode usar o seu email para confirmar a conclusão bem-sucedida da integração. |
Envie um email de pedido de aprovação a um ou mais utilizadores da integração. O email inclui um link para a integração onde os utilizadores podem aprovar ou rejeitar manualmente o pedido. | |
Tarefa de mapeamento de dados
(Filtrar itens externos) |
Entrada | Resultado | Extrai a variável de entrada JSON order_request e filtra todos os artigos da encomenda com fornecedores externos através da função de mapeamento FILTER.
Os valores filtrados são, em seguida, 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 de ciclo For Each
(Para cada repetição) |
Lista a iterar: filtered_external_items
ID do acionador da API:
Nome da integração: |
Itera a variável filtered_external_items e chama a subintegração para cada elemento na matriz. Também reúne 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.
|
|
Acionador de API
(Report ExternalOrders) |
ID do acionador: api_trigger/ecom-order-processing_API_2
|
Invoca a subintegração para cada elemento em filtered_external_items. | |
Tarefa Call REST Endpoint
(Chamar ponto final REST) |
URL base do ponto final: https://mocktarget.apigee.net/echo
Método HTTP:
Corpo do pedido: |
Faz uma chamada REST para https://mocktarget.apigee.net/echo. |
Publique e teste a integração de amostra
Para publicar a integração, clique em Publicar na barra de ferramentas do editor de integração.
Após publicar com êxito a integração, pode ver e inspecionar os registos de execução da integração publicada. Para ver os registos, clique em Ver registos de execução desta integração. É apresentada a página Registos de execução.
Teste a partir do editor de integração
Faça o seguinte para testar a integração de exemplo:
- Clique em Testar na barra de ferramentas do editor de integração e, de seguida, selecione OrderProcessAPITrigger.
É apresentado o painel Testar integração.
- É-lhe pedido que edite a variável de entrada
orders_request
. Para efeitos deste teste, pode atualizar o valorquantity
para240
. A variável de entradaorders_request
de atualização deve ser semelhante à seguinte:{ "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.
Uma vez que a quantidade orders_request
atualizada é superior a 200, a integração de exemplo envia um email de pedido de aprovação para o endereço de email especificado no campo Destinatários da tarefa de aprovação. A operação de encomenda de integração é concluída com êxito assim que a aprovação for recebida.
Para mais informações sobre os testes, consulte o artigo Teste e publique integrações.
Faça o seguinte para inspecionar os registos de execução e ver o estado e a carga útil da integração especificada:
- No editor de integração, clique em
Ver registos de execução desta integração. É apresentada a página Registos de execução.
- Na página Registos de execução, pode ver detalhes sobre cada tentativa de executar uma integração.
Cada entrada inclui detalhes da tentativa de execução, incluindo:
- Nome da integração
- ID de execução
- Estado
- Hora de início
- Duração
- Versão da integração
- ID do acionador
- Clique na seta de expansão (>) junto à integração executada para ver uma lista expandida de tarefas e variáveis na integração, juntamente com o estado das tarefas e os payloads das variáveis.
Teste através de uma chamada da API REST
Exemplo de teste 1: enviar pedido com entradas predefinidas
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: envie o pedido 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 o seguinte:
- PROJECT_ID: o ID do seu projeto do Google Cloud.
- LOCATION: a localização da integração. Consulte o artigo Localizações da solução Application Integration.
- INTEGRATION_NAME: nome da integração.
Resultado do teste
A API devolve a resposta de execução da integração que contém todos os valores das variáveis de saída da integração.
Quotas e limites
Para informações sobre quotas e limites, consulte o artigo Quotas e limites.