Для работы с вебхуками требуются навыки программирования.
Вебхуки — инструмент для оповещения об изменениях в системе, работают по протоколу HTTP. В Еадеске поддерживаются следующие события:
Новый диалог — срабатывает, когда в Еадеске создаётся новый входящий или исходящий диалог.
Обновление диалога — срабатывает при любом изменении ответственного или статуса.
Новое сообщение — срабатывает, когда в существующем диалоге создаётся новое входящее или исходящее сообщение клиента или пользователя.
Вебхуки POST-запросом передают данные на указанный вами сервер. В ответ необходимо ответить кодом 200, иначе хук считается не успешно отправленным и наш сервер отправляет запрос повторно. После пяти неудачных попыток, сервер перестаёт отправлять запросы.
Вебхуки отправляются в формате JSON, объекты body (тело запроса) из POST-запроса по каждому типу описаны ниже.
Управление вебхуками
Вебхуки доступны только на старших тарифах и во время тестового периода. Смените тариф перед использованием.
Чтобы получать вебхуки, необходимо из интерфейса Еадеска задать серверы, на которые будут отправляться запросы. Для этого перейдите в Настройка → API и вебхуки и нажмите на «плюсик».
Для добавления вебхука заполните поля:
Название — поможет быстро различать добавленные сервера.
URL — адрес вашего сервера, на который будут отправляться POST-запросы.
События — отметьте галочками события, на которые будут отправляться вебхуки.
Когда все поля будут заполнены — нажмите «Сохранить», чтобы добавить новый сервер.
1. Новый диалог
Событие «Новый диалог» срабатывает, когда в Еадеске создаётся новый входящий или исходящий диалог. Пример данных из вебхука при создании:
Copy {
id : '5fbfa99474a5f6001dfd288f' ,
timestamp : 1606396308700 ,
type : 'dialog creation' ,
dialogId : '5fbfa994013de80128fcb985' ,
url : 'https://app.yeahdesk.ru/conversations/5fbfa994013de80128fcb985' ,
title : 'New dialog from mail' ,
contactsId : '7e7d8003c7ab78001d6c895d' ,
origin : 'mail' ,
channelId : '6ebd003bda988200311229c8' ,
channelName : 'vasyapupkin007@yandex.ru' ,
contact : {
_id : '5e7d8902d7ab78001d6c895c' ,
name : 'V5' ,
description : 'Nothing special.' ,
contacts : [{
id : "7e7d8003c7ab78001d6c895d"
origin: "mail" ,
service : "mail" ,
type : "mail" ,
value : "v5@yandex.ru"
}]
}
Тело запроса содержит следующие параметры.
2. Обновление диалога
Это событие срабатывает при любом изменении статуса диалога, тегов или ответственного.
2.1 Пример вебхука при закрытии диалога — смена статуса на «Закрыто»:
Copy {
id : '5fbfa8ed74a5f6001dfd288d' ,
timestamp : 1606396141142 ,
type : 'status closed' ,
responsibleId : '5e44f63b39cfc7002029e40c' ,
dialogId : '5efafe33b3e6f32f31e109ae' ,
url : 'https://app.yeahdesk.ru/conversations/5efafe33b3e6f32f31e109ae' ,
title : 'Important client' ,
contactsId : '5efafe444df0b602071f7111' ,
origin : 'telegram' ,
status : 'closed' ,
channelId : '5qe900fbac7e4005dfd8d655' ,
channelName : 'Personal Telegram Channel' ,
closedBy : '5e44f63b39cfc7002029e40c' ,
userId : '5e44f63b39cfc7002029e40c' ,
labels : [ '2' , '3' ] ,
contact : {
_id : '6dfafe333de1c602071f7110' ,
name : 'John Smith' ,
description : 'My old friend.' ,
contacts : [{
chat_id : "000000007" ,
id : "5efafe444df0b602071f7111" ,
origin : "telegram" ,
service : "telegram" ,
telegramId : 000000700 ,
type : "id" ,
value : "JohnSmith007"
}]
}
}
2.2 При изменении статуса на «Отложено» придёт такой вебхук:
Copy {
id : '5fbfa92974a5f6001dfd288e' ,
timestamp : 1606396201652 ,
type : 'status waiting' ,
responsibleId : '5e44f63b39cfc7002029e40c' ,
dialogId : '5efafe33b3e6f32f31e109ae' ,
url : 'https://app.yeahdesk.ru/conversations/5efafe33b3e6f32f31e109ae' ,
title : 'Important client' ,
contactsId : '5efafe444df0b602071f7111' ,
origin : 'telegram' ,
status : 'waiting' ,
channelId : '5qe900fbac7e4005dfd8d655' ,
channelName : 'Personal Telegram Channel' ,
waitingTill : '2020-11-28T13:10:00.000Z' ,
userId : '5e44f63b39cfc7002029e40c' ,
labels : [ '2' , '3' ] ,
contact : {
_id : '6dfafe333de1c602071f7110' ,
name : 'John Smith' ,
description : 'My old friend.' ,
contacts : [{
chat_id : "000000007" ,
id : "5efafe444df0b602071f7111" ,
origin : "telegram" ,
service : "telegram" ,
telegramId : 000000700 ,
type : "id" ,
value : "JohnSmith007"
}]
}
}
2.3 При изменении ответственного пользователя внутри диалога:
Copy {
id : '5fbfa9cb74a5f6001dfd2892' ,
timestamp : 1606396363030 ,
type : 'responsible assignment' ,
responsibleId : '5e44f63b39cfc7002029e40c' ,
responsibleUserName : 'Super-user' ,
dialogId : '5fbfa994013de80128fcb985' ,
url : 'https://app.yeahdesk.ru/conversations/5fbfa994013de80128fcb985' ,
title : 'New dialog from mail' ,
contactsId : '7e7d8003c7ab78001d6c895d' ,
origin : 'mail' ,
status : 'opened' ,
channelId : '6ebd003bda988200311229c8' ,
channelName : 'vasyapupkin007@yandex.ru' ,
userId : '5e44f63b39cfc7002029e40c' ,
labels : [] ,
contact : {
_id : '5e7d8902d7ab78001d6c895c' ,
name : 'V5' ,
description : 'Nothing special.' ,
contacts : [{
id : "7e7d8003c7ab78001d6c895d"
origin: "mail" ,
service : "mail" ,
type : "mail" ,
value : "v5@yandex.ru"
}]
}
}
2.4 Добавление тега:
Copy {
id : '5fbfa88f74a5f6001dfd288c' ,
timestamp : 1606396047533 ,
type : 'label added' ,
responsibleId : '5e44f63b39cfc7002029e40c' ,
dialogId : '5efafe33b3e6f32f31e109ae' ,
url : 'https://app.yeahdesk.ru/conversations/5efafe33b3e6f32f31e109ae' ,
title : 'Important client' ,
contactsId : '5efafe444df0b602071f7111' ,
origin : 'telegram' ,
status : 'opened' ,
channelId : '5qe900fbac7e4005dfd8d655' ,
channelName : 'Personal Telegram Channel' ,
userId : '5e44f63b39cfc7002029e40c' ,
labels : [ '2' , '3' ] ,
addedLabel : '3' ,
contact : {
_id : '6dfafe333de1c602071f7110' ,
name : 'John Smith' ,
description : 'My old friend.' ,
contacts : [{
chat_id : "000000007" ,
id : "5efafe444df0b602071f7111" ,
origin : "telegram" ,
service : "telegram" ,
telegramId : 000000700 ,
type : "id" ,
value : "JohnSmith007"
}]
}
}
2.5 Удаление тега:
Copy {
id : '5fbfa82b74a5f6001dfd288b' ,
timestamp : 1606395947160 ,
type : 'label removed' ,
responsibleId : '5e44f63b39cfc7002029e40c' ,
dialogId : '5efafe33b3e6f32f31e109ae' ,
url : 'https://app.yeahdesk.ru/conversations/5efafe33b3e6f32f31e109ae' ,
title : 'Important client' ,
contactsId : '5efafe444df0b602071f7111' ,
origin : 'telegram' ,
status : 'opened' ,
channelId : '5qe900fbac7e4005dfd8d655' ,
channelName : 'Personal Telegram Channel' ,
userId : '5e44f63b39cfc7002029e40c' ,
labels : [ '2' ] ,
removedLabel : '3' ,
contact : {
_id : '6dfafe333de1c602071f7110' ,
name : 'John Smith' ,
description : 'My old friend.' ,
contacts : [{
chat_id : "000000007" ,
id : "5efafe444df0b602071f7111" ,
origin : "telegram" ,
service : "telegram" ,
telegramId : 000000700 ,
type : "id" ,
value : "JohnSmith007"
}]
}
}
Тело запроса содержит следующие параметры.
3. Новое сообщение
Событие «Новое сообщение» срабатывает, когда в существующем диалоге создаётся новое входящее или исходящее сообщение клиента или пользователя. Пример данных из вебхука при создании нового входящего сообщения:
Copy {
id : '5fbfa99474a5f6001dfd2890' ,
timestamp : 1606396308704 ,
type : 'message creation' ,
dialogId : '5fbfa994013de80128fcb985' ,
url : 'https://app.yeahdesk.ru/conversations/5fbfa994013de80128fcb985' ,
title : 'New dialog from mail' ,
contactsId : '7e7d8003c7ab78001d6c895d' ,
origin : 'mail' ,
channelId : '6ebd003bda988200311229c8' ,
channelName : 'vasyapupkin007@yandex.ru' ,
message : {
_id : '5fbfa994013de80128fcb986' ,
type : 'message' ,
text : 'Hello!\n\n' ,
html : '' ,
direction : 'in'
} ,
contact : {
_id : '5e7d8902d7ab78001d6c895c' ,
name : 'V5' ,
description : 'Nothing special.' ,
contacts : [{
id : "7e7d8003c7ab78001d6c895d"
origin: "mail" ,
service : "mail" ,
type : "mail" ,
value : "v5@yandex.ru"
}]
}
}
Пример для исходящего сообщения:
Copy {
id : '5fbfa9ca74a5f6001dfd2891' ,
timestamp : 1606396362475 ,
type : 'message creation' ,
dialogId : '5fbfa994013de80128fcb985' ,
url : 'https://app.yeahdesk.ru/conversations/5fbfa994013de80128fcb985' ,
title : '' ,
contactsId : '7e7d8003c7ab78001d6c895d' ,
origin : 'mail' ,
channelId : '6ebd003bda988200311229c8' ,
channelName : 'vasyapupkin007@yandex.ru' ,
message : {
_id : '5fbfa9ca013de80128fcb988' ,
type : 'message' ,
text : 'Answer \n' ,
html : '<p class="md-block-unstyled" style="margin: 0px !important;">Answer</p><br>'
} ,
messageAuthor : { id : '5e44f63b39cfc7002029e40c' , type : 'user' , name : 'Super-user' } ,
contact : {
_id : '5e7d8902d7ab78001d6c895c' ,
name : 'V5' ,
description : 'Nothing special.' ,
contacts : [{
id : "7e7d8003c7ab78001d6c895d"
origin: "mail" ,
service : "mail" ,
type : "mail" ,
value : "v5@yandex.ru"
}]
}
}
Тело запроса содержит следующие параметры.