Настройка и интеграция автоматической отправки SMS в ответ на события вроде получения заявки от клиента –– трудоемкая задача, но в этой статье наглядно покажем, как решить ее быстро и просто, и поделимся работающим кодом.

Используя нашу инструкцию, вы сможете отправлять SMS из конструктора сайтов Tilda при появлении новой заявки и из Битрикс24 –– при создании новой задачи.

Регистрация в телеком-сервисе

Прежде всего понадобится сервис для отправки SMS, например, API МТС Exolve. Приветственного бонуса платформы — 300 рублей — хватит на аренду номера и отправку SMS в течение двух месяцев.

Чтобы сохранить бонус, не подписывайте договор сразу во время регистрации. Тестовый баланс сгорает при переходе на коммерческое использование после подписания договора.

После регистрации выполните четыре шага:

  1. подтвердите свой номер;

  2. создайте приложение;

  3. арендуйте номер телефона;

  4. получите ключ для доступа по API.

1. Подтверждение своего номера

На главной странице личного кабинета введите в блоке свой номер — вы получите одноразовый код в SMS. Введите этот код. Готово.

2. Создание приложение

Внутри этого приложения можно будет арендовать номер телефона для отправки сообщений и получить API-ключ.

3. Аренда номера телефона

Перейдите в блоке «Номера» внутри созданного приложения по кнопке «Купить». Стоимость аренды — 150 рублей в месяц. Деньги будут списываться с приветственного баланса. Отправлять сообщения или звонить можно только с этого номера. 

Так выглядит личный кабинет после первых трех шагов.

4. Получение API-ключа

Всё настроено. Перейдите внутри приложения в раздел «Ключи» и скопируйте ваш. Его нужно будет вставить в PHP-скрипт на вашем сервере и в Apps Script в Google Sheets при работе с Tilda.

Со стороны API Платформы все готово. Теперь настроим Битрикс24 и Tilda.

Отправка SMS из Битрикс24

Настроим автоматическую отправку SMS-оповещений, когда в CRM создается новая задача по клиенту или обновляется существующая. 

Учтите, что интеграция с внешними системами через вебхуки из Битрикс24 возможны только на платном тарифе или в течение бесплатного периода длительностью 14 дней.

Настройка своего сервера на PHP

Для начала понадобится свой сервер с поддержкой PHP. С помощью кода ниже можно принимать и обрабатывать любые события из Битрикс24, постепенно создавая собственную систему управления коммуникациями.

Сначала вставьте в код свои данные:

  • ключ вебхука от Битрикс24 (выдается в Битрикс24);

  • API-ключ от МТС Exolve (выдается в личном кабинете API Платформы);

  • купленный номер телефона в Exolve (с него будут отправляться SMS);

  • подтвержденный в Exolve номер телефона (это ваш номер, на который вы сможете бесплатно получать сообщения).

<?php
$bitrix24_key = 'BITRIX24-WEBHOOK-KEY';//Битрикс выдает автоматически при создании вебхука


function exolve_log($data)
{
file_put_contents(
'./' . time() . '_' . rand(1, 9999) . '.txt',
var_export(
$data,
true
)
);
}


function exolve_sms($text)
{
$url = 'https://api.exolve.ru/messaging/v1/SendSMS';
$key = 'MTS-EXOLVE-TOKEN';


$from = 'MTS-EXOLVE-RENTED-PHONE-NUMBER';//7XXXXXXXXXX
$to = 'MTS-EXOLVE-APPROVED-PHONE-NUMBER';//7XXXXXXXXXX


$options = [
'http' => [
'header' => "Content-Type: application/json\nAuthorization: Bearer " . $key,
'method' => 'POST',
'content' => '{"number":"' . $from . '","destination":"' . $to . '","text":"' . $text . '"}',
],
];


$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);


exolve_log(
[
'POST_request' => $options['http']['content'],
'POST_response' => $result,
],
);
}


if(!empty($_REQUEST['auth']['application_token']) &&
$_REQUEST['auth']['application_token'] == $bitrix24_key)
{
switch ($_REQUEST['event']) {
case 'ONTASKADD':
exolve_sms('Создана задача. ID задачи:' . $_REQUEST['data']['FIELDS_AFTER']['ID']);
break;
case 'ONTASKUPDATE':
exolve_sms('Задача изменена. ID задачи:' . $_REQUEST['data']['FIELDS_AFTER']['ID']);
break;
}
}

В результате у вас появится адрес вида https://yourdomain.domain/filename.php, на который будут отправляться исходящие вебхуки Битрикс24.

Настройка исходящего вебхука

Это самая простая часть, и займет она всего пару минут. В меню в разделе «Приложения» перейдите в пункт «Разработчикам». В открывшемся списке выберите нижний блок «Другое».

В разделе «Другое» выберите пункт «Исходящий вебхук».

Теперь введите получившуюся ссылку на файл. Поле ввода с токеном приложения Битрикс24 создаст автоматически. Используйте его в коде. И последнее — выберите события, при срабатывании которых будут отправляться SMS. В нашем примере это ONTASKADD и ONTASKUPDATE.

Теперь в пункте меню «Задачи и Проекты» создайте новую задачу.

После создания задачи вы получите SMS с арендованного в МТС Exolve номера. ID задачи будет отличаться.

Отправка SMS из Tilda

Настроим отправку SMS-оповещения о том, что пользователь заполнил и отправил форму. Это работает совершенно бесплатно. 

В конструкторе сайтов Tilda нет готовых модулей для отправки SMS или совершения звонков, и нет возможности настроить исходящие вызовы. Поэтому мы будем сохранять заявки в Google Sheets, так как эта возможность встроена, и далее обрабатывать заявки в Apps Script таблицы.

Подготовка формы в Tilda

Зарегистрируйтесь на бесплатном тарифе площадки и создайте страницу.

На страницу добавьте форму. Мы для удобства и красоты используем BF310N.

В форме настройте поля ввода, текст.

Теперь в настройках сайта в подразделе «Формы» добавьте Google Sheets.

Дайте таблице емкое понятное название и нажмите кнопку «Сохранить».

Запустится процесс с запросом разрешений к вашим Google Sheets. Надо выдать все доступы. В итоге в вашем google-аккаунте автоматически будет создана новая таблица. 

Затем вернитесь к работе с формой и откройте настройки контента. В блоке приема данных из формы, в столбце подключенных сервисов появится созданная Google Sheet. Выберите ее, сохраните изменения и опубликуйте страницу.

Теперь нужно добавить сам код, который будет делать запрос в API Платформу для отправки сообщений.

Добавление кода в Apps Script

Теперь нам нужно настроить отправку SMS-оповещения, когда появляется новая строка в Google Sheets с данными о новой заявке. В меню Extensions перейдите в Apps Script. Откроется новое окно с редактором кода файла code.gs. Вставьте в него наш код:

function sendSMS() {
var key = "MTS-EXOLVE-API-KEY";
var URL = "https://api.exolve.ru/messaging/v1/SendSMS";
var param = { "method" : "POST",
"headers" : { "Content-Type" : "application/json",
"Authorization" : "Bearer " + key
},
"payload": JSON.stringify({
"number":"MTS-EXOLVE-RENTED-PHONE-NUMBER", //арендованный номер
"destination":"MTS-EXOLVE-YOUR-APPROVED-PHONE-NUMBER", //ваш подтвержденный номер
"text":"Новая заявка" //текст сообщения
}),
};
return UrlFetchApp.fetch(URL, param);
}

Должно выглядеть как на скриншоте ниже.

Для отправки SMS скрипт должен автоматически запускаться. Это возможно после создания триггера. Поэтому перейдите в раздел Triggers в Apps Script.

Создайте триггер, выбрав нашу функцию для срабатывания Send и момент срабатывания On change. То есть скрипт будет запускаться при каждом изменении данных в таблице, даже если вы удалили один символ в любой ячейке. Действуйте аккуратнее.

Созданный триггер будет выглядеть вот так:

Тестирование

Проверяем связку отправки заявки и получения SMS. Опубликуйте страницу, заполните и отправьте форму.

После этого отправленная заявка появится в таблице.

Работу скрипта в Apps Script можно проверить в разделе Executions. Если в столбце Status стоит Completed, значит срабатывание прошло без ошибок.

Вот такое SMS вы должны получить с номера телефона, арендованного в Exolve.

К слову, из Tilda вы сможете не только автоматически отправлять SMS. Если подписать договор с МТС Exolve, можно звонить на любые внешние номера, принимать и маршрутизировать входящие звонки, использовать виртуальную АТС.

В Битрикс24 около 150 событий, с которыми можно создать множество комбинаций сценариев и строить свою гибкую систему коммуникаций.

Комментарии (5)


  1. jazator
    09.10.2024 12:25

    Спасибо за описание интеграции с Тильдой. Подскажите, а вы и МТС Бизнес это разные вещи или нет, у меня номер 8-800 у них. Читаю и понять не могу...


  1. krostfix
    09.10.2024 12:25

    не могу на вашем сайте найти тарифы на отправку смс. Есть это где?


    1. telecomgod
      09.10.2024 12:25

      Все тарифы по приёму и отправке SMS можно найти на этой странице https://exolve.ru/tariffs/messengers/ В шапке сайта также есть тарифы на другие продукты :)


  1. Haotik
    09.10.2024 12:25

    В целом по делу, но я бы добавил момент, что у многих смс сервисов есть свои модули для битрикса, и можно обойтись без написания кода а просто поставить из маркета нужный подходящий модуль.


    1. michabramov Автор
      09.10.2024 12:25

      Да, всё верно. по Битриксу достаточно модулей, в том числе для SMS рассылки, но иногда для расширения функций попросту готовых расширений может не хватить под все задачи бизнеса. В недрах Битрикса в этом году постили подборку​ приложений для более гибкой отправки сообщений. Поэтому подумали не лишним написать про связку через API, чтобы в дальнейшем желающие могли изменять код под свои потребности