Utiliser des réponses d’appel API dans des actions personnalisées custom-action-enhancements

Vous pouvez utiliser les réponses d’appel API dans des actions personnalisées et orchestrer vos parcours en fonction de ces réponses.

Remarques importantes custom-action-enhancements-notes

  • Les tableaux scalaires sont pris en charge dans la payload de réponse :

    code language-none
    "dummyScalarArray": [
    "val1",
    "val2"
    ]
    
  • Les tableaux hétérogènes ne sont pas pris en charge dans la payload de réponse :

    code language-none
    "dummyRandomArray": [
    20,
    "aafw",
    false
    ]
    

Configurer l’action personnalisée config-response

  1. Créez l’action personnalisée. Voir cette page.

  2. Cliquez dans le champ Réponse.

    {width="80%"}

  3. Collez un exemple de la payload renvoyée par l’appel. Vérifiez que les types de champ sont corrects (chaîne, entier, etc.). Voici un exemple de payload de réponse capturée lors de l’appel. Notre point d’entrée local envoie le nombre de points de fidélité et le statut d’un profil.

    code language-none
    {
    "customerID" : "xY12hye",
    "status":"gold",
    "points": 1290 }
    

    {width="80%"}

    À chaque appel de l’API, le système récupère tous les champs contenus dans l’exemple de payload.

  4. Ajoutons également l’ID de client comme paramètre de requête.

    {width="80%"}

  5. Cliquez sur Enregistrer.

Utiliser la réponse dans un parcours response-in-journey

Il vous suffit d’ajouter l’action personnalisée à un parcours. Vous pouvez ensuite exploiter les champs de payload de réponse dans des conditions, dans d’autres actions et dans la personnalisation des messages.

Par exemple, vous pouvez ajouter une condition pour vérifier le nombre de points de fidélité. Lorsque la personne entre dans le restaurant, votre point d’entrée local envoie un appel avec les informations de fidélité du profil. Vous pouvez envoyer une notification push si le profil est un client Gold. Et si une erreur est détectée dans l’appel, envoyez une action personnalisée pour en informer l’administrateur ou l’administratrice système.

  1. Ajoutez votre événement et l’action personnalisée Fidélité créée précédemment.

  2. Dans l’action personnalisée Fidélité, associez le paramètre de requête de l’ID de client à l’identifiant du profil. Cochez l’option Ajouter un autre chemin en cas d’expiration ou d’erreur.

  3. Dans la première branche, ajoutez une condition et utilisez l’éditeur avancé pour exploiter les champs de réponse de l’action, sous le nœud Contexte.

  4. Ajoutez ensuite votre notification push et personnalisez votre message à l’aide des champs de réponse. Dans notre exemple, nous personnalisons le contenu à l’aide du nombre de points de fidélité et du statut du client. Les champs de réponse de l’action sont disponibles sous Attributs contextuels > Orchestration de parcours > Actions.

    note note
    NOTE
    Chaque profil qui entre dans l’action personnalisée déclenche un appel. Même si la réponse est toujours la même, Journey effectue toujours un appel par profil.
  5. Dans la branche Délai d’expiration et erreur, ajoutez une condition et utilisez le champ jo_status_code intégré. Dans notre exemple, nous utilisons le
    type d’erreur http_400. Consultez cette section.

    code language-none
    @action{ActionLoyalty.jo_status_code} == "http_400"
    

  6. Ajoutez une action personnalisée qui sera envoyée à votre organisation.

Journaux du mode test test-mode-logs

Vous pouvez accéder, via le mode test, aux journaux de statut liés aux réponses d’action personnalisée. Si vous avez défini des actions personnalisées avec des réponses dans votre parcours, une section actionsHistory sur ces journaux affiche la payload renvoyée par le point d’entrée externe (en réponse à cette action personnalisée). Cela peut être très utile en termes de débogage.

Statut de l’erreur error-status

Le champ jo_status_code est toujours disponible même lorsqu’aucune payload de réponse n’est définie.

Voici les valeurs possibles pour ce champ :

  • code d’état http : http_<HTTP API call returned code>, par exemple, http_200 ou http_400
  • erreur de temporisation : expiré
  • erreur de limitation : limité
  • erreur interne : erreurInterne

Un appel d’action est considéré comme une erreur lorsque le code http renvoyé est supérieur à 2xx ou en cas d’erreur. Dans ce cas, le parcours est dirigé vers la branche Délai d’expiration ou erreur dédiée.

WARNING
Seules les actions personnalisées nouvellement créées incluent le champ jo_status_code prêt à l’emploi. Si vous souhaitez l’utiliser avec une action personnalisée existante, vous devez mettre à jour l’action. Vous pouvez par exemple mettre à jour la description et l’enregistrer.

Syntaxe des expressions exp-syntax

Voici la syntaxe :

#@action{myAction.myField}

Voici quelques exemples :

 // action response field
 @action{<action name>.<path to the field>}
 @action{ActionLoyalty.status}
 // action response field
 @action{<action name>.<path to the field>, defaultValue: <default value expression>}
 @action{ActionLoyalty.points, defaultValue: 0}
 @action{ActionLoyalty.points, defaultValue: @event{myEvent.newPoints}}

Lors de la manipulation de collections dans une réponse d’action personnalisée, vous pouvez vous appuyer sur currentActionField pour accéder à l’élément actif :

count(
@action{MyAction.MyCollection.all(
currentActionField.description == "abc"
)}
)

Ressources supplémentaires

Pour plus d’informations, veuillez consulter les pages suivantes :

recommendation-more-help
b22c9c5d-9208-48f4-b874-1cefb8df4d76