Начиная с релиза “Осень 2020”, мы вводим понятие, как отправка системных SMS сообщений. Сейчас виджеты с поддержкой этой возможности могут быть использованы для отправки SMS с кодами авторизации в личном кабинете. В будущем могут появиться новые места, где необходимо будет использовать SMS.
Чтобы существующий или новый виджет начал поддерживать функционал системных SMS, вам необходимо добавить новый объект sms и указать дополнительный location sms в файле manifest.json.
Location sms говорит о том, что виджет готов к работе в роли отправителя системных SMS. Объект sms со строковым свойством endpoint должен иметь в себе адрес, на который будет отправлен POST запрос c информацией, которая необходима для отправки SMS. Информация придет с заголовком “Content-Type: application/x-www-form-urlencoded”. Адрес должен быть валидным и доступным уже в момент загрузки архива виджета.
{
"widget": {
"interface_version": 2,
"init_once": false,
"locale": [
"ru"
],
"installation": true
},
"locations": [
"lcard-1",
"digital_pipeline",
"settings",
"sms"
],
"settings": {
"login": {
"name": "settings.login",
//указывает на файл локализации, в папке i18n
"type": "text",
//тип: текстовое поле
"required": false
},
"password": {
"name": "settings.password",
//указывает на файл локализации, в папке i18n
"type": "pass",
//тип: пароль
"required": false
}
},
"dp": {
"settings": {
"message": {
"name": "settings.message",
"type": "text",
"required": true
}
},
"action_multiple": false
},
"sms": {
"endpoint": "https://example.com/sms_endpoint"
}
}
В теле запроса будет передан массив, содержащий 3 ключа: text, phone и token. Ниже рассмотрим данных этого массива:
Параметр | Тип данных | Описание |
---|---|---|
text | string | Подготовленный текст для отправки в сообщении |
phone | string | Подготовленный номер в международном формате, на который необходимо отправить SMS сообщение |
token | string | JWT токен, который позволит идентифицировать аккаунт, из которого сделан запрос. Используется токен, описание которого доступно в статье. Обязательно валидируйте подпись полученного токена, это позволит быть уверенными, что запрос пришел из amoCRM. |
{
"text": "Код для входа в личный кабинет - 834622",
"phone": "+79123456789",
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkV4YW1wbGUgYW1vQ1JNIFRPS0VOIiwiaWF0IjoxNjA4MjQxNjU4fQ.GkL8yEXAAQ4yaM1M9gpY01zVJur9FJ9Nfed63vxN_J4"
}