Prova l'integrazione di esempio
Quando configuri Application Integration nel tuo progetto Google Cloud per la prima volta, Application Integration crea per impostazione predefinita un'integrazione di esempio non pubblicata denominata ExampleIntegration-EcomOrderProcessing.
Visualizza l'integrazione di esempio
Per visualizzare l'integrazione di esempio:
- Nella console Google Cloud, vai alla pagina Application Integration.
- Fai clic su Integrazioni nel menu di navigazione a sinistra per aprire la pagina Integrazioni.
- Fai clic sull'integrazione denominata ExampleIntegration-EcomOrderProcessing.
L'integrazione di esempio si apre nell'editor integrazioni in un layout simile al seguente:
Integrazione di esempio dell'e-commerce
Puoi utilizzare questa integrazione di esempio per acquisire esperienza pratica con i vari trigger, le attività e i concetti di Application Integration.
L'integrazione di esempio illustra uno scenario di base di backend di e-commerce 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.
- Verifica che il valore totale dell'ordine sia maggiore o uguale a 100 $. In caso affermativo, ottieni un'approvazione aggiuntiva per continuare.
- Controlla se uno degli articoli dell'ordine ha un fornitore esterno. In caso affermativo, invia i dettagli al fornitore utilizzando una chiamata API REST.
- Invia la risposta all'ordine con il valore totale dell'ordine, gli articoli del fornitore esterno filtrati e il relativo stato della risposta HTTP.
La tabella seguente elenca tutti i trigger, le attività e le condizioni limite utilizzati in ExampleIntegration-EcomOrderProcessing:
| Componente | Configurazione | Descrizione | |
|---|---|---|---|
| Trigger API
(OrderProcessAPITrigger) |
ID trigger: 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 e scorre tutti gli articoli dell'ordine utilizzando la funzione di mapping FOR_EACH per calcolare il valore totale del prezzo dell'ordine.
Il valore del prezzo totale dell'ordine viene calcolato moltiplicando l'
Il valore finale viene quindi convertito in un tipo di dati double 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 perimetrale
(Valore totale degli ordini superiore alla soglia) |
Condizione: $total_order_value$ >= $threshold_order_value$ |
Controlla se il valore totale dell'ordine è maggiore o uguale a 100 $. In caso affermativo, il controllo viene passato a un task di approvazione. | |
| Condizione edge
(Valore totale degli ordini inferiore alla 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à approvazione
(Approvazione) |
Destinatari: Enter the approver's email address Ai fini del test di questa integrazione di esempio, puoi utilizzare la tua 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 mapping FILTER.
I valori filtrati vengono quindi memorizzati nella variabile di output |
orders_request .GET_PROPERTY("line_items") .FILTER(~obj1->~obj1 .GET_PROPERTY("vendor") .TO_STRING() .EQUALS("External")) |
filtered_external_items
|
||
| Attività per ogni loop
(per ogni loop) |
List to iterate: filtered_external_items
ID trigger API:
Nome integrazione: |
Esegue l'iterazione sulla variabile filtered_external_items e chiama la sotto-integrazione 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 particolare esecuzione.
|
|
| Trigger API
(Report ExternalOrders) |
ID trigger: api_trigger/ecom-order-processing_API_2
|
Richiama la sotto-integrazione 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 a https://mocktarget.apigee.net/echo. | |
Pubblicare e testare l'integrazione di esempio
Per pubblicare l'integrazione, fai clic su Pubblica nella barra degli strumenti dell'Editor integrazioni.
Una volta pubblicata l'integrazione, puoi visualizzare e controllare i log di esecuzione dell'integrazione pubblicata. Per visualizzare i log, fai clic su
Visualizza log di esecuzione per questa integrazione. Viene visualizzata la pagina Log di esecuzione.
Test dall'Editor integrazioni
Per testare l'integrazione di esempio:
- Fai clic su Testa 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 valorequantitya240. La variabile di input dell'aggiornamentoorders_requestdovrebbe essere simile alla seguente:{ "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 (Prova integrazione).
Poiché la quantità orders_request aggiornata è superiore a 200, l'integrazione di esempio invia un'email di richiesta di approvazione all'indirizzo specificato nel campo Destinatari dell'attività di approvazione. L'operazione di ordine di integrazione verrà completata correttamente una volta ricevuta l'approvazione.
Per saperne di più sui test, consulta Testare e pubblicare le integrazioni.
Per controllare i log di esecuzione e visualizzare lo stato e il payload dell'integrazione specificata:
- Nell'editor dell'integrazione, fai clic su
Visualizza 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 esecuzione di un'integrazione.
Ogni voce include i dettagli del tentativo di esecuzione, tra cui:
- Nome integrazione
- ID esecuzione
- Stato
- Ora di inizio
- Durata
- Versione integrazione
- ID trigger
- 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.
Testare utilizzando una chiamata API REST
Scenario di test 1: invia la richiesta con gli 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)"
Scenario di test 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 Località di Application Integration.
- INTEGRATION_NAME: il nome dell'integrazione.
Output di 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.