PD Документация ← На главную

SMS (SMS.ru, SMSC, SMS Aero, MTS Exolve, Devino, SIGMA)

SMS уходят через российский SMS-шлюз: SMS.ru, SMSC (smsc.ru), SMS Aero, MTS Exolve, Devino или SIGMA. Все работают с номерами РФ и СНГ, принимают оплату в рублях, и номер получателя не покидает юрисдикцию РФ. Выберите один шлюз на канал; для другого заведите отдельный канал. SMS.ru и SMSC проверены в бою; остальные четыре адаптера написаны по публичной документации шлюзов и на боевых аккаунтах ещё не проверялись — первую отправку сделайте кнопкой Проверить связь и напишите нам, если шлюз ответит иначе.

SMS.ru

Шаг 1 — Аккаунт и api_id

  1. Зарегистрируйтесь на sms.ru и подтвердите номер телефона
  2. Откройте Настройки → API: там показан ваш api_id (UUID вида 00000000-0000-0000-0000-000000000000)
  3. При желании ограничьте api_id по IP-адресам сервера PushData

Шаг 2 — Имя отправителя

Буквенное имя отправителя (например, PUSHDATA) согласуется с оператором в разделе Отправители: без согласования сообщения уходят с именем шлюза по умолчанию. В канале поле «Имя отправителя» можно оставить пустым.

Справочник по полям

ПолеПримерГде найти
api_id6b5c… (UUID)Настройки → API
Имя отправителяPUSHDATAОтправители (после согласования)

Проверьте учётные данные

bash
curl -X POST "https://sms.ru/sms/send" \
  -d "api_id=<API_ID>" \
  -d "to=79991234567" \
  -d "msg=PushData test" \
  -d "json=1"

Ответ {"status":"OK","status_code":100,…} — сообщение принято. status_code 200 — неверный api_id, 201 — нет средств, 204 — имя отправителя не согласовано, 202/207 — номер без маршрута.

SMSC (smsc.ru)

Шаг 1 — Аккаунт и пароль

  1. Зарегистрируйтесь на smsc.ru
  2. Логин — тот, что в личном кабинете; пароль — от кабинета или отдельный пароль для API (Настройки → Пароль для API), его и вводите в канал
  3. Пополните баланс

Шаг 2 — Имя отправителя

В разделе Настройки → Имена отправителей зарегистрируйте буквенное имя; до его одобрения сообщения уходят с именем по умолчанию.

Справочник по полям

ПолеПримерГде найти
ЛогинacmeЛичный кабинет
Пароль•••••Кабинет или пароль для API
Имя отправителяPUSHDATAНастройки → Имена отправителей

Проверьте учётные данные

bash
curl -X POST "https://smsc.ru/sys/send.php" \
  -d "login=<LOGIN>" \
  -d "psw=<PASSWORD>" \
  -d "phones=79991234567" \
  -d "mes=PushData test" \
  -d "fmt=3" \
  -d "charset=utf-8"

Ответ {"id":…,"cnt":1} — принято. error_code 2 — неверный логин или пароль, 3 — нет средств, 6 — сообщение или имя отправителя запрещено, 7 — неверный формат номера.

SMS Aero (smsaero.ru)

Каналу нужны e-mail аккаунта (логин API), API-ключ (кабинет → Настройки → API) и согласованная в кабинете подпись (пусто — SMS Aero по умолчанию). PushData вызывает POST https://gate.smsaero.ru/v2/sms/send с HTTP basic auth; в ответе success: false причина лежит в message — несогласованная подпись, неверный номер, нет средств.

bash
curl -u "<EMAIL>:<API_KEY>" "https://gate.smsaero.ru/v2/sms/send?number=79991234567&text=PushData+test&sign=SMS+Aero"

MTS Exolve (exolve.ru)

Exolve отправляет с номера аккаунта (куплен в кабинете Exolve), а не с буквенного имени. Каналу нужны API-ключ приложения и этот номер отправителя (цифры). PushData вызывает POST https://api.exolve.ru/messaging/v1/SendSMS с bearer-ключом и { number, destination, text }; ответ — { message_id }, отказ — 400 с code и message.

bash
curl -X POST "https://api.exolve.ru/messaging/v1/SendSMS" -H "Authorization: Bearer <API_KEY>" -H "Content-Type: application/json" \
  -d '{"number":"<EXOLVE_NUMBER>","destination":"79991234567","text":"PushData test"}'

Devino (Devino Online)

Каналу нужны API-ключ (Devino Online → Настройки → API-ключи) и согласованное имя отправителя. PushData вызывает POST https://api.devino.online/sms/messages с Authorization: Key <API-ключ> и одним сообщением; в ответе — messageId и code сообщения (OK или отказ вроде INVALID_RECIPIENT, INVALID_SENDER, INSUFFICIENT_FUNDS).

bash
curl -X POST "https://api.devino.online/sms/messages" -H "Authorization: Key <API_KEY>" -H "Content-Type: application/json" \
  -d '{"messages":[{"from":"PUSHDATA","to":"79991234567","text":"PushData test"}]}'

SIGMA (sigmasms.ru)

Каналу нужны логин кабинета (e-mail), пароль и имя отправителя. PushData входит через POST https://online.sigmasms.ru/api/login, держит токен полчаса и отправляет POST /api/sendings ({ recipient, type: "sms", payload: { sender, text } }); ответ — { id, state }, отказ — 400 с error.

bash
TOKEN=$(curl -s -X POST "https://online.sigmasms.ru/api/login" -H "Content-Type: application/json" -d '{"username":"<LOGIN>","password":"<PASSWORD>"}' | jq -r .token)
curl -X POST "https://online.sigmasms.ru/api/sendings" -H "Authorization: $TOKEN" -H "Content-Type: application/json" \
  -d '{"recipient":"79991234567","type":"sms","payload":{"sender":"PUSHDATA","text":"PushData test"}}'

Формат номеров

Номер получателя берётся из поля phone контакта. PushData приводит его к цифрам: +7 (999) 123-45-67 и 8 999 123 45 67 уходят как 79991234567; номера других стран — с кодом страны без +.

Проверка связи в панели

Кнопка Проверить связь на странице канала отправляет одно реальное SMS на указанный номер через введённые учётные данные — так вы видите и списание, и имя отправителя до сохранения канала.