WebHooks (API)


Что такое Webhook

Вебхук (Webhook) это механизм оповещения о происходящих в системе событиях посредством функций обратных вызовов. Когда случается интересующее клиента событие, сервер отправляет запрос на URL-адрес, предоставленный клиентом для приема вебхуков.

Активация вебхуков (Webhook enabling)

Чтобы активировать вебхуки в Вашей компании, необходимо перейти в раздел "Настройки", подраздел "Leeloo API", и, на странице, которая открылась, поставить отметку в чекбоксе "Включён Webhook", как изображено на скриншоте ниже.


Далее необходимо ввести URL вашего webhook-сервера (1).

Выберите интересующие Вас параметры, о которых будет приходить информация на сервер (2), и сохраните настройки (3).



Внимание! Вебхуки передают время в UTC таймзоне

Примеры ответов

  • events - массив событий с последней синхронизации;
  • type - тип события:

    • SUBSCRIBE - приходит при подписке на ЛГТ:
      • account_id - идентификатор аккаунта;
      • account_name - имя аккаунта;
      • created_at - время события;
      • leadgentool_id - идентификатор ЛГТ;
      • leadgentool_name - название ЛГТ;
      • tunnel_id - идентификатор туннеля;
      • tunnel_name - название туннеля;
      • email - адрес электронной почты, введенный в ЛГТ перед подпиской;
      • phone - номер телефона, введенный в ЛГТ перед подпиской.

    • SALE - приходит при успешной покупке:
      • account_id - идентификатор аккаунта;
      • account_name - имя аккаунта;
      • created_at - время события;
      • currency - валюта оффера;
      • offer_id - идентификатор оффера;
      • offer_name - название оффера;
      • payment_method - платежная система оффера;
      • price - цена в валюте оффера;
      • price_usd - цена в долларах США;
      • email - адрес электронной почты, введенный в ЛГТ перед подпиской;
      • phone - номер телефона, введенный в ЛГТ перед подпиской.

    • ORDER - приходит при формировании заказа:
      • account_id - идентификатор аккаунта;
      • account_name - имя аккаунта;
      • created_at - время события;
      • currency - валюта оффера;
      • offer_id - идентификатор оффера;
      • offer_name - название оффера;
      • payment_method - платежная система оффера;
      • price - цена в валюте оффера;
      • price_usd - цена в долларах США;
      • email - адрес электронной почты, введенный в ЛГТ перед подпиской;
      • phone - номер телефона, введенный в ЛГТ перед подпиской.
  • INCOME_MESSAGE - приходит при получении входящего сообщения в чат. 
  • "text": - текст сообщения 
  • "account_id": - id канала связи 
  • "person_id": - id человека 
  • "connection_id": - id канала коммуникации 
  • "email": - email пользователя 
  • "phone": - телефон пользователя 
  • "created_at": "2020-07-13T12:01:44.333Z", - время получения сообщения 
  • "account_name": "Feliks", - имя отправителя сообщения 
  • "connection_name": "Лилу в Телеграмм" - название канал связи 


Response
{
  "events": [
  	{
  "events": [
    {
      "type": "SUBSCRIBE",
      "data": {
        "tunnel_id": "5e1c853bf5be49000db58723",
        "account_id": "5f46a0ce5fa0ee000e697436",
        "person_id": "5f46a0ce5fa0ee000e697435",
        "leadgentool_id": "5e1c8578c7f2f8000ce843da",
        "connection_id": "5e11c3264f997e000ca66433",
        "traffic_source_id": "5e1c8578c7f2f8000ce843dd",
        "utm_marks": {
          "utm_campaign": "leeloo"
        },
        "email": "tesst@gmail.com",
        "phone": "+380952938955",
        "created_at": "2020-09-04T10:09:44.394Z",
        "tunnel_name": "первый туннель",
        "account_name": "Feliks",
        "leadgentool_name": "подписка1",
        "connection_name": "teslaclub",
        "traffic_source_name": "Default traffic source"
      }
    }
  ]
}
    {
      "data": {
        "order_id": "5eabfdfb4eee28000e33dac7",
        "account_id": "5e9eed3c8b2dc7000faff207",
        "person_id": "5e9eed3c8b2dc7000faff206",
        "offer_id": "5c90ca21bc87a6000d7cc67a",
        "offer_name": "1111",
        "price": 10770,
        "price_usd": 165.69,
        "currency": "RUB",
        "payment_method": "5d08cd71bcc043000c4bc5fc",
        "email": "test@gmai.com",
        "phone": "+380952938955",
        "connection_id": "5e11c3264f997e000ca66433",
        "created_at": "2020-05-01T10:47:06.474Z",
        "account_name": "Feliks",
        "connection_name": "teslaclub"     },
      "type": "SALE"
    },
    {
      "data": {
        "order_id": "5eabfeadaf2213000cc5ee1e",
        "account_id": "5e9eed3c8b2dc7000faff207",
        "person_id": "5e9eed3c8b2dc7000faff206",
        "offer_id": "5c90ca21bc87a6000d7cc67a",
        "offer_name": "1111",
        "price": 10770,
        "price_usd": null,
        "currency": "RUB",
        "payment_method": "5d08cd71bcc043000c4bc5fc",
        "email": "test@gmai.com",
        "phone": "+380952938955",
        "connection_id": "5e11c3264f997e000ca66433",
        "created_at": "2020-05-01T10:49:17.260Z",
        "account_name": "Feliks",
        "connection_name": "teslaclub"
      },
      "type": "ORDER"
{
  "events": [
    {
      "type": "INCOME_MESSAGE",
      "data": {
        "text": "подписка",
        "account_id": "5dd691740f69bb000d45dbcb",
        "person_id": "5dd691740f69bb000d45dbca",
        "connection_id": "5ae9dee9ad5e5e0010374ac7",
        "email": "test@gmail.com",
        "phone": "+380664445432",
        "created_at": "2020-07-13T12:01:44.333Z",
        "account_name": "Feliks",
        "connection_name": "Лилу в Телеграмм"
      }
    }
  ]
}

На запрос по webhook Ваш сервер должен предоставлять ответ response status 200 не позднее чем через 2 секунды после того, как Ваш сервер получает событие.