Cette étape permet d’envoyer des requêtes HTTP et d’enregistrer leurs réponses sous forme de variables.
Cette étape est disponible uniquement à partir du plan Advanced.

Configuration
Il existe deux configurations clés dans l'étape de requête HTTP :
Méthode de requête HTTP
La méthode spécifique requise pour la demande. Choisissez la méthode appropriée dans la liste déroulante.

URL
Dans le champ URL, saisissez le point de terminaison URL de l’API externe pour récupérer les données. Pour inclure des variables, utilisez le préfixe "$" pour prendre en charge l'interpolation de texte statique et de variables.

Vous pouvez désormais utiliser des adresses IP et des numéros de port dans l’étape de requête HTTP, ce qui vous donne un accès direct aux serveurs et la flexibilité d’accéder aux services sur des ports non standard.
Notez que le domaine respond.io est sur liste noire. L'envoi d'un appel API à ce domaine n'est pas autorisé, car cela pourrait entraîner des boucles.
Corps
Pour garantir un décodage correct par le destinataire de la demande, développez la section Corps et incluez un corps avec l'en-tête Content-Type.

En-têtes
Dans la section En-tête, vous pouvez ajouter des en-têtes à la requête HTTP par paires. La clé représente le nom de l'en-tête et la valeur représente la valeur de l'en-tête. Vous pouvez utiliser des variables comme en-têtes en ajoutant le préfixe "$". Cependant, n'oubliez pas que seuls 10 en-têtes maximum sont autorisés.

Cartographie des réponses
Pour les réponses API JSON, vous pouvez enregistrer des valeurs de réponse spécifiques en tant que Variables. Dans la section Mappage de réponse, saisissez le chemin/référence JSON de la valeur à gauche et attribuez un nom de variable à droite.
Le champ JSON Key doit contenir le chemin/référence JSON de la valeur que vous souhaitez enregistrer, en commençant à la racine de la réponse par `$`. Par exemple, pour `{"phone":"123123"}`, saisissez `$.phone`, pas `phone`.

Exemples :
Pour enregistrer des valeurs provenant de différents formats de réponse, remplissez le champ JSON Key en utilisant le chemin JSON vers les données que vous souhaitez enregistrer.
{
"nom": "Jason",
"codes_postaux": "12345",
"téléphone": "123123"
}Pour enregistrer le numéro de téléphone de la réponse ci-dessus, saisissez $.phone dans le champ JSON Key.
{
"custom_fields": {
"firstName": "John",
"lastName": "Doe",
"locale": "en_GB",
"timezone": "5",
"gender": "male",
"phone": "123123",
"email": "zy@respond.io",
"customerid": "1"
},
"created_at": 1575618542
}Pour enregistrer le numéro de téléphone de la réponse ci-dessus, saisissez $.custom_fields.phone dans le champ JSON Key.
{
"data": {
"id":"1776025372480910",
"contacts" : [
{
"firstName":"John",
"lastName":"Doe",
"locale": "en_GB"
},
{
"firstName":"Jane",
"lastName":"Doe",
"locale": "en_GB"
}
]
}
}Pour enregistrer le prénom 'Jane' de la réponse ci-dessus, saisissez $.data.contacts[1].firstName dans le champ JSON Key.
Enregistrer l'état de la réponse en tant que variable
Pour enregistrer l'état de réponse de la requête HTTP en tant que variable, activez le bouton Enregistrer l'état de réponse en tant que variable . Ensuite, nommez la variable dans le champ prévu à cet effet.

Comment ça marche
Lorsqu'elle est activée, cette étape enverra une requête HTTP à l'URL spécifiée, en utilisant le corps et l'en-tête définis.
Vous pouvez guider le flux de travail en fonction de l’état de la réponse. Par exemple, vous pouvez créer une branche pour le code d'état "égal à 200". Si un autre code d’état de réponse est reçu, une étape de saut peut renvoyer les contacts à l’étape de requête HTTP. Alternativement, le contact pourrait être dirigé vers la branche d'échec si les conditions de la branche ne sont pas remplies. Si aucune étape n'est définie sous la branche Échec, le flux de travail se terminera.
Si votre requête HTTP dépasse 10 secondes, cela entraînera un délai d'attente, entraînant l'échec de la requête.
Échec potentiel
Pour éviter d’éventuels échecs lors de l’exécution des requêtes HTTP, assurez-vous que les conditions suivantes sont remplies :
Utilisez la méthode HTTP et l’en-tête Content-Type corrects.
Assurez-vous d'inclure le protocole requis
http://ouhttps://dans votre URL en fonction de ce que votre système prend en charge pour éviter l'échec de la requête.Assurez-vous que le type de contenu est valide.
Exclure le numéro de port de l'URL.
Évitez d’utiliser un certificat auto-signé dans l’URL.
Vérifiez que l'autorisation est valide.
Assurez-vous que nos adresses IP (52.74.35.155, 18.138.31.163, 54.169.155.20) ne sont pas bloquées.
Si l’une des conditions ci-dessus n’est pas remplie, le contact ignorera cette étape et poursuivra le trajet restant.
Lors de la vérification des sorties de requêtes HTTP avec des variables dynamiques, n'oubliez pas que les variables sans valeur renverront null et undefined.
Meilleures pratiques
Voici quelques bonnes pratiques pour cette étape que vous pouvez suivre pour optimiser votre flux de travail :
Lorsque la requête HTTP réussit
Enregistrer l'état de la réponse en tant que variable :
Assurez-vous que la première étape est de enregistrer le statut de la réponse comme variable pour les actions suivantes.
Étape de la branche :
Ajoutez une étape de branche pour évaluer l’état de la requête HTTP.
Si le statut est
200, la demande est réussie.Dans le cas contraire, configurez une alerte pour informer le responsable de l’échec de la demande.
Google Sheetpour la surveillance :
Enregistrez l'état de la réponse dans une feuille Google pour une visibilité claire sur le succès ou l'échec des demandes.
Commentaire:
Ajoutez un commentaire dans votre flux de travail pour documenter l’état de la réponse. Cela vous aidera à suivre et à examiner les erreurs plus efficacement.
Lorsque la requête HTTP échoue
Enregistrer l'état de la réponse en tant que variable :
Comme pour la requête réussie, enregistrez le statut de la réponse comme variable pour la gestion des erreurs.
Utilisez l'étape d'attente ou de saut pour les nouvelles tentatives:
Implémentez l’étape d’attente pour faire une pause avant de réessayer une demande infructueuse.
Vous pouvez également utiliser l’étape de saut pour revenir à l’étape de requête HTTP et tenter à nouveau la requête.
Commentaire:
Documentez l'erreur en créant un commentaire pour enregistrer l'erreur de requête HTTP
Inclure les coordonnées et identifier la personne responsable.
Feuille Google pour la surveillance:
Utilisez l'étape Google Sheet pour enregistrer les informations de contact et les détails d'erreur à des fins de surveillance et d'examen.
Affectation de tâches:
Affectez la tâche à un utilisateur spécifique pour lancer un autre processus dans le flux de travail et réessayez.
Cas d'utilisation suggérés
Voici quelques façons d’utiliser l’étape de requête HTTP :
Rediriger les contacts VIP: Utilisez l'étape HTTP Request pour récupérer les détails du contact depuis un entrepôt de données comme un CRM. Cela vous permet d'identifier les contacts VIP, permettant une expérience client personnalisée et les distinguant des contacts non VIP.
FAQ et dépannage
Puis-je appeler un endpoint API qui nécessite une authentification OAuth 2.0 ?
Non. HTTP Request ne prend pas en charge les flux d’authentification OAuth 2.0, tels que le consentement de l’utilisateur, l’échange du code d’autorisation, le rafraîchissement du jeton d’accès ou la génération dynamique de jetons.
Vous pouvez utiliser HTTP Request avec des endpoints qui acceptent des méthodes d’authentification simples, telles que les clés API ou des jetons statiques ajoutés à l’URL, aux paramètres de requête ou aux en-têtes.
Par exemple, si vous appelez un endpoint Google API et que la requête échoue, vérifiez si cet endpoint nécessite une authentification OAuth 2.0. Si c’est le cas, cela n’est pas pris en charge. Si l’endpoint prend en charge des clés API ou des jetons statiques à la place, vous pouvez utiliser cette méthode d’authentification dans la configuration de votre HTTP Request.