Consultez la liste des connecteurs compatibles avec Application Integration.
Essayez l'exemple d'intégration
Lorsque vous configurez Application Integration dans votre projet Google Cloud pour la première fois, Application Integration crée par défaut un exemple d'intégration non publiée, nommé ExampleIntegration-EcomOrderProcessing.
Afficher l'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.
- Dans le menu de navigation, cliquez sur Integrations (Intégrations). La page Liste des intégrations s'affiche.
- Cliquez sur l'intégration nommée ExampleIntegration-EcomOrderProcessing.
L'exemple d'intégration s'ouvre dans l'éditeur d'intégration, comme suit:
Exemple d'intégration d'e-commerce
Vous pouvez utiliser cet exemple d'intégration pour vous familiariser avec 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 mettant en œuvre l'opération de traitement des commandes suivante:
- Recevez la charge utile de requête de commande suivante 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 la charge utile de la commande et calculez la valeur totale de la commande.
- Vérifiez si la valeur totale de la commande est supérieure ou égale à 100 $. Si c'est le cas, obtenez une nouvelle approbation pour continuer.
- Vérifiez si l'un des articles commandés est associé à un fournisseur externe. Si oui, envoyez les détails au fournisseur via un appel d'API REST.
- Envoyez la réponse de commande avec le montant total de la commande, les articles de fournisseurs externes filtrés et leur état de réponse HTTP respectif.
Le tableau suivant répertorie l'ensemble des déclencheurs, tâches et conditions de périphérie utilisés dans ExampleIntegration-EcomOrderProcessing:
Composant | Configuration | Description | |
---|---|---|---|
Déclencheur d'API
(OrderProcessAPITrigger) |
ID du déclencheur: api_trigger/ecom-order-processing_API_1
|
Elle appelle l'intégration pour chaque requête de commande. | |
Tâche de mappage des données
(Trouver le prix total de la commande) |
Entrée | Sortie | Elle 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 afin de calculer le prix total de la commande.
Le montant total de la commande est calculé en multipliant l'élément
La valeur finale est ensuite convertie en un 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 bordure
(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 c'est le cas, le contrôle est transmis à une tâche d'approbation. | |
Condition de bordure
(Valeur totale de la commande inférieure au seuil) |
État : $total_order_value$ < $threshold_order_value$
|
Vérifie si la valeur totale de la commande est inférieure à 100 $. Si c'est le cas, le contrôle est transmis à la tâche Filtrer les éléments externes. | |
Tâche Approbation
(Approbation) |
Destinataires:Enter the approver's email address Afin de tester cet exemple d'intégration, vous pouvez utiliser votre adresse e-mail pour confirmer que l'intégration a bien été effectuée. |
Envoyez une demande d'approbation par e-mail à un ou plusieurs utilisateurs de l'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 | Elle extrait la variable d'entrée JSON order_request et filtre tous les articles commandés 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 du déclencheur d'API:
Nom de l'intégration : |
Il itère la variable filtered_external_items et appelle la sous-intégration pour chaque élément du tableau. Il regroupe é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 particulière.
|
|
Déclencheur d'API
(Rapport ExternalOrders) |
ID du déclencheur: api_trigger/ecom-order-processing_API_2
|
Appelle la sous-intégration de chaque élément dans "filter_external_items". | |
Tâche "Appeler un point de terminaison REST"
(Appeler le point de terminaison REST) |
URL de base du point de terminaison : https://mocktarget.apigee.net/echo
Méthode HTTP:
Corps de la requête : |
Envoie 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 de cette intégration. La page Journaux d'exécution s'affiche.
Effectuer un test depuis l'éditeur d'intégration
Procédez comme suit pour tester l'exemple d'intégration:
- Cliquez sur Test dans la barre d'outils de l'éditeur d'intégration, puis sélectionnez OrderProcessAPITrigger.
Le volet Tester l'intégration s'affiche.
- Vous êtes invité à modifier la variable d'entrée
orders_request
. Pour les besoins de ce test, vous pouvez remplacer la valeurquantity
par240
. La variable d'entrée de mise à jourorders_request
doit se présenter comme 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.
La quantité orders_request
mise à jour étant supérieure à 200, l'exemple d'intégration 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 d'ordre d'intégration se terminera une fois l'approbation reçue.
Pour en savoir plus sur les tests, consultez la page Tester et publier des intégrations.
Procédez comme suit pour inspecter les journaux d'exécution et afficher l'état et la charge utile de l'intégration donnée:
- 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.
Effectuer un test à 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)"
Scénario 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 d'intégration. Consultez la page Emplacements 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.