Essayez l'exemple d'intégration
Lorsque vous configurez Application Integration pour la première fois dans votre projet Google Cloud, Application Integration crée par défaut un exemple d'intégration non publié nommé ExampleIntegration-EcomOrderProcessing.
Afficher un exemple d'intégration
Pour afficher l'exemple d'intégration, procédez comme suit :
- Dans la console Google Cloud, accédez à la page Application Integration.
- Cliquez sur Intégrations dans le menu de navigation de gauche pour ouvrir la page Intégrations.
- Cliquez sur l'intégration nommée ExampleIntegration-EcomOrderProcessing.
L'intégration exemple s'ouvre dans l'éditeur d'intégration, avec une mise en page semblable à celle-ci :
Exemple d'intégration d'e-commerce
Vous pouvez utiliser cet exemple d'intégration pour découvrir les différents déclencheurs, tâches et concepts d'Application Integration.
L'exemple d'intégration illustre un scénario de backend d'e-commerce de base implémentant l'opération de traitement des commandes suivante :
- Recevez la charge utile de la demande de commande suivante à partir d'un point de terminaison d'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 } ] }
- Extrayez le payload de la commande et calculez la valeur totale de la commande.
- Vérifier si la valeur totale de la commande est supérieure ou égale à 100 $. Si oui, obtenez une approbation supplémentaire pour continuer.
- Vérifiez si l'un des éléments de la commande comporte un fournisseur externe. Si la réponse est oui, envoyez les informations au fournisseur à l'aide d'un appel d'API REST.
- Envoyez la réponse de la commande avec la valeur totale de la commande, les articles de fournisseurs externes filtrés et leur état de réponse HTTP respectif.
Le tableau suivant liste tous les déclencheurs, tâches et conditions périphériques utilisés dans ExampleIntegration-EcomOrderProcessing :
| Composant | Configuration | Description | |
|---|---|---|---|
| Déclencheur d'API
(OrderProcessAPITrigger) |
ID du déclencheur : api_trigger/ecom-order-processing_API_1
|
Appelle l'intégration pour chaque demande de commande. | |
| Tâche de mappage des données
(Trouver le prix total de la commande) |
Entrée | Sortie | Extrait la variable d'entrée JSON order_request et parcourt tous les articles de la commande à l'aide de la fonction de mappage FOR_EACH pour calculer la valeur totale de la commande.
La valeur totale du prix de la commande est calculée en multipliant l'
La valeur finale est ensuite convertie en type de données double et stockée dans la variable de sortie |
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
|
||
| Condition de bord
(Valeur totale de la commande supérieure au seuil) |
État : $total_order_value$ >= $threshold_order_value$ |
Vérifie si la valeur totale de la commande est supérieure ou égale à 100 $. Si oui, le contrôle est transmis à une tâche d'approbation. | |
| Condition de bord
(TotalOrderValue Below Threshold) |
État : $total_order_value$ < $threshold_order_value$
|
Vérifie si la valeur totale de la commande est inférieure à 100 $. Si la réponse est "Oui", le contrôle est transmis à la tâche Filtrer les éléments externes. | |
| Tâche Approbation
(Approbation) |
Destinataires : Enter the approver's email address Pour tester cet exemple d'intégration, vous pouvez utiliser votre adresse e-mail pour confirmer la réussite de l'intégration. |
Envoyez un e-mail de demande d'approbation à un ou plusieurs utilisateurs d'intégration. L'e-mail inclut un lien vers l'intégration où les utilisateurs peuvent approuver ou rejeter manuellement la demande. | |
| Tâche de mappage des données
(Filtrer les éléments externes) |
Entrée | Sortie | Extrait la variable d'entrée JSON order_request et filtre tous les éléments de commande avec des fournisseurs externes à l'aide de la fonction de mappage FILTER.
Les valeurs filtrées sont ensuite stockées dans la variable de sortie |
orders_request .GET_PROPERTY("line_items") .FILTER(~obj1->~obj1 .GET_PROPERTY("vendor") .TO_STRING() .EQUALS("External")) |
filtered_external_items
|
||
| Tâche de boucle "For Each"
(Pour chaque boucle) |
Liste à itérer : filtered_external_items
ID de déclencheur d'API :
Nom de l'intégration : |
Effectue une itération sur la variable filtered_external_items et appelle la sous-intégration pour chaque élément du tableau. Il rassemble également la réponse de chaque exécution dans rest_call_response_status, où chaque élément du tableau contient la réponse d'une exécution spécifique.
|
|
| Déclencheur d'API
(Report ExternalOrders) |
ID du déclencheur : api_trigger/ecom-order-processing_API_2
|
Appelle la sous-intégration pour chaque élément de filtered_external_items. | |
| Tâche "Appeler un point de terminaison REST"
(Appeler un point de terminaison REST) |
URL de base du point de terminaison : https://mocktarget.apigee.net/echo
Méthode HTTP :
Corps de la requête : |
Effectue un appel REST à https://mocktarget.apigee.net/echo. | |
Publier et tester l'exemple d'intégration
Pour publier l'intégration, cliquez sur Publier dans la barre d'outils de l'éditeur d'intégrations.
Une fois l'intégration publiée, vous pouvez afficher et inspecter les journaux d'exécution qui s'y rapportent. Pour afficher les journaux, cliquez sur
Afficher les journaux d'exécution pour cette intégration. La page Journaux d'exécution s'affiche.
Tester depuis l'éditeur d'intégration
Pour tester l'exemple d'intégration, procédez comme suit :
- Cliquez sur Tester dans la barre d'outils de l'éditeur d'intégrations, puis sélectionnez OrderProcessAPITrigger.
Le volet Tester l'intégration s'affiche.
- Vous êtes invité à modifier la variable d'entrée
orders_request. Pour ce test, vous pouvez remplacer la valeurquantitypar240. La variable d'entrée de mise à jourorders_requestdoit ressembler à ce qui suit :{ "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 } ] }
- Cliquez sur Tester l'intégration.
Étant donné que la quantité orders_request mise à jour est supérieure à 200, l'intégration exemple envoie un e-mail de demande d'approbation à l'adresse e-mail spécifiée dans le champ Destinataires de la tâche d'approbation. L'opération de commande d'intégration sera effectuée une fois l'approbation reçue.
Pour en savoir plus sur les tests, consultez la page Tester et publier des intégrations.
Pour inspecter les journaux d'exécution et afficher l'état et la charge utile de l'intégration donnée, procédez comme suit :
- Dans l'éditeur d'intégrations, cliquez sur
Afficher les journaux d'exécution pour cette intégration. La page Journaux d'exécution s'affiche. - La page Journaux d'exécution vous permet d'afficher les détails de chaque tentative d'exécution d'une intégration.
Chaque entrée inclut les détails de la tentative d'exécution, y compris les suivants :
- Nom de l'intégration
- ID d'exécution
- État
- Start time
- Durée
- Version d'intégration
- ID du déclencheur
- Cliquez sur la flèche de développement (>) à côté de l'intégration exécutée pour afficher une liste développée des tâches et des variables dans l'intégration, ainsi que l'état de la tâche et les charges utiles variables.
Tester à l'aide d'un appel d'API REST
Scénario de test 1 : Envoyer une requête avec les entrées par défaut
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)"
Cas de test 2 : Envoyer une requête avec des entrées personnalisées
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)"
Remplacez les éléments suivants :
- PROJECT_ID : ID de votre projet Google Cloud.
- LOCATION : emplacement de l'intégration. Consultez Emplacements d'Application Integration.
- INTEGRATION_NAME : nom de l'intégration.
Résultat du test
L'API renvoie la réponse d'exécution de l'intégration contenant toutes les valeurs des variables de sortie de l'intégration.
Quotas et limites
Pour plus d'informations sur les quotas et les limites, consultez la section Quotas et limites.