Consulta i connettori supportati per Application Integration.
Prova l'integrazione di esempio
Durante la configurazione di 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 di esempio:
- Nella console Google Cloud, vai alla pagina Integrazione delle applicazioni.
- Nel menu di navigazione, fai clic su Integrations (Integrazioni). Viene visualizzata la pagina Integrazioni.
- Fai clic sull'integrazione denominata ExampleIntegration-EcomOrderProcessing.
L'integrazione di esempio si apre nell'editor di integrazione in un layout simile al seguente:
Integrazione di esempio di e-commerce
Puoi utilizzare questa integrazione di esempio per acquisire un'esperienza pratica dei vari attivatori, attività 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 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 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'articolo
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 di confine
(Total OrderValue Above Threshold) |
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'attività di approvazione. | |
Condizione di confine
(TotalOrderValue Below Threshold) |
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 Ai fini del test di 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
|
||
Attività per ogni loop
(per ogni loop) |
Elenco da iterare: 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.
|
|
Attivazione API
(Report ExternalOrders) |
ID attivatore: api_trigger/ecom-order-processing_API_2
|
Richiama la sottointegrazione per ogni elemento in filtered_external_items. | |
Attività di chiamata endpoint REST
(endpoint REST di chiamata) |
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 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.
Eseguire il test dall'editor di integrazione
Per testare l'integrazione di esempio:
- Fai clic su Test nella barra degli strumenti dell'editor dell'integrazione e 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à orders_request
aggiornata è superiore a 200, l'integrazione di esempio invia un'email di richiesta di approvazione all'indirizzo email specificato nel campo Destinatari dell'attività Approvazione. L'operazione dell'ordine di integrazione verrà completata correttamente una volta ricevuta l'approvazione.
Per ulteriori informazioni sui test, consulta Testare e pubblicare le integrazioni.
Per controllare i log di esecuzione e visualizzare lo stato e il payload della determinata integrazione:
- 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 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 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
Test case 1: invia 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 Località di Application Integration.
- INTEGRATION_NAME: il nome dell'integrazione.
Output del test
L'API restituisce la risposta all'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.