Исходящая интеграция

Исходящая интеграция:
Whatsapp > CRM и другие ваши системы

Поделитесь этой статьей со своим разработчиком или используйте Zapier для интеграции вашей системы с Whatsapp

Настройка

TimelinesAI позволяет уведомлять внешнюю систему о получении или отправке нового сообщения в любой подключенной учетной записи Whatsapp в рабочем пространстве. Это включает сообщения Whatsapp, отправленные через мобильное приложение Whatsapp или из Timelines.

Часто такая интеграция используется через посреднический сервис, например Zapier, где каждая активация веб-крючка учитывается при использовании квоты задач.

Чтобы сделать использование квоты задач более эффективным, TimelinesAI предоставляет возможность объединить несколько сообщений, отправленных или полученных в определенном чате за выбранный период времени. Сообщения передаются через webhook в виде единого "пакета". Для вашего удобства такой "пакет" содержит поле с предварительно отформатированной агрегацией сообщений (и ссылку на пункт в беседах в TimelinesAI), но вы можете реализовать собственное форматирование, используя данные, предоставленные с помощью webhook.

Снимок экрана 2021 11 23 в 12 06 26
Пакет сообщений, отправленных через веб-крючок

Чтобы настроить интеграцию с помощью исходящих веб-крючков:

  1. Перейдите в раздел Webhooks в меню вашей учетной записи TimelinesAI
  2. Выберите вкладку Исходящие.

Снимок экрана 2021 11 23 в 11.47.21

Вам будут представлены следующие настройки:

  • Гранулярность агрегации - сообщения будут агрегироваться и отправляться с помощью webhook в соответствии с выбором (каждые 1 / 6 / 12 / 24 часа) или будут отправляться, как только они появятся во временной шкале ("Не агрегировать").
  • Webhook URL - здесь нужно ввести фактический URL, который необходимо уведомить.
  • Webhook включен - вы можете отключить webhook, если хотите остановить интеграцию.

Как только Webhook становится включенным и отправляются некоторые сообщения, отображается журнал активности (до 10 последних действий).

Примечание: в настоящее время поддерживаются только текстовые сообщения и сообщения emoji. Сообщения, содержащие вложения, будут пропущены.

Ошибки и устранение неисправностей

Для обеспечения корректной работы интеграции, если будет встречено более 10 последовательных ошибок со стороны принимающей стороны (любая ошибка, начиная от недействительного URL и заканчивая кодом ответа не 200), система автоматически отключит интеграцию. В этом случае владелец рабочего пространства получит уведомление по электронной почте.

В случае необходимости устранения ошибки вы можете загрузить подробный журнал (ссылка станет доступна в нижней части страницы), где будет показано до 100 последних запросов со всеми подробностями отправленных данных и полученного ответа.

Формат данных

Данные будут отправлены на URL Webhook посредством HTTP POST запроса, в формате JSON. Данные предоставляются в двух различных форматах, в зависимости от настройки Aggregation Granularity, как описано ниже.

Агрегировать каждые X часов

Сообщения будут объединяться в "пучок". Будут доступны следующие данные:

  • "аккаунт whatsapp" - данные аккаунта whatsapp (и соратника по рабочему пространству, который подключил аккаунт), через который было получено или отправлено сообщение
    • "телефон" - номер телефона счета WA
    • "full_name" - полное имя владельца учетной записи WA, зарегистрированное в Timelines
    • "email" - email владельца учетной записи WA, зарегистрированный в Timelines
  • "чат" - сведения о чате (прямой чат или группа), в котором было отправлено или получено сообщение
    • "full_name" - имя чата (как отображается в Timelines)
    • "имя_ответственного" - имя члена команды, назначенного ответственным в этом чате.
    • "responsible_email" - электронная почта члена команды, назначенного ответственным за этот чат.
    • "chat_url" - URL, по которому можно получить доступ к чату в TimelinesUI
    • "chat_id" - ID чата в TimelinesUI (может использоваться для построения URL чата или с входящими вебхуками)
    • "is_new_chat" - true, если этот чат был только что создан, false в противном случае
    • "is_group" - true, если этот чат является прямым чатом, false в противном случае
    • "phone" - номер телефона чата (пустой для группового чата)
  • "messages" - список сообщений, где каждый объект сообщения содержит следующие поля
    • "направление" - может быть "получено" или "отправлено"
    • "timestamp" - временная метка сообщения, в часовом поясе UTC
    • "message_id" - внутренний уникальный идентификатор сообщения
    • "отправитель" - данные об отправителе (участнике чата) сообщения
      • "full_name" - название чата или имя товарища по команде в Timelines (если отправлено из Timelines).
      • "phone" - номер телефона отправителя (или пустой для группового чата)
    • "получатель" - данные об отправителе (участнике чата) сообщения
      • "full_name" - название чата или имя товарища по команде в Timelines
      • "телефон" - номер телефона получателя (или пустой для группового чата)
    • "text" - текст сообщения (простой текст)
  • "first_message_timestamp" - метка времени самого раннего сообщения в пачке, в часовом поясе UTC
  • "last_message_timestamp" - временная метка последнего сообщения в пачке, в часовом поясе UTC
  • "агрегация" - агрегированный текст сообщения, в формате HTML, пригодный для использования в CRM или подобных системах в качестве контента для заметок, включая прямую ссылку на первое сообщение в Timelines.

Пример

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

Не агрегировать

Каждое сообщение отправляется индивидуально, как только оно становится доступным. Никакого "пакетирования" не происходит. Будут доступны следующие данные:

  • "аккаунт whatsapp" - данные аккаунта whatsapp (и соратника по рабочему пространству, который подключил аккаунт), через который было получено или отправлено сообщение
    • "телефон" - номер телефона счета WA
    • "full_name" - полное имя владельца учетной записи WA, зарегистрированное в Timelines
    • "email" - email владельца учетной записи WA, зарегистрированный в Timelines
  • "чат" - сведения о чате (прямой чат или группа), в котором было отправлено или получено сообщение
    • "full_name" - имя чата (как отображается в Timelines)
    • "имя_ответственного" - имя члена команды, назначенного ответственным в этом чате.
    • "responsible_email" - электронная почта члена команды, назначенного ответственным за этот чат.
    • "chat_url" - URL, по которому можно получить доступ к чату в TimelinesUI
    • "chat_id" - ID чата в TimelinesUI (может использоваться для построения URL чата или с входящими вебхуками)
    • "is_new_chat" - true, если этот чат был только что создан, false в противном случае
    • "is_group" - true, если этот чат является прямым чатом, false в противном случае
    • "phone" - номер телефона чата (пустой для группового чата)
  • "сообщение" - детали сообщения
    • "направление" - может быть "получено" или "отправлено"
    • "timestamp" - временная метка сообщения, в часовом поясе UTC
    • "message_id" - внутренний уникальный идентификатор сообщения
    • "отправитель" - данные об отправителе (участнике чата) сообщения
      • "full_name" - название чата или имя товарища по команде в Timelines (если отправлено из Timelines).
      • "phone" - номер телефона отправителя (или пустой для группового чата)
    • "получатель" - данные об отправителе (участнике чата) сообщения
      • "full_name" - название чата или имя товарища по команде в Timelines
      • "телефон" - номер телефона получателя (или пустой для группового чата)
    • "text" - текст сообщения (простой текст)

Пример

{
    "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"
        }
}
Оглавление