Для рассылки используется API https://app.sherlockcrm.ru/API/SherlockTest/v2/swagger/index.html, смотрите метод POST контроллера Broadcast.
Описание основных реквизитов Json для формирования рассылки приведено ниже
{
"title": "string", // Обязательный реквизит. Название рассылки для пользователя
"text": "string", // текст рассылки
"description": "string", // дополнительное описание.
"broadcastDate": "2018-09-04T10:33:52.606Z", // дата рассылки
"broadcastCategoryId": 1, // всегда 1
"statusId": 2, // 1 – для формирования в интерфейсе без отправки;
// 2 – для постановки рассылки в очередь отправки
"isImportant": true,
"botId": "string", // id бота для запуска рассылкой
"botThemeId": "string", // id темы бота для запуска рассылкой
"externalSystemCode": "string", // код внешней системы, если clientId содержит внешний код
"isSendText": true, // true, если отправлять текст клиенту
"isSendBotTheme": true, // true, если запускать бота в диалоге
"clients": [
{
"clientId": "string", // ID клиента. Может быть внешний код
"clientProfileId": "string", // id профиля клиента
"clientProfile": "string", // номер профиля клиента в канале
"userProfileId": "string", // id конкретного канала
"userProfile": "string", // номер конкретного канала
"broadcastClientStatusId": 1, // всегда 1
"socialNetworkMessengerId": "string", // ID типа канала.
"socialNetworkMessengerTitle": "string", // имя типа канала. используется, если на задан id
"comments": "string"
}
]
}
Данный json включает две части – данные самой рассылки и коллекцию клиентов. Разберем нюансы формирования рассылки и добавления клиента.
По рассылкам основное – это какой контент будет направлен. Принципиально – это текст и запуск сценария бота. Для отправки текста надо указать реквизит [text] и установить isSendText = true, для отправки сценария бота надо указать идентификаторы требуемого бота и сценария в реквизитах [botId] и [botThemeId] соответственно и установить isSendBotTheme = true.
Также необходимо обратить внимание на статус рассылки [statusId] и дату [broadcastDate], так как данные два реквизита определяют, когда будет отправлена рассылка.
Для данных клиента основным реквизитом является clientId, остальные реквизиты уточняют по какому каналу направлять клиенту сообщение в случае, если у клиента есть профили в нескольких мессенджерах.
Сам реквизит clientId может быть передан в трех форматах:
- Id клиента в таблице tbl_Client Sherlock
- Id клиента во внешней системе, если в Sherlock передаются внешние идентификаторы. Для данного режима обязательно указывать код внешней системы в таблице [externalSystemCode]
- Номер телефона в формате 7XXXXXXXXXX. Рассылка по номеру телефона работает только в WhatsApp.
Примеры JSON для формирования рассылок:
- Отправка рассылки по номеру телефона
{
"title": "Рассылка по номеру",
"text": "Проверяем рассылку по номеру",
"broadcastDate": "2019-04-01T10:33:52.606Z",
"broadcastCategoryId": 1,
"statusId": 2,
"isImportant": true,
"isSendText": true,
"isSendBotTheme": false,
"clients": [
{
"clientId": "79119998877",
"userProfileId": "d38c7e06-2306-4178-b4d8-bed658a8ed84",
"broadcastClientStatusId": 1
}
]
}