Интеграция с SMS-Aero

Важно! Сервис Автопилот не несет ответственности за проблемы с модерацией / доставкой смс и т.д. Если сомневаетесь в сервисе smsaero, можете использовать сервис smsc.ru.
Пример настройки интеграции

Если Автопилот вернул вам ответ success:true, то это не значит, что СМС будет доставлено вовремя. Это значит, что запрос от АП ушел, а уж сформируется ли смс и будет ли отправлено сообщение, зависит от Smsaero. У сайта Smsaero своя модерация и пока вы ее не пройдете, СМС не будет отправлено.

Важно! По заявлению техподдержки SMSAero модерация занимает до 5 минут. Если вы запланируете рассылку заранее, то сообщение пройдёт модерацию заранее. Чтобы ваши SMS, отправленные по API приходили мгновенно, нужно отключить модерацию сообщений: сейчас она занимает порядка 5 минут. Для этого, нужно заключать договор.
Чтобы заключить договор, после регистрации, зайдите в раздел "Настройки" личного кабинета, выберите "Реквизиты и договоры" и "Добавить профиль". Заполните ваши реквизиты и сохраните их.
Далее, скачайте автоматически сформированный договор, подпишите его, поставьте печать и загрузите обратно скан или фотографию. В течение 30 минут договор проверят и поставят ему статус "Заключен", если все будет в порядке.
После этого статус договора считается действующим: вы можете выставлять себе счета для оплаты через расчетный счет и для вас может быть отключена модерация сообщения по API трафику, чтобы сообщения приходили мгновенно. Оригиналы будут отправлены в течение 20 дней почтой России на почтовый адрес, указанный вами в договоре, либо можем направить договор на подпись по ЭДО.

Поняли фишку? Если готовы подождать пять минуточек, то договор не нужен, но если критично, то можно заключить договор.

Итак, сегодня мы настроим интеграцию с сервисом SMS-сообщений smsaero.ru

Регистрация проста и понятна. Уверены, что проблем с ней не возникнет.

Для отправки запроса нужно сгенерировать API ключ который можно сгенерировать в кабинете на вкладке «Настройки»«API и SMPP»

Пример ключа. Если вы его скомпромитировали, то можете перегировать снова.
Пример ключа. Если вы его скомпромитировали, то можете перегировать снова.

В примере ключ: IvAPqn967EPEp1NWJJm4YvqlJKDB

Для отправки запроса нужно перейти в документацию по ссылке и скопировать нужный метод.

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

Важно! Если вы будете тестировать оплату, то лучше отправляйте сначала на тестовый метод, который не будет тратить баланс, а уж потом пробуйте боевой. Чтобы отправлять в сообщения Вайбер, нужно внести депозит 20 000 рублей, который вы сможете использовать для рассылок в течение 1 месяца. К сожалению, таковы требования самого Viber.

Команда: «Отправка СМС»

Информация! Команда реагирует на заполнение формы сбора заявок и отправляет запрос для отправки смс в указанное время. В примере, мы указываем плановую отправку запроса во время, которое указано во временной переменной.
Важно! По заявлению техподдержки SMSAero модерация занимает 5 минут, поэтому планируйте рассылку заранее.
Важно! На данный момент отправка SMS на номера Казахстана невозможна, но SMSAero обещали это поправить.
Перед запуском команды убедитесь, что на балансе достаточно средств, иначе смски могут быть не отправлены.

События:

Важно! Событие: «Заполнил форму сбора заявок» позволяет собрать у клиента актуальную информацию, например, email или номер телефона.

1) Событие: «Заполнил форму сбора заявок»

Пример события
Пример события

Действия:

1) Для записи актуального номера телефона используем действие: «Обновить профиль Автопилота», которое запишет введенный пользователем телефон в профиль Автопилота.

Пример действия
Пример действия

2) Для отправки запроса на формирование смс в определенное время мы можем создать временную переменную %datesend% и указать время отправки запроса.

По заявлению техподдержки SMSAero смс будет отправлено в указанное время, но время модерации нужно учитывать.

Например, вы создаете команду, которая создает запрос на отправку смс, строго в определенное время об этом говорится в видео. Допустим, мы хотим отправить запрос 24 октября 2022 в 21:25, тогда в переменной пишем следующее:

{date}%s||2022-10-24 21:25{/date}

Данная функция переведет время 2022-10-24 21:25 в UNIX-формат. т.к. smsaero планирует время только в UNIX-формате. Если не будете использовать отправку запросов в запланированное время, то переменную можно не использовать. Мы помним про пятиминутную модерацию? Во всяком случае нужно проверять тестовой отправкой перед запуском трафика.

Переводим дату отправки запроса в UNIX-формат.
Переводим дату отправки запроса в UNIX-формат.

3) В переменной %text% формируем текст приглашения на вебинар.

Приглашение на веб, %first_name%!
Ссылка: https://vk.com/andreygorgamer
Пример текста
Пример текста

Опционально: если вы не будете делать отправку с параметром dateSend, а будете использовать таймеры Автопилота, то имейте в виду, что на одно выполнение команды будет использоваться 3 мили.
Одна за запуск команды, одна за отмену таймеров и одна за запуск.

Важно! Если у вас таймер установлен на 17:00, а клиент заполнил заявку в 18:00, то приглашение на вебинар придет на следующий день, т.к. если время запуска таймера Автопилота уже прошло, то действие переносится на другой день на установленное время.
Например: в команде таймер настроен на 24.10.22 21:00, а пользователь запустил команду на час позже (24.10.22 22:00). Значит таймер ему отработает 25.10.22 22:00, т.е. на следующий день. Чтобы этого избежать можете после сбора заявок проверять дату / время запуска команды.

4) Действием: «Отменить таймер» отменяем запущенный таймер с названием:
Приглашение на веб. Это сделано для того, чтобы если клиент не получил 10 голосовых сообщений в одно и тоже время при некорректной настройке таймеров. Это +1 миля к выполнению команды. Действия даны для примера, если вы будете делать отложенную отправку запроса через параметр dateSend, то данные блоки не нужны.

Отменяем таймер, чтобы он получил 1 сообщение
Отменяем таймер, чтобы он получил 1 сообщение

5) Действием: «Запустить таймер» устанавливаем таймер с названием:
Приглашение на веб, на нужное время. Это +1 миля к выполнению команды:

Отправляем смс в нужное время
Отправляем смс в нужное время
Важно! Для запросов согласно документации нужно отправить запрос на адрес
https://email:[email protected]/v2/sms/send

где вместо пары email:api_key, указываете емейл:api_key полученный в кабинете.

6) Для отправки запроса действием «Отправить POST/GET запрос» методом POST на адрес:

https://[email protected]:[email protected]/v2/sms/send

с параметрами:

  • number = %phone%
  • text= %text%
  • sign = SMSAero
  • dateSend = %datesend%

и заголовком:

В вашем случае адрес для запроса и ключ API будет другой.

Пример запроса
Пример запроса

Рассмотрим параметры и заголовок подробнее:

  • number - номер телефона на который будет отправлена смс. В примере переменная %phone%.
  • text- текст смс-сообщения. В примере переменная %text%.
  • sign - подпись для смс-сообщения. В примереSMSAero
  • dateSend = время планируемого отправления смс. Если вы хотите, чтобы запрос на модерацию и отправку смс уходил сразу, то не указывайте параметр. В примере время 2022-10-14 21:25 указанное в unix-формате.

и заголовком:

Заголовок нужен для авторизации на сайте, поэтому мы передаем пару email:ключ API, чтобы SMSAero было понятно, какой именно пользователь передает запрос

В вашем случае адрес для запроса и ключ API будет другой.

6) Для того, чтобы проверить статус запроса во временной переменной %success%через JSON.PATH, достаем статус запроса:

%response.success%
Сохраняем статус для проверки статуса запроса
Сохраняем статус для проверки статуса запроса

7) Опционально: для того, чтобы сохранить текст отправляемого сообщения из запроса во временной переменной %datastatus%через JSON.PATH, достаем его:

%response.data.status%
Сохраняем числовой статус отправки смс для вывода сотруднику
Сохраняем числовой статус отправки смс для вывода сотруднику

8) Опционально: для того, чтобы сохранить текст отправляемого сообщения из запроса во временной переменной %extendstatus%через JSON.PATH, достаем его:

%response.data.extendStatus%
Сохраняем статус отправки смс для вывода сотруднику
Сохраняем статус отправки смс для вывода сотруднику

9) Опционально: для того, чтобы сохранить ответ сервера smsaero во временной переменной %resp%записываем переменную

%rresponse%
Сохраняем ответ сервера, потому что при отправке сообщения переменная %response% будет перезаписан.
Сохраняем ответ сервера, потому что при отправке сообщения переменная %response% будет перезаписан.

10) Опционально действием: «Отправить сообщение» отправляем сообщение сотруднику с текстом:

#ответ_sms_aero
Клиент: %vk_link%
Ответ сервера: %response%
Статус текстом: %extendstatus%
Статус числом  (0 — в очереди, 1 — доставлено, 2 — не доставлено, 3 — передано, 8 — на модерации, 6 — сообщение отклонено, 4 — ожидание статуса сообщения) : %datastatus%
Время отправки в юникс: %datesend%
Здесь все стандартные переменные Автопилота. Которые вы можете найти в инструкции.
Здесь все стандартные переменные Автопилота. Которые вы можете найти в инструкции.

11) Опционально, если вы хотите, чтобы клиент получал сообщение с благодарностью, то действием «Отправить сообщение» отправляем сообщение клиенту с текстом (текст может быть любым):

%first_name%, спасибо. Смс будет доставлено в нужное время.
Отправка сообщения клиенту.
Отправка сообщения клиенту.

12) Действие: «Прервать/продолжить выполнение команды» с переключателем продолжено, если числовая переменная %success%равно 0т.е. если запрос не ушел.

Дальнейшие блоки будут выполняться только если есть ошибка от smsaero.
Дальнейшие блоки будут выполняться только если есть ошибка от smsaero.

Поясним: допустим, что у вас не хватает денег на балансе и smsaero по какой-то причине вернул ошибку, т.е. 0в таком случае, вы оперативно уведомите сотрудников и решите проблему. Дальнейшие блоки будут выполняться только если есть ошибка от smsaero.

13) Опционально: для уведомления о проблемах действием «Отправляем сообщение» сотруднику текст с нужным текстом:

#ошибка
Клиент: %vk_link%
Ответ сервера: %resp%
Телефон: %phone%
Статус текстом: %extendstatus%
Статус числом (0 — в очереди, 1 — доставлено, 2 — не доставлено, 3 —передано, 8 — на модерации, 6 — сообщение отклонено, 4 — ожидание статуса сообщения) : %datastatus%)
Время отправки в юникс: %datesend%
Пример сообщения сотруднику только при ошибке. Здесь все стандартные переменные Автопилота. Которые вы можете найти в инструкции.
Пример сообщения сотруднику только при ошибке. Здесь все стандартные переменные Автопилота. Которые вы можете найти в инструкции.
Важно! Всю информацию о тарифах, о мобильных операторах и т.д. можно уточнить в техподдержке smsaero.ru.
Если при отправке запроса, ответ сервера smsaero, вернул вам ответ , то это не значит, что СМС будет доставлено вовремя (это значит, что запрос от АП ушел, а уж сформируется ли смс и будет ли отправлено сообщение, зависит от smsaero).

На этом все. Тестируем.

Клиент получил сообщение
Клиент получил сообщение

Здесь мы видим, что клиенту пришло сообщение, также админу прилетело сообщение об ошибке. Т.е. он оперативно может ее исправить. В данном случае смс не была отправлена потому что дата запланированной отправки уже прошла. Исправляем ошибку, удалив параметр dateSendи пробуем еще раз.

Как было указано выше. Отправка sms сообщений на казахстанские номера недоступна
Как было указано выше. Отправка sms сообщений на казахстанские номера недоступна

А если форму отправит клиент не из Казахстана, то все должно работать и смс уйдет, спустя пятиминутную модерацию.

Творческих взлетов и успешного внедрения!

Вернуться к списку инструкций
451 views·5 shares