Intégration des appels sortants
Intégration sortante :
Whatsapp > CRM et vos autres systèmes
Partagez cet article avec votre développeur ou utilisez Zapier pour intégrer votre système à Whatsapp.
Mise en place
TimelinesAI permet de notifier un système externe lorsqu'un nouveau message est reçu ou envoyé dans n'importe quel compte Whatsapp connecté à un espace de travail. Cela inclut les messages whatsapp envoyés via l'application mobile Whatsapp ou depuis Timelines.
Il arrive souvent qu'une telle intégration soit utilisée via un service intermédiaire tel que Zapier, où chaque activation d'un webhook compte pour l'utilisation du quota de tâches.
Pour rendre l'utilisation du quota de tâches plus efficace, TimelinesAI offre la possibilité d'agréger plusieurs messages envoyés ou reçus dans un chat spécifique au cours de la période sélectionnée. Les messages sont transmis via le webhook sous la forme d'un "bundle" unique. Pour votre commodité, ce "bundle" contient un champ avec l'agrégation préformatée des messages (et un lien vers le point dans les conversations dans TimelinesAI), mais vous pouvez implémenter votre propre formatage en utilisant les données fournies avec le webhook.

Pour configurer l'intégration à l'aide de Webhooks sortants :
- Naviguez jusqu'à la section Crochets Web dans votre compte TimelinesAI
- Sélectionnez l'onglet Outbound.
Les paramètres suivants vous seront présentés :
- Granularité de l'agrégation - les messages seront agrégés et envoyés à l'aide du webhook en fonction de la sélection (toutes les 1 / 6 / 12 / 24 heures) ou seront envoyés dès qu'ils apparaîtront dans les lignes de temps ("Ne pas agréger").
- Webhook URL - ici, vous devez saisir l'URL réelle qui doit être notifiée.
- Webhook activé - vous pouvez désactiver le webhook si vous souhaitez arrêter l'intégration.
Dès qu'un Webhook est activé et que des messages sont envoyés, un journal d'activité s'affiche (jusqu'aux 10 actions les plus récentes).
Remarque : actuellement, seuls les messages textuels et les emoji sont pris en charge. Les messages contenant des pièces jointes seront ignorés.
Erreurs et dépannage
Pour garantir le bon fonctionnement de l'intégration, si plus de 10 erreurs consécutives sont rencontrées du côté de la réception (n'importe quelle erreur, allant d'une URL invalide à un code de réponse qui n'est pas 200), le système désactivera automatiquement l'intégration. Dans ce cas, le propriétaire de l'espace de travail recevra une notification par courrier électronique.
Si vous avez besoin de résoudre une erreur, vous pouvez télécharger un journal détaillé (le lien sera disponible en bas de la page), où jusqu'à 100 requêtes les plus récentes seront affichées avec tous les détails des données envoyées et de la réponse reçue.
Format des données
Les données seront envoyées à l'URL d'un Webhook au moyen d'une requête HTTP POST, au format JSON. Les données sont fournies dans deux formats différents, en fonction de la granularité de l'agrégation, comme décrit ci-dessous.
Agrégation toutes les X heures
Les messages seront regroupés dans un "paquet". Les données suivantes seront disponibles :
- "compte whatsapp" - les détails du compte whatsapp (et du coéquipier de l'espace de travail qui a connecté le compte), par l'intermédiaire duquel le message a été reçu ou envoyé
- "phone" - le numéro de téléphone du compte WA
- "full_name" - le nom complet du propriétaire du compte WA, tel qu'il est enregistré dans Timelines
- "email" - l'email du propriétaire du compte WA, tel qu'il est enregistré dans Timelines
- "chat" - les détails du chat (chat direct ou groupe) dans lequel le message a été envoyé ou reçu
- "full_name" - le nom du chat (tel qu'il apparaît dans la ligne de temps)
- "responsible_name" - le nom d'un coéquipier qui est assigné comme responsable de ce chat
- "responsible_email" - l'email d'un membre de l'équipe qui est assigné comme responsable de ce chat.
- "chat_url" - l'URL à laquelle le chat est accessible dans TimelinesUI
- "chat_id" - l'ID du chat dans TimelinesUI (peut être utilisé pour construire l'URL du chat ou avec les webhooks entrants)
- "is_new_chat" - true, si ce chat vient d'être créé, false sinon
- "is_group" - true, si ce chat est un chat direct, false sinon
- "phone" - numéro de téléphone du chat (vide pour le chat de groupe)
- "messages" - une liste de messages, où chaque objet message contient les champs suivants
- "direction" - peut être "reçu" ou "envoyé".
- "timestamp" - horodatage d'un message, dans le fuseau horaire UTC
- "message_id" - identifiant unique interne du message
- "expéditeur" - détails de l'expéditeur (participant au chat) d'un message
- "full_name" - titre d'un chat ou nom d'un coéquipier dans la ligne de temps (s'il est envoyé depuis la ligne de temps)
- "phone" - numéro de téléphone de l'expéditeur (ou vide pour le chat de groupe)
- "destinataire" - coordonnées de l'expéditeur (participant au chat) d'un message
- "full_name" - titre d'un chat ou nom d'un coéquipier dans la ligne de temps
- "phone" - numéro de téléphone du destinataire (ou vide pour le chat de groupe)
- "text" - texte du message (texte clair)
- "first_message_timestamp" - horodatage du premier message de la liasse, dans le fuseau horaire UTC
- "last_message_timestamp" - horodatage du message le plus récent dans la liasse, dans le fuseau horaire UTC
- "agrégation" - texte agrégé du message, au format HTML, pouvant être utilisé avec des systèmes de gestion de la relation client ou des systèmes similaires en tant que contenu de notes, y compris le lien direct vers le premier message dans la ligne de temps.
Exemple
{ "whatsapp_account" : { "full_name" : "Amnon Haha", "email" : "Amnon@acme.com", "phone" : "+972500000000" }, "chat": { "full_name": "John Doe>", "responsible_name": "Amnon", "responsible_email": "Amnon@acme.com", "chat_url" : "https://app.timelines.ai/chat/10010001/messages/", "chat_id" : "10010001", "is_new_chat" : true, "is_group": false, "phone": "+97254000000" }, "messages" : [ { "direction": "sent", "timestamp": "2021-02-24T16:25:29+0000", "message_id": "ddfskhsd76dsfs6dsd5skjsdhf", "sender": { "full_name": "John Doe", "phone": "+972540000000" }, "recipient": { "full_name": "Jane Smith", "phone": "+972550000000" }, "text": "lorem ipsum" }, { "direction": "received", "timestamp": "2021-02-24T16:30:29+0000", "message_id": "ddfskhsd76dsfs6dsd5skjsdhf", "sender": { "full_name": "John Doe", "phone": "+972540000000" }, "recipient": { "full_name": "Jane Smith", "phone": "+972550000000" }, "text": "lorem ipsum" } ], "first_message_timestamp" : "2021-02-24T16:25:29+0000", "last_message_timestamp" : "2021-02-24T16:30:29+0000", "aggregation": "from John Doe on 2021-02-24 16:25: Hi! How are you?<br/>from Jane Smith on 2021-02-24 16:30: I am fine, how are you?<br/>Click <a href='https://app.timelines.ai/permalink/77a28d55-5345-5435-8c72-3a7bcad8ded9/'>here</h> to open the conversation in TimelinesAI" }
Ne pas agréger
Chaque message est envoyé individuellement, dès qu'il est disponible. Il n'y a pas de "regroupement". Les données suivantes seront disponibles :
- "compte whatsapp" - les détails du compte whatsapp (et du coéquipier de l'espace de travail qui a connecté le compte), par l'intermédiaire duquel le message a été reçu ou envoyé
- "phone" - le numéro de téléphone du compte WA
- "full_name" - le nom complet du propriétaire du compte WA, tel qu'il est enregistré dans Timelines
- "email" - l'email du propriétaire du compte WA, tel qu'il est enregistré dans Timelines
- "chat" - les détails du chat (chat direct ou groupe) dans lequel le message a été envoyé ou reçu
- "full_name" - le nom du chat (tel qu'il apparaît dans la ligne de temps)
- "responsible_name" - le nom d'un coéquipier qui est assigné comme responsable de ce chat
- "responsible_email" - l'email d'un membre de l'équipe qui est assigné comme responsable de ce chat.
- "chat_url" - l'URL à laquelle le chat est accessible dans TimelinesUI
- "chat_id" - l'ID du chat dans TimelinesUI (peut être utilisé pour construire l'URL du chat ou avec les webhooks entrants)
- "is_new_chat" - true, si ce chat vient d'être créé, false sinon
- "is_group" - true, si ce chat est un chat direct, false sinon
- "phone" - numéro de téléphone du chat (vide pour le chat de groupe)
- "message" - les détails du message
- "direction" - peut être "reçu" ou "envoyé".
- "timestamp" - horodatage d'un message, dans le fuseau horaire UTC
- "message_id" - identifiant unique interne du message
- "expéditeur" - détails de l'expéditeur (participant au chat) d'un message
- "full_name" - titre d'un chat ou nom d'un coéquipier dans la ligne de temps (s'il est envoyé depuis la ligne de temps)
- "phone" - numéro de téléphone de l'expéditeur (ou vide pour le chat de groupe)
- "destinataire" - coordonnées de l'expéditeur (participant au chat) d'un message
- "full_name" - titre d'un chat ou nom d'un coéquipier dans la ligne de temps
- "phone" - numéro de téléphone du destinataire (ou vide pour le chat de groupe)
- "text" - texte du message (texte clair)
Exemple
{ "whatsapp_account" : { "full_name" : "Amnon Haha", "email" : "Amnon@acme.com", "phone" : "+972500000000" }, "chat": { "full_name": "John Doe>", "responsible_name": "Amnon", "responsible_email": "Amnon@acme.com", "chat_url" : "https://app.timelines.ai/chat/10010001/messages/", "chat_id" : "10010001", "is_new_chat" : true, "is_group": false, "phone": "+97251111111" }, "message" : { "direction": "sent", "timestamp": "2021-02-24T06:25:29+0000", "message_id": "ddfskhsd76dsfs6dsd5skjsdhf", "sender": { "full_name": "John Doe", "phone": "+972540000000" }, "recipient": { "full_name": "Jane Smith", "phone": "+972550000000" }, "text": "lorem ipsum" } }
- L'utilisation de WhatsApp dans l'éducation : Une vue d'ensemble - 28 novembre 2023
- Guide du recrutement sur WhatsApp : Un aperçu complet - 27 novembre 2023
- Playbook d'intégration d'ActiveCampaign et de WhatsApp - 24 novembre 2023