Для отправки сообщений через API Sherlock Platform сначала надо авторизоваться.
Для отправки сообщения клиенту по номеру телефона предназначен метод POST контроллера Message https://<sherlock_url>/API/V2/Message/SendMessage. Отправка по номеру телефона сейчас работает для каналов WhatsApp и SMS.
В теле запроса необходимо указать параметры сообщения в формате JSON. Полученный токен надо передать в заголовке как Bearer Token.
Пример запроса с отправкой шаблонного сообщения WhatsApp приведен ниже:
{ "name": "Сергей", "phone": "79211112233", "userProfileId": "b1c5383c-8f02-44fa-a48a-c04a52a759b8", "isSendOnlyNewClient": false, "text": "{\"tag_type\":\"template_message\",\"whatsApp_template_name\":\"shipping_delay_2\",\"parameters\": [\"test1\",\"test2\",\"test3\",\"test4\"]}", "messengerText": "Сообщение в мессенджер"}
Пример запроса с отправкой SMS или сообщения в мессенджер:
{ "name":"Виталий Горелов", "phone" : "79111112233", "userProfileId":"1be1cd22-0000-1234-4321-c7f2c3456789", "isSendOnlyNewClient": false, "text": "Демонстрация работы чат-бота: Вы записаны на прием в клинику «Здоровье» в 11:00 25.09.2020. Доктор: Егорова Валерия.\nЧерез наш чат-бот вы можете построить маршрут до клиники или перенести время приема, а также задать вопрос администратору: {\"tag_type\":\"short_link\",\"url\":\"https://sherlockplatform.sherlockcrm.ru/lp/\",\"widget_id\":\"e2f9571c-6c98-48c6-8418-9f1726cb5888\",\"data\":\"{\\\"SmsPhone\\\":\\\"79111112233\\\",\\\"SmsType\\\":\\\"new\\\",\\\"NextVisitDate\\\":\\\"2020-09-25 11:00\\\"}\"}", "messengerText":"Демонстрация работы чат-бота: Вы записаны на прием в клинику «Здоровье» в 11:00 25.09.2020. Доктор: Егорова Валерия..\nЧерез наш чат-бот вы можете построить маршрут до клиники или перенести время приема, а также задать вопрос администратору.", "messengerBotThemeId":"9369d59b-0000-1111-2222-50e3a519617f", "parameters":"{\"NextVisitDate\":\"2020-09-25 11:00\"}" }
В запросе необходимо указывать:
name - имя клиента. Используется в Sherlock для создания карточки клиента, если по номеру клиент не найден
phone - номер телефона для отправки сообщения в формате 7xxxxxxxxxx
userProfileId - ID канала для отправки сообщения по номеру. Сейчас поддерживаются каналы WhatsApp и SMS
isSendOnlyNewClient - сообщение отправляется, если клиент не был найден по номеру телефона
Text - текст сообщения. Для отправки шаблонного сообщения в WhatsApp необходимо использовать смарт тег отправки сообщения по шаблону
MessengerText - если указано, то в случае, если с клиентом, найденным по номеру телефона, существует диалог в каком-либо мессенджере, то указанный текст будет сообщением отправлен в диалог. Например, если с клиентом был диалог в Telegram, то сообщение будет направлено в данный канал. Опция нужна для экономии бюджета на рассылки за счет максимального использования бесплатных сообщений
Buttons - список кнопок. Формат json для кнопок описан в статье. Может использоваться только совместно с MessengerText
Parameters - Json строка в формате ключ = значение, содержимое которой будет сохранено в контекст бота
MessengerBotThemeId - если указано и найден диалог в мессенджере, то после сообщения будет запущен соответствующий сценарий