Инструкция описывает настройку отправки SMS через SMS.RU в CRM 4DEV через механизм базовых интеграций.
Связанная задача: CRM4DEV-1472.
Интеграция позволяет отправлять SMS из CRM через SMS.RU:
СообщениеSMS;ОтправкаSMS;ОтправкаSMS.При активной настройке SMS.RU типовой механизм отправки SMS перенаправляется в новый модуль Дев_ОтправкаSMSЧерезSMSRU, который работает с API sms.ru по HTTPS и JSON.
Перед настройкой проверьте:
SMS.RU в справочнике Дев_БазовыеИнтеграции.SMS.RU заполнен Вид = SMS.RU.НастройкиJSON и КомандыJSON.Дев_ОтправкаSMSЧерезSMSRU.Если НастройкиJSON и КомандыJSON пустые, значит обработчик обновления 0.9.37.42 не отработал или не попал в базу. В этом случае заполните шаблоны вручную по разделу ниже.
Откройте:
Сервис → Сторонние сервисы → Базовые интеграции → SMS.RU
Проверьте:
Код: 000000048;Наименование: SMS.RU;Тип: Внешние приложения и сервисы;Вид: SMS.RU.В реквизит НастройкиJSON вставьте:
[
{
"Ключ": "ApiId",
"Представление": "api_id",
"Тип": "Строка",
"ЗначениеПоУмолчанию": "",
"Отображение": ""
},
{
"Ключ": "Login",
"Представление": "Логин (номер телефона)",
"Тип": "Строка",
"ЗначениеПоУмолчанию": "",
"Отображение": ""
},
{
"Ключ": "Password",
"Представление": "Пароль",
"Тип": "Строка",
"ЗначениеПоУмолчанию": "",
"Отображение": ""
},
{
"Ключ": "ИмяОтправителя",
"Представление": "Имя отправителя",
"Тип": "Строка",
"ЗначениеПоУмолчанию": "",
"Отображение": ""
},
{
"Ключ": "ТестовыйРежим",
"Представление": "Тестовый режим (test=1)",
"Тип": "Булево",
"ЗначениеПоУмолчанию": false,
"Отображение": ""
},
{
"Ключ": "ПереводитьВТранслит",
"Представление": "Переводить кириллицу в транслит",
"Тип": "Булево",
"ЗначениеПоУмолчанию": false,
"Отображение": ""
}
] |
В реквизит КомандыJSON вставьте актуальный шаблон без кнопки тестовой SMS:
[
{
"Ключ": "ПроверитьПодключение",
"Представление": "Проверить подключение",
"Подсказка": "Запрос auth/check к sms.ru.",
"АлгоритмКлиент": "Результат = Дев_ОтправкаSMSЧерезSMSRU.ПроверитьАвторизациюПоСсылкеИнтеграции(Объект.Ссылка); Сообщить(Результат.Описание);",
"СопоставлениеПользователей": false,
"НоваяСтрока": false
},
{
"Ключ": "УзнатьБаланс",
"Представление": "Узнать баланс",
"Подсказка": "Запрос my/balance к sms.ru.",
"АлгоритмКлиент": "Результат = Дев_ОтправкаSMSЧерезSMSRU.ПроверитьБалансПоСсылкеИнтеграции(Объект.Ссылка); Сообщить(Результат.Описание);",
"СопоставлениеПользователей": false,
"НоваяСтрока": false
},
{
"Ключ": "ЗарегистрироватьWebhook",
"Представление": "Зарегистрировать webhook",
"Подсказка": "callback/add — регистрирует URL приема статусов sms.ru.",
"АлгоритмКлиент": "Результат = Дев_ОтправкаSMSЧерезSMSRU.ЗарегистрироватьWebhookПоСсылкеИнтеграции(Объект.Ссылка); Сообщить(Результат.Описание);",
"СопоставлениеПользователей": false,
"НоваяСтрока": true
}
] |
Нажмите Записать.
Важно: если метод ЗарегистрироватьWebhookПоСсылкеИнтеграции отсутствует в текущей версии базы, кнопка webhook может не работать. Для первичной проверки интеграции достаточно кнопок Проверить подключение и Узнать баланс.
Откройте:
Сервис → Сторонние сервисы → карточка SMS.RU
Создайте или откройте актуальную интеграцию SMS.RU.
Заполните:
| Поле | Что указать |
|---|---|
| Адрес интеграции | Уникальное значение, например smsru_prod, smsru_test, smsru_crm4dev_1472_test |
| Подключено | Включить |
| api_id | API-ключ из личного кабинета sms.ru или тестовый ключ из Jira CRM4DEV-1472 |
| Логин | Не обязателен, если заполнен api_id |
| Пароль | Не обязателен, если заполнен api_id |
| Имя отправителя | Заполнить, если имя согласовано в sms.ru |
| Тестовый режим (test=1) | Включить для безопасной проверки без реальной отправки |
| Переводить кириллицу в транслит | Включать только если нужен транслит |
Нажмите OK или Записать.
Если появляется ошибка Адрес интеграции должен быть уникальным, измените адрес интеграции на заведомо уникальный или найдите существующую карточку с таким адресом и редактируйте ее.
После записи карточки откройте ее заново и выполните проверки.
Нажмите Проверить подключение.
Ожидаемый результат:
Подключение к sms.ru установлено. |
Если появляется ошибка авторизации, проверьте api_id. Если api_id заполнен, логин и пароль не используются.
Нажмите Узнать баланс.
Ожидаемый результат:
Баланс sms.ru: <число> руб. |
Если баланс получен, значит:
Дев_АктуальныеИтеграции;api_id применяется корректно;Тестовый режим (test=1).Отправить SMS.Проверка CRM4DEV-1472.Ожидаемый результат:
Дев_ОтправкаSMSЧерезSMSRU;test=1 только проверяет запрос у sms.ru.Тестовый режим (test=1).Имя отправителя, убедитесь, что оно согласовано в sms.ru.СообщениеSMS.Ожидаемый результат:
СообщениеSMS сохраняется результат отправки и идентификатор сообщения.Для отправки документов СообщениеSMS через очередь должен быть включен регламент:
Администрирование → Регламентные задания → ОтправкаSMS
Проверка:
СообщениеSMS.ОтправкаSMS.Ожидаемый результат:
Статусы могут обновляться двумя способами.
Если реализован и зарегистрирован webhook, sms.ru сам присылает статус на endpoint CRM.
Ожидаемый URL имеет вид:
<АдресВнешнегоСервераWebhook>/hs/restapi_v1/smsru/callback |
Проверка webhook выполняется кнопкой Зарегистрировать webhook, если метод доступен в текущей версии базы.
Если webhook не используется или callback был пропущен, статусы обновляет регламент:
ОбновлениеСтатусовДоставкиSMS
Он опрашивает sms.ru через sms/status.
Причина: не отработал обработчик обновления 0.9.37.42 или изменение не попало в базу.
Что сделать:
УПДК_ОбновлениеИнформационнойБазы.ПерейтиНаВерсию_0_9_37_42.Адрес интеграции должен быть уникальнымПричина: в Дев_АктуальныеИтеграции уже есть запись с таким адресом.
Что сделать:
smsru_prod или smsru_test_0603.Что проверить:
КомандыJSON в базовой интеграции.SMS.RU.Проверьте:
Тестовый режим (test=1);Проверьте:
Подключено.Отправка SMS (Дев_ОтправкаSMSЧерезSMSRU).| Проверка | Ожидаемый результат |
|---|---|
| Базовая интеграция SMS.RU записана | Вид = SMS.RU, JSON заполнены |
| Актуальная интеграция записана | Ошибки уникальности адреса нет |
Проверить подключение | Подключение успешно |
Узнать баланс | Показан баланс sms.ru |
Отправка с test=1 | Ошибки нет, деньги не списаны |
Реальная отправка без test=1 | SMS доставлена на телефон |
Документ СообщениеSMS | Сохраняет результат отправки |
Регламент ОтправкаSMS | Обрабатывает исходящие SMS |
| Статусы доставки | Обновляются webhook или fallback-регламентом |