Подписаться

Передача данных во внешние системы: Webhook

Содержание

1. Принцип работы

На стороне LiveTex реализован webhook, предоставляющий внешним клиентским сервисам данные о завершённом обращении.

Обратите внимание, что данная функциональность работает только на тарифе "Продвинутый". Подключить его поможет ваш персональный менеджер LiveTex

В личном кабинете LiveTex (https://my.livetex.ru/products/integrations) можно указать URL адрес, на который будут отправляться данные в формате JSON каждый раз, когда сотрудник будет закрывать обращение в приложении оператора. 

Webhook — механизм получения уведомлений об определённых событиях LiveTex в свою собственную систему. Webhook на стороне LiveTex позволяет получать уведомления о следующих событиях:
  • закрытия диалога оператором,
  • назначении диалога на оператора,
  • оценки консультации посетителем.
Webhook на событие закрытия обращения срабатывает по умолчанию. Если вы хотите получать webhook на события оценки и назначения обращения, обратитеcь к вашему менеджеру или в техническую поддержку LiveTex.

Таким образом, используя webhook, LiveTex предоставляет возможность осуществить интеграцию с внешними системами, в том числе с CRM.

В системе LiveTex такая возможность реализована следующим образом. 

2. JSON отправляемый по событию закрытия обращения

Выходные параметры

Название Тип Обязательность Описание
conversation Conversation + Обращение
discourser Discourser + Собеседник
employee array<Employee> + Список сотрудников, участвовавших в обращении


Conversation

Название Тип Обязательность Описание
conversationId string + Идентификатор обращения
category string + Тип обращения (тех. поддержка, консультация по продаже и т.д.)
creationTime datetime + Время создания обращения
closedTime datetime + Время закрытия обращения
messages array<Message> + Сообщения в обращении
customInfo array<CustomInfo> - Пречат поля
communicationType СommunicationType + Канал
rate Rate - Оценка обращения собеседником

СommunicationType
Значение Тип Описание
1 integer Чат на сайте
2 integer Офлайн-заявка
3 integer Заказ звонка
4 integer Мобильное приложение
5 integer Email
6 integer Facebook
7 integer Telegram
8 integer ВКонтакте
9 integer Viber
10 integer WhatsApp
11 integer Одноклассники
12 integer Messaging API
13 integer Яндекс.Диалоги
15 integer Instagram
16 integer AiBot

Message
Название Тип Обязательность Описание
creation_time datetime + Время создания сообщения
employee_id string + Идентификатор сотрудника, отправившего сообщение. Если отправитель собеседник, то значение - пустая строка
content string + Текст сообщения
sender_type SenderType + Тип отправителя

SenderType
Значение Тип Описание
“employee" string Сотрудник
”discourser” string Собеседник

CustomInfo
Название Тип Обязательность Описание
name string + Наименование поля
value string + Значение поля

Discuorser
Название Тип Обязательность Описание
id string + Идентификатор собеседника.
name string - Имя собеседника.
city string - Город, из которого написал собеседник. Определяется по GeoIP.
country string - Страна, из которой написал собеседник. Определяется по GeoIP.
contactData array<ContactData> - Контактная информация

ContactData
Название Тип Обязательность Описание
value string + Значение контакта
contactDateType ContactDataType + Тип контакта (email или телефон)

ContactDataType
Значение Тип Описание
“email” string Email собеседника
”phone” string Телефон собеседника

Employee
Название Тип Обязательность Описание
id string + Уникальный (в рамках LiveTex) идентификатор сотрудника
firstName string + Имя сотрудника
middleName string + Отчество сотрудника
lastName string + Фамилия сотрудника
group array<Group> + Группа сотрудника, в рамках которой велось Обращение
email string + Email сотрудника

Group
Название Тип Обязательность Описание
id string + Уникальный (в рамках LiveTex) идентификатор группы
title string + Название группы

 

 

Rate

Название Тип Обязательность Описание
rateType RateType + Тип оценки собеседника
rateValue string + Оценка собеседника

 

 

RateType

Значение Тип Описание
1 integer Двухбалльная оценка. Возможные значения "0" или "1".
2 integer Пятибалльная оценка. Возможные значения "1", "2", "3", "4" или "5".

 

3. Пример данных

{
  "conversation": {
    "category": "все",
    "creationTime": "2016-07-04T12:06:54",
    "closedTime": "2016-07-04T12:07:04.867050",
    "messages": [{
      "creation_time": "2016-07-04T12:06:54",
      "employee_id": "1",
      "content": "Один заказ отменяем?",
      "sender_type": "discourser"
    }, {
      "creation_time": "2016-07-04T12:06:58",
      "employee_id": "22405",
      "content": "Да",
      "sender_type": "employee"
    }, {
      "creation_time": "2016-07-04T12:07:03",
      "employee_id": "1",
      "content": "Какой оформляем?",
      "sender_type": "discourser"
    }],
    "customInfo": [{
      "name": "VIP клиент",
      "value": "второй"
    }, {
      "name": "Артикул товара:",
      "value": "QW123456"
    }, {
      "name": "client_id",
      "value": "12345"
    }],
    "communicationType": 1
  },
  "discourser": {
    "name": "Гость",
    "city": "Saint Petersburg",
    "country": " Russian Federation ",
    "contactData": []
  },
  "employee": [{
    "id": "22405",
    "firstName": "Ivan",
    "middleName": "Olegovich",
    "lastName": " Ivanov ",
    "group": [{
      "id": "16535",
      "title": ""
    }, {
      "id": "16758",
      "title": ""
    }]
  }]
}

 

4. JSON отправляемый по событию назначения обращения

Выходные параметры

Название Тип Обязательность Описание
assignment Assignment + Назначение
discourser Discourser + Собеседник
employee Array<Employee> + Список сотрудников, участвовавших в обращении


Assignment

Название Тип Обязательность Описание
conversationId string + Идентификатор обращения
subject string + Тема обращения
conversationCreationTime datetime + Время создания обращения
assignedTime datetime + Время назначения обращении
touchPoint TouchPoint + Точка контакта, на которой создано обращения
group Group - Группа сотрудника, в рамках которой велось Обращение
customInfo array<CustomInfo> - Пречат поля
communicationType СommunicationType + Канал

communicationType
Значение Тип Описание
1 integer Чат на сайте
2 integer Офлайн-заявка
3 integer Заказ звонка
4 integer Мобильное приложение
5 integer Email
6 integer Facebook
7 integer Telegram
8 integer ВКонтакте
9 integer Viber
10 integer WhatsApp
11 integer Одноклассники
12 integer Messaging API
13 integer Яндекс.Диалоги
15 integer Instagram
16 integer AiBot
CustomInfo
Название Тип Обязательность Описание
name string + Наименование поля
value string + Значение поля

Discourser
Название Тип Обязательность Описание
id string + Идентификатор собеседника.
name string - Имя собеседника.
city string - Город, из которого написал собеседник. Определяется по GeoIP.
country string - Страна, из которой написал собеседник. Определяется по GeoIP.
contactData Array<ContactData> - Контактная информация

ContactData
Название Тип Обязательность Описание
value string + Значение контакта
contactDateType ContactDataType + Тип контакта (email или телефон)

ContactDataType
Значение Тип Описание
“email” string Email собеседника
”phone” string Телефон собеседника

Employee
Название Тип Обязательность Описание
id string + Уникальный (в рамках LiveTex) идентификатор сотрудника
firstName string + Имя сотрудника
middleName string + Отчество сотрудника
lastName string + Фамилия сотрудника
group array<Group> + Группа сотрудника, в рамках которой велось Обращение
email string + Email сотрудника

Group
Название Тип Обязательность Описание
id string + Уникальный (в рамках LiveTex) идентификатор группы
title string + Название группы

 

TouchPoint
Название Тип Обязательность Описание
id string + Уникальный (в рамках LiveTex) идентификатор точки контакта
title string + Название точки контакта

 

5. Пример данных

{
"assignment":{
        "conversationId":"b9c74128-d1dc-471f-b467-321ec14b895e",
        "subject":"Обращение с сайта livetex.test в отдел Техническая поддержка",
        "conversationCreationTime":"2019-08-08 13:17:46.715 +0300",
        "assignedTime":"2019-08-08 10:17:47.030 +0000",
        "customInfo":[{
            "name":"VIP клиент",
            "value":"Да"
        },{
            "name":"Артикул товара:",
            "value":"QW123456"
        },{
            "name":"client_id",
            "value":"12345"
        }],
    "communicationType":1,
    "touchPoint":{
       "id":"100123",
       "title":"tp.ru"
    },
    "group":{
       "id":"225333",
        "title":"Техническая поддержка"
    }
},
"discourser":{
    "id":"account:35591:site:10032209:visitor:g3r8j37fibtq33di",
    "name":"Ivan",
    "city": "Saint Petersburg",
   "country": " Russian Federation ",
   "contactData": []
 },
"employee":[{
    "id":"36173",
    "firstName":"Aleksandr",
    "middleName":"",
    "lastName":"Zukov",
    "group":[{
        "id":"22577",
        "title":"Техническая поддержка"
    }],
    "email":"test4@yandex.ru"
}]
}

 

 6. JSON отправляемый по событию оценки обращения

 

Выходные параметры

Название Тип Обязательность Описание
rating Rating + Оценка обращения

 

Rating

Название Тип Обязательность Описание
conversationId string + Идентификатор обращения
ratingEventTime datetime + Время отправки оценки посетителем
rate Rate + Оценка обращения собеседником

 

 

Rate

Название Тип Обязательность Описание
rateType RateType + Тип оценки собеседника
rateValue string + Оценка собеседника

 

 

RateType

Значение Тип Описание
1 integer Двухбалльная оценка. Возможные значения "0" или "1".
2 integer Пятибалльная оценка. Возможные значения "1", "2", "3", "4" или "5".

 

 7. Пример данных

"rating": {
"rate": {
"rateType" : 1,
"rateValue" :"0"
}
"conversationId":"bba6d431-99b7-470b-af4f-2a971851362e",
"ratingEventTime":"2020-02-11 18:54:49.546 +0300"
}
Была ли эта статья полезной?
Пользователи, считающие этот материал полезным: 0 из 0
Еще есть вопросы? Отправить запрос

Комментарии