Обновлено: 20.05.2021
SMS все еще пользуется популярностью повсеместно. Для многих бизнесов это отличный способ информировать клиента о статусе его заказа и прочих вещей.
В этой статье расскажу, как настроить отправку 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. В нем все просто настраивается в пару кликов и все готово.
- Регистрируетесь на ClickSend, получаете токен для авторизации в Integromat
- Дальше в поле задается имя отправителя, текст, и номер получателя.
- Все работает.
Но по факту ClickSend оказался очень дорогой для отправки SMS в странах СНГ, а так как Integromat сервис европейский, то и интеграции у него в основном с европейскими сервисами. СНГ-SMS провайдеров в нем нет.
Что делать? Найти провайдера, у которого есть API, думаю таких много. В Беларуси есть оператор sms.by, у которого стоимость отправки SMS по стране в 10 раз дешевле, чем у ClickSend. Отправка SMS осуществляется HTTP-запросом на уникальную ссылку.
Чтобы отправлять запросы к API, регистрируемся, пополняем баланс, получаем токен. Думаю, что процесс регистрации примерно одинаковый в любых странах, где есть SMS-провайдеры, нужно лишь найти подходящий.
- Возвращаемся к нашему сценарию, добавляем модуль HTTP -> Make a request.
- В соответствии с документацией, отправляем в URL запроса текст смс и номер получателя. Метод GET (так конкретно у sms.by). Больше ничего не нужно.
Единственный минус: в модуле ClickSend можно было делать перенос строки, а здесь нельзя (или я не знаю как это сделать в url запроса), поэтому смс приходит одним абзацем, но это мелочь.
Помните, что использование кириллических символов делает SMS в 2-3 раза больше в размере, поэтому используйте латинские символы. Для проверки размера SMS можно использовать сервис smscharactercount.com.
Завершаем сценарий
Дальше можно выставлять статус в кастомном поле Статус SMS в карточке трелло на Отправлено с помощью модуля Trello -> Set a Custom Field on a Card.
Также можно поставить роутер и фильтр на ошибку, если что-то пошло не так. В моем случае это выглядит так:
Если номер телефона был заполнен неверно, то будет ошибка, и важно её отловить отдельной веткой и уведомить менеджера. Это можно делать как комментом в карточке Trello, так и сообщением в Telegram. Вторую ветку без ошибки ставим как запасную (fallback route).
Также при ошибке отправки СМС, в карточке Trello будет выставлен статус СМС — Не отправлена, что дополнительно указывает на ошибку.
Вот такой несложный сценарий на сегодня. Если будут вопросы — задавайте.
SEO-менеджер.
Люблю SEO, маркетинг, увлекаюсь автоматизацией и терпеть не могу ручную работу, которую можно делегировать роботу.