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

Сервисы для обработки SMS

🔗 Оригинальная страница — Источник данного материала


Описание

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

Как добавить действие в проект?

Через контекстное меню: Добавить действие → Данные → Sms-сервисы

image-20200817-181133


Принцип работы

Для начала требуется подключить API-ключ одного из SMS-сервисов

Это делается в настройках программы

Экшен имеет следующие основные настройки:

image-20200817-170949

SMS-сервис

Выбор подходящего SMS-сервиса для работы. Настройки сервисов описаны здесь.


Действие — Получить номер.

image-20200817-170842

Сервис

Сайт или приложение, для которого надо получить номер.

Допустимые значения уточняйте в документации выбранного сервиса

Оператор (страна).

В этом поле указываем код страны, номер которой нужно получить.

Коды стран отличаются от сервиса к сервису, поэтому их также уточняем в документации.

Выполнить переадресацию.

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

Положить ID активации в переменную.

В указанную здесь переменную сохранится ID активации. Он понадобится в дальнейшем, когда проект будет ожидать получения СМС.


Действие — Изменить статус.

Уведомление сервиса об изменении статуса номера.

image-20210516-164649

ID активации.

Тут указываем ID активации, который был получен в действии Получить номер. Можно использовать макрос переменной.

Статус:

  • SMS отправлено. Сообщение было успешно отправлено на указанный номер.
  • Повторный запрос кода. При необходимости отправить СМС еще раз.
  • Отмена запроса. Используется, когда номер больше не нужен. В некоторых случаях сервисы возвращают использованные деньги.
  • Номер уже использовался. Нужен для уведомления сервиса о том, что номер не подходит по причине его занятости.
  • Завершение. Сообщает сервису, что задача, для которой брался номер, успешно выполнена.

Переадресация.

Здесь пишем номер, на который будет происходить переадресация.


Получить статус

С помощью этого действия можно узнать состояние номера.

Программа ожидает получение СМС в течение 3 минут. Если за это время оно не было получено, то в итоговую переменную попадет значение Wait. А это действие придется повторить заново.

Учитывайте, что некоторые сервисы имеют долгое время отклика на СМС (до 15 минут).

image-20200817-171138

ID активации.

Тут указываем ID активации, который был получен в действии Получить номер. Можно использовать макрос переменной.


Дополнительные параметры.

У некоторых сервисов также есть дополнительные параметры, которые не входят в общие настройки экшена. Их можно задать в специальном поле, используя вот такой формат: параметр=значение.

Можно передавать сразу несколько параметров. Друг от друга они должны отделяться символом &. Вот так: &параметр1=значение1&параметр2=значение2&параметрN=значениеN.

У каждого сервиса свои названия параметров, поэтому их нужно узнавать в документации выбранного сервиса.


Положить в переменную.

Как и в прочих экшенах, это поле служит для указания перменной, в которую будет сохранен результат работы.


Алгоритм работы.

1. Заказать номер и получить его.
2. Отправить на полученный номер SMS сообщение.
3. Уведомить сервис, что сообщение отправлено.
4. Ожидать получения сообщения.
5. Завершить сессию.

image-20200817-172911
Примерная схема работы с SMS-сервисом
Не используйте в своих проектах бесконечные циклы.

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


Полезные ссылки