Настройка и интеграция автоматической отправки SMS в ответ на события вроде получения заявки от клиента –– трудоемкая задача, но в этой статье наглядно покажем, как решить ее быстро и просто, и поделимся работающим кодом.
Используя нашу инструкцию, вы сможете отправлять SMS из конструктора сайтов Tilda при появлении новой заявки и из Битрикс24 –– при создании новой задачи.
Регистрация в телеком-сервисе
Прежде всего понадобится сервис для отправки SMS, например, API МТС Exolve. Приветственного бонуса платформы — 300 рублей — хватит на аренду номера и отправку SMS в течение двух месяцев.
Чтобы сохранить бонус, не подписывайте договор сразу во время регистрации. Тестовый баланс сгорает при переходе на коммерческое использование после подписания договора.
После регистрации выполните четыре шага:
-
подтвердите свой номер;
-
создайте приложение;
-
арендуйте номер телефона;
-
получите ключ для доступа по 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 событий, с которыми можно создать множество комбинаций сценариев и строить свою гибкую систему коммуникаций.
ссылка на оригинал статьи https://habr.com/ru/articles/849238/
Добавить комментарий