Integración saliente

Outbound Integration:
Whatsapp > CRM and your other systems

Comparte este artículo con tu desarrollador o utiliza Zapier para integrar tu sistema con Whatsapp

Configurar

TimelinesAI permite notificar a un sistema externo cuando se recibe o envía un nuevo mensaje en cualquier cuenta de whatsapp conectada en un espacio de trabajo. Esto incluye los mensajes de Whatsapp enviados a través de Whatsapp Mobile App o desde Timelines.

Suele ocurrir que dicha integración se utilice a través de algún servicio intermediario como Zapier, donde cada activación de un webhook cuenta para la utilización de la cuota de tareas.

Para hacer más eficiente el uso de la cuota de tareas, TimelinesAI ofrece la posibilidad de agregar múltiples mensajes enviados o recibidos en un chat específico durante el período de tiempo seleccionado. Los mensajes llegan a través del webhook como un único "bundle". Para tu comodidad, dicho "bundle" contiene un campo con la agregación preformateada de mensajes (y un enlace al punto de las conversaciones en TimelinesAI), pero puedes implementar tu propio formato utilizando los datos proporcionados con el webhook.

Captura de pantalla 2021 11 23 a las 12 06 26
Paquete de mensajes enviados a través de un webhook

Para configurar la integración mediante Webhooks de salida:

  1. Vaya a la sección Webhooks en su cuenta TimelinesAI
  2. Seleccione la pestaña Salida.

Captura de pantalla 2021 11 23 a las 11.47.21

Se le presentarán los siguientes ajustes:

  • Granularidad de la agregación: los mensajes se agregarán y enviarán mediante el webhook según la selección (cada 1 / 6 / 12 / 24 horas) o se enviarán en cuanto aparezcan en las líneas de tiempo ("No agregar).
  • Webhook URL - aquí necesita introducir la URL real que necesita ser notificada.
  • Webhook activado: puede desactivar el webhook si desea detener la integración.

Una vez que se activa un Webhook y se envían algunos mensajes, se mostrará un registro de actividad (hasta las 10 acciones más recientes).

Nota: actualmente sólo se admiten mensajes de texto y emoji. Los mensajes que contengan archivos adjuntos se omitirán.

Errores y solución de problemas

Para garantizar el correcto funcionamiento de la integración, si se producen más de 10 errores consecutivos desde el extremo receptor (cualquier error, desde una URL no válida hasta un código de respuesta que no sea 200), el sistema desactivará automáticamente la integración. En tal caso, el propietario del espacio de trabajo recibirá una notificación por correo electrónico.

En caso de que necesite solucionar un error, puede descargar un registro detallado (el enlace estará disponible en la parte inferior de la página), donde aparecerán hasta 100 peticiones más recientes con todos los detalles de los datos enviados y la respuesta recibida.

Formato de los datos

Los datos se enviarán a la URL de un Webhook mediante una petición HTTP POST, en formato JSON. Los datos se proporcionan en 2 formatos diferentes, dependiendo de la configuración de Granularidad de agregación, como se describe a continuación.

Agregado cada X horas

Los mensajes se agregarán en un "paquete". Se dispondrá de los siguientes datos:

  • "cuenta de whatsapp" - los detalles de la cuenta de whatsapp (y compañero de equipo de espacio de trabajo, que conectó la cuenta), a través del cual el mensaje fue recibido o enviado
    • "phone" - el número de teléfono de la cuenta WA
    • "nombre_completo": nombre completo del propietario de la cuenta WA, tal y como está registrado en Timelines.
    • "email" - el correo electrónico del propietario de la cuenta WA, tal y como está registrado en Timelines
  • "chat" - los detalles del chat (chat directo o de grupo), en el que se envió o recibió el mensaje
    • "full_name" - el nombre del chat (tal y como aparece en Timelines)
    • "nombre_responsable" - el nombre de un compañero de equipo que está asignado como responsable a este chat
    • "responsible_email" - el email de un compañero de equipo que está asignado como responsable a este chat
    • "chat_url" - la URL, a la que se puede acceder al chat en TimelinesUI
    • "chat_id" - el ID del chat en TimelinesUI (puede ser usado para construir la URL del chat o con webhooks entrantes)
    • "is_new_chat" - true, si este chat se acaba de crear, false en caso contrario
    • "is_group" - true, si este chat es un chat directo, false en caso contrario
    • "phone" - número de teléfono del chat (vacío para chat de grupo)
  • "mensajes" - una lista de mensajes, donde cada objeto mensaje contiene los siguientes campos
    • "dirección" - puede ser "recibido" o "enviado".
    • "timestamp" - marca de tiempo de un mensaje, en zona horaria UTC
    • "message_id" - ID único interno del mensaje
    • "remitente" - datos del remitente (participante en el chat) de un mensaje
      • "full_name" - título de un chat o nombre de un compañero de equipo en Timelines (si se envía desde dentro de Timelines)
      • "teléfono" - número de teléfono del remitente (o vacío para chat de grupo)
    • "destinatario" - datos del remitente (participante en el chat) de un mensaje
      • "full_name" - título de un chat o nombre de un compañero de equipo en Timelines
      • "teléfono" - número de teléfono del destinatario (o vacío para chat de grupo)
    • "text" - texto del mensaje (texto sin formato)
  • "first_message_timestamp" - fecha y hora del primer mensaje del paquete, en la zona horaria UTC.
  • "last_message_timestamp" - fecha y hora del mensaje más reciente del paquete, en la zona horaria UTC.
  • "agregación" - texto agregado del mensaje, en formato HTML, adecuado para su uso con CRMs o sistemas similares como contenido para notas, incluyendo el enlace directo al primer mensaje en Timelines.

Ejemplo

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

No agregue

Cada mensaje se envía individualmente, en cuanto está disponible. No se produce ninguna "agrupación". Estarán disponibles los siguientes datos:

  • "cuenta de whatsapp" - los detalles de la cuenta de whatsapp (y compañero de equipo de espacio de trabajo, que conectó la cuenta), a través del cual el mensaje fue recibido o enviado
    • "phone" - el número de teléfono de la cuenta WA
    • "nombre_completo": nombre completo del propietario de la cuenta WA, tal y como está registrado en Timelines.
    • "email" - el correo electrónico del propietario de la cuenta WA, tal y como está registrado en Timelines
  • "chat" - los detalles del chat (chat directo o de grupo), en el que se envió o recibió el mensaje
    • "full_name" - el nombre del chat (tal y como aparece en Timelines)
    • "nombre_responsable" - el nombre de un compañero de equipo que está asignado como responsable a este chat
    • "responsible_email" - el email de un compañero de equipo que está asignado como responsable a este chat
    • "chat_url" - la URL, a la que se puede acceder al chat en TimelinesUI
    • "chat_id" - el ID del chat en TimelinesUI (puede ser usado para construir la URL del chat o con webhooks entrantes)
    • "is_new_chat" - true, si este chat se acaba de crear, false en caso contrario
    • "is_group" - true, si este chat es un chat directo, false en caso contrario
    • "phone" - número de teléfono del chat (vacío para chat de grupo)
  • "mensaje" - los detalles del mensaje
    • "dirección" - puede ser "recibido" o "enviado".
    • "timestamp" - marca de tiempo de un mensaje, en zona horaria UTC
    • "message_id" - ID único interno del mensaje
    • "remitente" - datos del remitente (participante en el chat) de un mensaje
      • "full_name" - título de un chat o nombre de un compañero de equipo en Timelines (si se envía desde dentro de Timelines)
      • "teléfono" - número de teléfono del remitente (o vacío para chat de grupo)
    • "destinatario" - datos del remitente (participante en el chat) de un mensaje
      • "full_name" - título de un chat o nombre de un compañero de equipo en Timelines
      • "teléfono" - número de teléfono del destinatario (o vacío para chat de grupo)
    • "text" - texto del mensaje (texto sin formato)

Ejemplo

{
    "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"
        }
}
Últimos mensajes de admin (ver todos)
Índice