Перейти к содержимому

Простой сценарий отправки SMS клиентам через Integromat

Отправка SMS через Integromat

Обновлено: 20.05.2021

SMS все еще пользуется популярностью повсеместно. Для многих бизнесов это отличный способ информировать клиента о статусе его заказа и прочих вещей.

В этой статье расскажу, как настроить отправку SMS в Integromat. В этот раз сценарий будет небольшой и простенький.

Отправка SMS через Integromat
Отправка SMS через Integromat

Создаем сценарий и определяем триггер

После создания сценария первым делом нужно определить триггер, по которому будет происходить отправка SMS. В моем случае, работая в Trello, это будет перемещение карточки в определенный столбец. Назовем его «Готовые».

  • Создаем триггер Trello -> Watch activities (Instant).
  • В окошке выбираем доску и столбец, который нужно мониторить.
  • Дальше выбираем тип активности updateCard.
  • Запускаем тестово именно этот модуль и совершаем перемещение карточки. Если модуль срабатывает — отлично, идем дальше.

Ставим фильтр на listAfter (если триггер — перемещение в столбец)

Модуль будет срабатывать каждый раз при перемещении карточки как в столбец Готовые, так и из него. Поэтому, чтобы отфильтровать ненужные срабатывания, ставим фильтр на переменную listAfter. В неё ставим id столбца Готовые (id столбца узнаем из тестового срабатывания модуля или в исходном коде доски Trello).

Фильтр на перемещние карточки в необходимый столбец
Фильтр на перемещние карточки в необходимый столбец

Таким образом, проходить дальше будут только пакеты, где в»столбце после» именно Готовые.

Задаем текст SMS и номер получателя

Дальше рекомендую через модуль Set Multiple Variables задать переменные с текстом SMS и номером телефона получателя.

Задание переменных для отправки СМС
Задание переменных для отправки СМС
  • Если номер телефона есть в кастомном поле в карточке Trello, то достаем его с помощью функции map().
  • Текст SMS может быть как статичным, так и динамическим. В моем случае он статичен, меняется только номер заказа shortID. Если у вас множество вариантов текста SMS, то можно использовать функции if, switch и др. для этого.
  • Для предотвращения повторной отправки SMS, можно сделать выпадающие поле в карточке Trello: Статус SMS. В данном сценарии я также проверяю ID выставленной опции в этом выпадающием списке. Если статус «Отправлена», то дальше фильтр не пропустит сценарий.

Выбираем провайдера SMS

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

Настройка отправки SMS в ClickSend
Настройка отправки SMS в ClickSend
  • Регистрируетесь на ClickSend, получаете токен для авторизации в Integromat
  • Дальше в поле задается имя отправителя, текст, и номер получателя.
  • Все работает.

Но по факту ClickSend оказался очень дорогой для отправки SMS в странах СНГ, а так как Integromat сервис европейский, то и интеграции у него в основном с европейскими сервисами. СНГ-SMS провайдеров в нем нет.

Что делать? Найти провайдера, у которого есть API, думаю таких много. В Беларуси есть оператор sms.by, у которого стоимость отправки SMS по стране в 10 раз дешевле, чем у ClickSend. Отправка SMS осуществляется HTTP-запросом на уникальную ссылку.

Чтобы отправлять запросы к API, регистрируемся, пополняем баланс, получаем токен. Думаю, что процесс регистрации примерно одинаковый в любых странах, где есть SMS-провайдеры, нужно лишь найти подходящий.

  1. Возвращаемся к нашему сценарию, добавляем модуль HTTP -> Make a request.
  2. В соответствии с документацией, отправляем в URL запроса текст смс и номер получателя. Метод GET (так конкретно у sms.by). Больше ничего не нужно.
Отправка СМС через API и модуль HTTP Send a request
Отправка СМС через API и модуль HTTP Send a request

Единственный минус: в модуле ClickSend можно было делать перенос строки, а здесь нельзя (или я не знаю как это сделать в url запроса), поэтому смс приходит одним абзацем, но это мелочь.

Помните, что использование кириллических символов делает SMS в 2-3 раза больше в размере, поэтому используйте латинские символы. Для проверки размера SMS можно использовать сервис smscharactercount.com.

Завершаем сценарий

Дальше можно выставлять статус в кастомном поле Статус SMS в карточке трелло на Отправлено с помощью модуля Trello -> Set a Custom Field on a Card.

Также можно поставить роутер и фильтр на ошибку, если что-то пошло не так. В моем случае это выглядит так:

Проверка статуса ошибки в ответе HTTP модуля
Проверка статуса ошибки в ответе HTTP модуля

Если номер телефона был заполнен неверно, то будет ошибка, и важно её отловить отдельной веткой и уведомить менеджера. Это можно делать как комментом в карточке Trello, так и сообщением в Telegram. Вторую ветку без ошибки ставим как запасную (fallback route).

Сообщение в Telegram об ошибке отправки СМС
Сообщение в Telegram об ошибке отправки СМС

Также при ошибке отправки СМС, в карточке Trello будет выставлен статус СМС — Не отправлена, что дополнительно указывает на ошибку.


Вот такой несложный сценарий на сегодня. Если будут вопросы — задавайте.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *