Consultez les connecteurs compatibles avec Application Integration.

Essayez l'exemple d'intégration

Lorsque vous configurez Application Integration pour la première fois dans votre projet Google Cloud, il 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 :

  1. Dans la console Google Cloud, accédez à la page Application Integration.

    Accéder à Application Integration

  2. Dans le menu de navigation, cliquez sur Integrations (Intégrations). La page Integrations s'affiche.
  3. Cliquez sur l'intégration ExampleIntegration-EcomOrderProcessing.

    L'exemple d'intégration s'ouvre dans l'éditeur d'intégration, avec une mise en page semblable à celle-ci :

    Image d'exemple de mise en page d'intégration Exemple d'image de mise en page d'intégration

Exemple d'intégration d'e-commerce

Vous pouvez utiliser cet exemple d'intégration pour vous familiariser avec les différents déclencheurs, tasks et concepts d'Application Integration.

L'exemple d'intégration illustre un scénario de backend d'e-commerce basique mettant en œuvre l'opération de traitement des commandes suivante:

  1. Recevoir la charge utile de la requête d'ordre 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
        }
      ]
    }
  2. Extrayez la charge utile de la commande et calculez la valeur totale de la commande.
  3. 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.
  4. Vérifiez si l'un des articles commandés est associé à un fournisseur externe. Si c'est le cas, envoyez les informations au fournisseur à l'aide d'un appel d'API REST.
  5. Envoyez la réponse de commande avec la valeur totale de la commande, les articles du fournisseur externe 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 Invoque l'intégration pour chaque demande de commande.
Tâche de mappage de données

(Trouver le prix total de la commande)

Entrée Sortie Extraction de la variable d'entrée JSON order_request et itération sur tous les articles de la commande à l'aide de la fonction de mappage FOR_EACH pour calculer la valeur du prix total de la commande.

Le montant total de la commande est calculé en multipliant l'élément quantity par le price_per_item à l'aide des fonctions de mappage GET_PROPERTY et MULTIPLY.

La valeur finale est ensuite convertie en un type de données double et stockée dans la variable de sortie total_order_value.

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
État du point d'accès

(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 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 que l'intégration a bien été effectuée.

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 de 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 filtered_external_items.

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:api_trigger/ecom-order-processing_API_2

Nom de l'intégration : ExampleIntegration-EcomOrderProcessing

Itère sur la variable filtered_external_items et appelle la sous-intégration pour chaque élément du tableau. Il rassemble également les réponses obtenues à chaque exécution dans rest_call_response_status, où chaque élément du tableau contient la réponse obtenue pour une exécution spécifique.
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 un point de terminaison REST)

URL de base du point de terminaison : https://mocktarget.apigee.net/echo

Méthode HTTP:POST

Corps de la requête : sub_integration_input

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 image montrant l&#39;icône des journaux d&#39;exécutionAfficher les journaux d'exécution pour cette intégration. La page Journaux d'exécution s'affiche.

Tester depuis l'éditeur d'intégration

Procédez comme suit pour tester l'exemple d'intégration:

  1. 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.

  2. Vous êtes invité à modifier la variable d'entrée orders_request. Pour les besoins de ce test, vous pouvez remplacer la valeur quantity par 240. La variable d'entrée de mise à jour orders_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
            }
          ]
        }
        
  3. Cliquez sur Tester l'intégration.

Étant donné que la quantité orders_request mise à jour est supérieure à 200, l'exemple d'intégration envoie une demande d'approbation par e-mail à l'adresse spécifiée dans le champ Destinataires de la tâche 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.

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 :

  1. Dans l'éditeur d'intégrations, cliquez sur image montrant l&#39;icône des journaux d&#39;exécutionAfficher les journaux d'exécution pour cette intégration. La page Journaux d'exécution s'affiche.
  2. 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
  3. 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)"

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 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.

Quotas et limites

Pour plus d'informations sur les quotas et les limites, consultez la section Quotas et limites.