Consulta i connettori supportati per Application Integration.
Prova l'integrazione di esempio
Quando configuri Application Integration nel tuo progetto Google Cloud per la prima volta, per impostazione predefinita viene creata un'integrazione di esempio non pubblicata denominata ExampleIntegration-EcomOrderProcessing.
Visualizza l'integrazione di esempio
Per visualizzare l'integrazione del campione:
- Nella console Google Cloud, vai alla pagina Application Integration.
- Nel menu di navigazione, fai clic su Integrations (Integrazioni). Viene visualizzata la pagina Integrations (Integrazioni).
- Fai clic sull'integrazione denominata ExampleIntegration-EcomOrderProcessing.
L'integrazione di esempio si apre nell'editor dell'integrazione, con un aspetto simile al seguente layout:
Esempio di integrazione di e-commerce
Puoi utilizzare questa integrazione di esempio per fare un'esperienza pratica dei vari attivatori, tasks e concetti di Application Integration.
L'integrazione di esempio illustra uno scenario di backend di e-commerce di base che implementa la seguente operazione di elaborazione degli ordini:
- Ricevi il seguente payload della richiesta di ordine da un endpoint 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 } ] }
- Estrai il payload dell'ordine e calcola il valore totale dell'ordine.
- Controlla se il valore totale dell'ordine è superiore o uguale a 100 $. In caso affermativo, ottieni un'approvazione aggiuntiva per continuare.
- Controlla se alcuni articoli dell'ordine hanno un fornitore esterno. In caso affermativo, invia i dettagli al fornitore utilizzando una chiamata API REST.
- Invia la risposta dell'ordine con il valore totale dell'ordine, gli articoli filtrati del fornitore esterno e il rispettivo stato della risposta HTTP.
La tabella seguente elenca tutti gli attivatori, le attività e le condizioni di confine utilizzati in ExampleIntegration-EcomOrderProcessing:
Componente | Configurazione | Descrizione | |
---|---|---|---|
Attivazione API
(OrderProcessAPITrigger) |
ID attivatore: api_trigger/ecom-order-processing_API_1
|
Richiama l'integrazione per ogni richiesta di ordine. | |
Attività di mappatura dei dati
(Trova il prezzo totale dell'ordine) |
Input | Output | Estrae la variabile di input JSON order_request ed esegue l'iterazione di tutti gli articoli dell'ordine utilizzando la funzione di mappatura FOR_EACH per calcolare il valore del prezzo totale dell'ordine.
Il valore del prezzo totale dell'ordine viene calcolato moltiplicando l'elemento
Il valore finale viene quindi convertito in un tipo di dati doppio e memorizzato nella variabile di output |
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
|
||
Condizione di confine
(Total OrderValue Above Threshold) |
Condizione: $total_order_value$ >= $threshold_order_value$ |
Verifica se il valore totale dell'ordine è maggiore o uguale a 100 $. In caso affermativo, il controllo viene passato a un'attività di approvazione. | |
Condizione di confine
(TotalOrderValue Sotto la soglia) |
Condizione: $total_order_value$ < $threshold_order_value$
|
Controlla se il valore totale dell'ordine è inferiore a 100 $. In caso affermativo, il controllo viene passato all'attività Filtra elementi esterni. | |
Attività di approvazione
(Approvazione) |
Destinatari: Enter the approver's email address Per testare questa integrazione di esempio, puoi utilizzare il tuo indirizzo email per confermare il completamento dell'integrazione. |
Invia un'email di richiesta di approvazione a uno o più utenti di integrazione. L'email include un link all'integrazione in cui gli utenti possono approvare o rifiutare manualmente la richiesta. | |
Attività di mappatura dei dati
(Filtra elementi esterni) |
Input | Output | Estrae la variabile di input JSON order_request e filtra tutti gli articoli dell'ordine con fornitori esterni utilizzando la funzione di mappatura FILTER.
I valori filtrati vengono poi memorizzati nella variabile di output |
orders_request .GET_PROPERTY("line_items") .FILTER(~obj1->~obj1 .GET_PROPERTY("vendor") .TO_STRING() .EQUALS("External")) |
filtered_external_items
|
||
Per ogni attività Loop
(per ogni loop) |
Elenco da ripetere: filtered_external_items
ID trigger API:
Nome integrazione: |
Esegue l'iterazione della variabile filtered_external_items e chiama la sottointegrazione per ogni elemento dell'array. Inoltre, raccoglie la risposta di ogni esecuzione in rest_call_response_status , dove ogni elemento dell'array contiene la risposta di una determinata esecuzione.
|
|
Trigger API
(Segnala ordini esterni) |
ID attivatore: api_trigger/ecom-order-processing_API_2
|
Richiama la sottointegrazione per ogni elemento in filtered_external_items. | |
Attività di chiamata endpoint REST
(Chiama endpoint REST) |
URL di base dell'endpoint: https://mocktarget.apigee.net/echo
Metodo HTTP:
Corpo della richiesta: |
Effettua una chiamata REST all'URL https://mocktarget.apigee.net/echo. |
Pubblica e testa l'integrazione di esempio
Per pubblicare l'integrazione, fai clic su Pubblica nella barra degli strumenti dell'editor delle integrazioni.
Una volta completata la pubblicazione dell'integrazione, puoi visualizzare e controllare i log di esecuzione dell'integrazione pubblicata. Per visualizzare i log, fai clic su Visualizza i log di esecuzione per questa integrazione. Viene visualizzata la pagina Log di esecuzione.
Test dall'editor di integrazione
Per testare l'integrazione di esempio:
- Fai clic su Test nella barra degli strumenti dell'editor di integrazione, quindi seleziona OrderProcessAPITrigger.
Viene visualizzato il riquadro Testa integrazione.
- Ti viene chiesto di modificare la variabile di input
orders_request
. Ai fini di questo test, puoi aggiornare il valorequantity
in240
. La variabile di input di aggiornamentoorders_request
dovrebbe avere il seguente aspetto:{ "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 } ] }
- Fai clic su Test integration (Testa l'integrazione).
Poiché la quantità aggiornata di orders_request
è superiore a 200, l'integrazione dell'esempio invia un'email di richiesta di approvazione all'indirizzo email specificato nel campo Destinatari dell'attività di approvazione. L'operazione dell'ordine di integrazione verrà completata una volta ricevuta l'approvazione.
Per saperne di più sui test, consulta Testare e pubblicare le integrazioni.
Segui questi passaggi per esaminare i log di esecuzione e visualizzare lo stato e il payload dell'integrazione specificata:
- Nell'editor dell'integrazione, fai clic su Visualizza i log di esecuzione per questa integrazione. Viene visualizzata la pagina Log di esecuzione.
- Nella pagina Log di esecuzione puoi visualizzare i dettagli di ogni tentativo di eseguire un'integrazione.
Ogni voce include i dettagli del tentativo di esecuzione, tra cui:
- Nome integrazione
- ID esecuzione
- Stato
- Data/Ora di inizio
- Durata
- Versione integrazione
- ID attivatore
- Fai clic sulla freccia di espansione (>) accanto all'integrazione eseguita per visualizzare un elenco espanso di attività e variabili nell'integrazione, insieme allo stato dell'attività e ai payload delle variabili.
Eseguire il test utilizzando una chiamata API REST
Scenario di test 1: invia una richiesta con input predefiniti
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)"
Test case 2: invia richiesta con input personalizzati
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)"
Sostituisci quanto segue:
- PROJECT_ID: l'ID del tuo progetto Google Cloud.
- LOCATION: la posizione dell'integrazione. Consulta le posizioni di Application Integration.
- INTEGRATION_NAME: nome dell'integrazione.
Output del test
L'API restituisce la risposta di esecuzione dell'integrazione contenente tutti i valori delle variabili di output dell'integrazione.
Quote e limiti
Per informazioni su quote e limiti, consulta Quote e limiti.