Come possiamo aiutarvi?

Integrazione in uscita

Integrazione in uscita:
Whatsapp > CRM e altri sistemi

Condividete questo articolo con il vostro sviluppatore o utilizzate Zapier per integrare il vostro sistema con Whatsapp.

Impostazione

TimelinesAI consente di notificare a un sistema esterno la ricezione o l'invio di un nuovo messaggio in qualsiasi account Whatsapp collegato in un'area di lavoro. Ciò include i messaggi whatsapp inviati tramite l'app mobile Whatsapp o dall'interno di Timelines.

Spesso questa integrazione viene utilizzata tramite un servizio intermedio come Zapier, dove ogni attivazione di un webhook viene conteggiata ai fini dell'utilizzo della quota di attività.

Per rendere più efficiente l'utilizzo della quota di attività, TimelinesAI offre la possibilità di aggregare più messaggi inviati o ricevuti in una specifica chat nel periodo di tempo selezionato. I messaggi vengono inviati tramite webhook come un singolo "bundle". Per comodità, tale "bundle" contiene un campo con l'aggregazione pre-formattata dei messaggi (e un link al punto delle conversazioni in TimelinesAI), ma è possibile implementare la propria formattazione utilizzando i dati forniti con il webhook.

Schermata 2021 11 23 alle 12 06 26
Bundle di messaggi inviati tramite webhook

Per impostare l'integrazione utilizzando i Webhook in uscita:

  1. Andare alla sezione Ganci web nel vostro account TimelinesAI
  2. Selezionare la scheda In uscita.

Colpo di schermo 2021 11 23 alle 11.47.21

Verranno presentate le seguenti impostazioni:

  • Granularità dell'aggregazione - i messaggi saranno aggregati e inviati tramite webhook in base alla selezione (ogni 1 / 6 / 12 / 24 ore) o saranno inviati non appena appaiono nelle timeline ("Non aggregare").
  • URL Webhook - qui è necessario inserire l'URL effettivo che deve essere notificato.
  • Webhook abilitato - è possibile disabilitare il webhook se si desidera interrompere l'integrazione.

Una volta abilitato un Webhook e inviati alcuni messaggi, verrà visualizzato un registro delle attività (fino a 10 azioni più recenti).

Errori e risoluzione dei problemi

Per garantire il corretto funzionamento dell'integrazione, se si verificano più di 10 errori consecutivi dal lato ricevente (qualsiasi errore, dall'URL non valido al codice di risposta non 200), il sistema disabiliterà automaticamente l'integrazione. In tal caso, il proprietario dell'area di lavoro riceverà una notifica via e-mail.

Nel caso in cui sia necessario risolvere un errore, è possibile scaricare un registro dettagliato (il link sarà disponibile in fondo alla pagina), in cui vengono visualizzate fino a 100 richieste più recenti con tutti i dettagli dei dati inviati e della risposta ricevuta.

Formato dei dati

I dati saranno inviati all'URL di un Webhook tramite una richiesta HTTP POST, in formato JSON. I dati vengono forniti in due formati diversi, a seconda dell'impostazione della Granularità di aggregazione, come descritto di seguito.

Aggregato ogni X ore

I messaggi saranno aggregati in un "bundle". Saranno disponibili i seguenti dati:

  • "account whatsapp": i dettagli dell'account whatsapp (e del compagno di squadra dello spazio di lavoro, che ha collegato l'account), attraverso il quale il messaggio è stato ricevuto o inviato
    • "telefono": il numero di telefono dell'account WA
    • "full_name": il nome completo del proprietario dell'account WA, come registrato in Timelines.
    • "email": l'email del proprietario dell'account WA, come registrato in Timelines.
  • "chat" - i dettagli della chat (diretta o di gruppo), in cui il messaggio è stato inviato o ricevuto
    • "full_name" - il nome della chat (come appare in Timeline)
    • "nome_responsabile": il nome di un compagno di squadra assegnato come responsabile a questa chat.
    • "email_responsabile": l'email di un compagno di squadra assegnato come responsabile a questa chat.
    • "chat_url": l'URL a cui è possibile accedere alla chat in TimelinesUI.
    • "chat_id" - l'ID della chat in TimelinesUI (può essere usato per costruire l'URL della chat o con i webhook inbound)
    • "is_new_chat" - vero, se la chat è stata appena creata, falso altrimenti
    • "is_group" - vero, se la chat è una chat diretta, falso altrimenti
    • "phone" - numero di telefono della chat (vuoto per le chat di gruppo)
  • "messaggi": un elenco di messaggi, in cui ogni oggetto messaggio contiene i seguenti campi
    • "direzione": può essere "ricevuta" o "inviata".
    • "timestamp" - timestamp di un messaggio, in fuso orario UTC
    • "message_id" - non utilizzato
    • "message_uid" - ID univoco interno del messaggio che può essere usato con l'API pubblica per caricare i dettagli del messaggio e gli aggiornamenti di stato (vedi dettagli qui)
    • "sender" - dettagli del mittente (partecipante alla chat) di un messaggio
      • "full_name" - titolo di una chat o nome del compagno di squadra in Timeline (se inviato dall'interno di Timeline)
      • "phone" - numero di telefono del mittente (o vuoto per la chat di gruppo)
    • "destinatario" - dettagli del mittente (partecipante alla chat) di un messaggio
      • "full_name" - titolo di una chat o nome di un compagno di squadra in Timeline
      • "phone" - numero di telefono del destinatario (o vuoto per la chat di gruppo)
    • "text" - testo del messaggio (plaintext)
    • "attachment" - un oggetto che descrive l'allegato del messaggio, compresi i seguenti campi
      • "temporary_download_url": un URL di download temporaneo, valido per 15 minuti.
      • "filename" - nome del file
      • "size" - dimensione del file, in byte
      • "mimetype" - tipo mime del file
  • "first_message_timestamp" - timestamp del primo messaggio nel bundle, in fuso orario UTC
  • "last_message_timestamp" - timestamp del messaggio più recente nel bundle, in fuso orario UTC
  • "aggregazione" - testo aggregato del messaggio, in formato HTML, adatto all'uso con CRM o sistemi simili come contenuto per le note, compreso il link diretto al primo messaggio in Timeline.

Esempio

{
    "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"
}

Non aggregare

Ogni messaggio viene inviato singolarmente, non appena disponibile. Non viene effettuato alcun "bundling". Saranno disponibili i seguenti dati:

  • "account whatsapp": i dettagli dell'account whatsapp (e del compagno di squadra dello spazio di lavoro, che ha collegato l'account), attraverso il quale il messaggio è stato ricevuto o inviato
    • "telefono": il numero di telefono dell'account WA
    • "full_name": il nome completo del proprietario dell'account WA, come registrato in Timelines.
    • "email": l'email del proprietario dell'account WA, come registrato in Timelines.
  • "chat" - i dettagli della chat (diretta o di gruppo), in cui il messaggio è stato inviato o ricevuto
    • "full_name" - il nome della chat (come appare in Timeline)
    • "nome_responsabile": il nome di un compagno di squadra assegnato come responsabile a questa chat.
    • "email_responsabile": l'email di un compagno di squadra assegnato come responsabile a questa chat.
    • "chat_url": l'URL a cui è possibile accedere alla chat in TimelinesUI.
    • "chat_id" - l'ID della chat in TimelinesUI (può essere usato per costruire l'URL della chat o con i webhook inbound)
    • "is_new_chat" - vero, se la chat è stata appena creata, falso altrimenti
    • "is_group" - vero, se la chat è una chat diretta, falso altrimenti
    • "phone" - numero di telefono della chat (vuoto per le chat di gruppo)
  • "messaggio": i dettagli del messaggio
    • "direzione": può essere "ricevuta" o "inviata".
    • "timestamp" - timestamp di un messaggio, in fuso orario UTC
    • "message_id" - ID univoco interno del messaggio
    • "sender" - dettagli del mittente (partecipante alla chat) di un messaggio
      • "full_name" - titolo di una chat o nome del compagno di squadra in Timeline (se inviato dall'interno di Timeline)
      • "phone" - numero di telefono del mittente (o vuoto per la chat di gruppo)
    • "destinatario" - dettagli del mittente (partecipante alla chat) di un messaggio
      • "full_name" - titolo di una chat o nome di un compagno di squadra in Timeline
      • "phone" - numero di telefono del destinatario (o vuoto per la chat di gruppo)
    • "text" - testo del messaggio (plaintext)
    • "attachment" - un oggetto che descrive l'allegato del messaggio, compresi i seguenti campi
      • "temporary_download_url": un URL di download temporaneo, valido per 15 minuti.
      • "filename" - nome del file
      • "size" - dimensione del file, in byte
      • "mimetype" - tipo mime del file

Esempio

{
    "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"
            }
        }
}
Indice dei contenuti