Формирование и отправка рассылки через API Sherlock Platform

Последние изменения: 25.10.2021

Для рассылки используется 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 может быть передан в трех форматах:

  1. Id клиента в таблице tbl_Client Sherlock
  2. Id клиента во внешней системе, если в Sherlock передаются внешние идентификаторы. Для данного режима обязательно указывать код внешней системы в таблице [externalSystemCode]
  3. Номер телефона в формате 7XXXXXXXXXX. Рассылка по номеру телефона работает только в WhatsApp.

Примеры JSON для формирования рассылок:

  1. Отправка рассылки по номеру телефона
{
  "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
    }
  ]
}

Помогла ли вам статья?