Hoe kunnen we helpen?

Uitgaande integratie

Uitgaande integratie:
Whatsapp > CRM en je andere systemen

Deel dit artikel met je ontwikkelaar of gebruik Zapier om je systeem te integreren met Whatsapp

Setup

TimelinesAI maakt het mogelijk om een extern systeem te verwittigen wanneer een nieuw bericht wordt ontvangen of verzonden in een verbonden Whatsapp account in een workspace. Dit omvat Whatsapp berichten die verstuurd zijn via Whatsapp Mobile App of vanuit Timelines.

Vaak wordt een dergelijke integratie gebruikt via een tussenliggende service zoals Zapier, waarbij elke activering van een webhook meetelt voor het gebruik van taakquota.

Om het gebruik van taakquota efficiënter te maken, biedt TimelinesAI de mogelijkheid om meerdere berichten, verzonden of ontvangen in een specifieke chat over de geselecteerde tijdsperiode, samen te voegen. De berichten zijn via de webhook als een enkele "bundel". Voor uw gemak bevat zo'n "bundel" een veld met de voorgeformatteerde aggregatie van berichten (en een link naar het punt in conversaties in TimelinesAI), maar u kunt uw eigen formattering implementeren met behulp van de data voorzien in de webhook.

Schermopname 2021 11 23 om 12 06 26
Bundel berichten verzonden via een webhook

Om de integratie op te zetten met behulp van Outbound Webhooks:

  1. Navigeer naar de Webhooks menu in uw TimelinesAI account
  2. Selecteer de tab Outbound.

Schermopname 2021 11 23 om 11.47.21

Je krijgt de volgende instellingen te zien:

  • Aggregatie Granulariteit - de berichten worden geaggregeerd en verzonden via de webhook volgens de selectie (elke 1 / 6 / 12 / 24 uur) of worden verzonden zodra ze verschijnen in tijdlijnen ("Niet aggregeren")
  • Webhook URL - hier moet je de URL invoeren die moet worden gemeld.
  • Webhook ingeschakeld - je kunt de webhook uitschakelen als je de integratie wilt stoppen.

Zodra een Webhook wordt ingeschakeld en er berichten worden verzonden, wordt er een activiteitenlogboek weergegeven (maximaal 10 meest recente acties).

Fouten en probleemoplossing

Om een correcte werking van de integratie te garanderen, zal het systeem automatisch de integratie uitschakelen als er meer dan 10 opeenvolgende fouten van de ontvangende kant worden aangetroffen (elke fout, variërend van een ongeldige URL tot een responscode die niet 200 is). In dat geval ontvangt de eigenaar van de werkruimte een kennisgeving per e-mail.

Als je een fout moet oplossen, kun je een gedetailleerd logboek downloaden (de link wordt onderaan de pagina weergegeven), waarin tot 100 meest recente verzoeken worden weergegeven met alle details van de verzonden gegevens en het ontvangen antwoord.

Gegevensformaat

De gegevens worden verzonden naar de URL van een Webhook door middel van een HTTP POST-verzoek, in JSON-formaat. De gegevens worden geleverd in 2 verschillende formaten, afhankelijk van de instelling voor Aggregation Granularity, zoals hieronder beschreven.

Elke X uur samenvoegen

Berichten worden samengevoegd in een "bundel". De volgende gegevens zullen beschikbaar zijn:

  • "whatsapp account" - de details van de whatsapp account (en workspace teammate, die de account heeft verbonden), via welke het bericht is ontvangen of verzonden
    • "phone" - het telefoonnummer van de WA-account
    • "full_name" - de volledige naam van de eigenaar van het WA-account, zoals geregistreerd in Tijdlijnen
    • "e-mail" - het e-mailadres van de eigenaar van het WA-account, zoals geregistreerd in Tijdlijnen
  • "chat" - de details van de chat (directe chat of groep) waarin het bericht werd verzonden of ontvangen
    • "full_name" - de chatnaam (zoals weergegeven in Tijdlijnen)
    • "responsible_name" - de naam van een teamgenoot die als verantwoordelijke is toegewezen aan deze chat
    • "responsible_email" - het e-mailadres van een teamgenoot die is toegewezen als verantwoordelijke voor deze chat
    • "chat_url" - de URL die toegang geeft tot de chat in TimelinesUI
    • "chat_id" - het ID van de chat in TimelinesUI (kan gebruikt worden om chat URL te construeren of met inkomende webhooks)
    • "is_new_chat" - true, als deze chat net is gemaakt, anders false
    • "is_group" - true, als deze chat een directe chat is, anders false
    • "phone" - telefoonnummer van de chat (leeg voor groepschat)
  • "messages" - een lijst met berichten, waarbij elk berichtobject de volgende velden bevat
    • "richting" - kan "ontvangen" of "verzonden" zijn
    • "timestamp" - tijdstempel van een bericht, in UTC-tijdzone
    • "message_id" - niet in gebruik
    • "message_uid" - interne unieke ID van het bericht die kan worden gebruikt met Openbare API om berichtdetails en statusupdates te laden (zie hier voor details)
    • "Afzender" - details van een afzender (chatdeelnemer) van een bericht
      • "full_name" - titel van een chat of teamgenootnaam in Tijdlijnen (indien verzonden vanuit de Tijdlijnen)
      • "phone" - telefoonnummer van de afzender (of leeg voor groepschat)
    • "ontvanger" - details van een afzender (chatdeelnemer) van een bericht
      • "full_name" - titel van een chat of teamgenootnaam in Tijdlijnen
      • "phone" - telefoonnummer van de ontvanger (of leeg voor groepschat)
    • "text" - berichttekst (platte tekst)
    • "attachment" - een object dat de bijlage bij het bericht beschrijft, inclusief de volgende velden
      • "temporary_download_url" - een tijdelijke download URL, geldig voor 15 minuten
      • "bestandsnaam" - naam van het bestand
      • "size" - grootte van het bestand, in bytes
      • "mimetype" - mime-type van het bestand
  • "first_message_timestamp" - tijdstempel van het eerste bericht in de bundel, in UTC tijdzone
  • "last_message_timestamp" - tijdstempel van het meest recente bericht in de bundel, in UTC tijdzone
  • "aggregatie" - geaggregeerde tekst van het bericht, in HTML-formaat, geschikt voor gebruik met CRM's of vergelijkbare systemen als inhoud voor notities, inclusief de directe link naar het eerste bericht in Tijdlijnen.

Voorbeeld

{
    "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",
            "attachment": {
                "temporary_download_url": "https://acme.com/path",
                "filename": "someimage.png",
                "size": 128909,
                "mimetype": "image/png"
            }
        },
        {
            "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"
}

Niet samenvoegen

Elk bericht wordt afzonderlijk verzonden zodra het beschikbaar is. Er vindt geen "bundeling" plaats. De volgende gegevens zullen beschikbaar zijn:

  • "whatsapp account" - de details van de whatsapp account (en workspace teammate, die de account heeft verbonden), via welke het bericht is ontvangen of verzonden
    • "phone" - het telefoonnummer van de WA-account
    • "full_name" - de volledige naam van de eigenaar van het WA-account, zoals geregistreerd in Tijdlijnen
    • "e-mail" - het e-mailadres van de eigenaar van het WA-account, zoals geregistreerd in Tijdlijnen
  • "chat" - de details van de chat (directe chat of groep) waarin het bericht werd verzonden of ontvangen
    • "full_name" - de chatnaam (zoals weergegeven in Tijdlijnen)
    • "responsible_name" - de naam van een teamgenoot die als verantwoordelijke is toegewezen aan deze chat
    • "responsible_email" - het e-mailadres van een teamgenoot die is toegewezen als verantwoordelijke voor deze chat
    • "chat_url" - de URL die toegang geeft tot de chat in TimelinesUI
    • "chat_id" - het ID van de chat in TimelinesUI (kan gebruikt worden om chat URL te construeren of met inkomende webhooks)
    • "is_new_chat" - true, als deze chat net is gemaakt, anders false
    • "is_group" - true, als deze chat een directe chat is, anders false
    • "phone" - telefoonnummer van de chat (leeg voor groepschat)
  • "bericht" - de details van het bericht
    • "richting" - kan "ontvangen" of "verzonden" zijn
    • "timestamp" - tijdstempel van een bericht, in UTC-tijdzone
    • "message_id" - interne unieke ID van het bericht
    • "Afzender" - details van een afzender (chatdeelnemer) van een bericht
      • "full_name" - titel van een chat of teamgenootnaam in Tijdlijnen (indien verzonden vanuit de Tijdlijnen)
      • "phone" - telefoonnummer van de afzender (of leeg voor groepschat)
    • "ontvanger" - details van een afzender (chatdeelnemer) van een bericht
      • "full_name" - titel van een chat of teamgenootnaam in Tijdlijnen
      • "phone" - telefoonnummer van de ontvanger (of leeg voor groepschat)
    • "text" - berichttekst (platte tekst)
    • "attachment" - een object dat de bijlage bij het bericht beschrijft, inclusief de volgende velden
      • "temporary_download_url" - een tijdelijke download URL, geldig voor 15 minuten
      • "bestandsnaam" - naam van het bestand
      • "size" - grootte van het bestand, in bytes
      • "mimetype" - mime-type van het bestand

Voorbeeld

{
    "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",
            "attachment": {
                "temporary_download_url": "https://acme.com/path",
                "filename": "someimage.png",
                "size": 128909,
                "mimetype": "image/png"
            }
        }
}
Inhoudsopgave