Оформление
Создание одиночной SMS
sms-create · POST /api/json/2020-01-01 · Все действия
Создает сообщение для дальнейшей обработки. Первый ответ обычно содержит status=reserve и paid=false: резервирование, передача шлюзу и доставка выполняются позже. Для отложенной SMS передавайте явный expire, рассчитанный от schedule.
Запрос
| Поле | Тип | Обязательно | Правило |
|---|---|---|---|
signature_id | string | Да | ID собственной одобренной SMS-подписи. |
phone | string | Да | Знак + и 9–15 цифр без разделителей. |
message | string | Да | 1–1000 символов после нормализации; стоимость зависит от кодировки и числа частей. |
schedule | string | Нет | Строгий ISO 8601 с секундами и смещением; сейчас −5 минут … сейчас +30 суток. Без поля — сейчас. |
expire | string | Нет | Явное значение: schedule +1 час … schedule +3 суток. Без поля — сейчас +3 суток, даже при будущем schedule. |
request_id | string | Нет | Ключ повтора: 1–64 латинских буквы, цифры, дефисы или подчеркивания; см. общие правила. |
Иллюстративный запрос (ключ и ID замените собственными):
json
{
"api_key": "00000000-0000-0000-0000-000000000001",
"action": "sms-create",
"data": {
"signature_id": "000000000000000000000002",
"phone": "+79401234567",
"message": "Проверка связи",
"request_id": "order-1001"
}
}Результат
data — объект; поля описаны в общем контракте результатов.
json
{
"success": true,
"data": {
"id": "000000000000000000000001",
"created": "2026-10-11T12:00:00+00:00",
"updated": "2026-10-11T12:00:00+00:00",
"signature": "TestSMS",
"phone": "+79401234567",
"message": "Проверка связи",
"parts": 1,
"price": 2.49,
"total": 2.49,
"status": "reserve",
"paused": false,
"paid": false
}
}Отказы
Общие ошибки запроса и доступа применяются ко всем действиям. Неизвестные поля отклоняются; проверяйте success даже при HTTP 200.
| Код | Причина |
|---|---|
SMS-CREATE-EXPIRE-INVALID-FORMAT | Срок действия имеет недопустимый формат |
SMS-CREATE-EXPIRE-INVALID-RANGE | Явный срок жизни должен быть от 1 часа до 3 суток после планового времени (для рассылки — после till). |
SMS-CREATE-EXPIRE-INVALID-TYPE | Срок действия имеет недопустимый тип значения |
SMS-CREATE-MESSAGE-INVALID-FORMAT | Сообщение имеет недопустимый формат |
SMS-CREATE-MESSAGE-INVALID-TYPE | Сообщение имеет недопустимый тип значения |
SMS-CREATE-MESSAGE-REQUIRED | Сообщение не указано |
SMS-CREATE-PHONE-BLACKLISTED | Номер телефона включен в черный список |
SMS-CREATE-PHONE-INVALID-FORMAT | Номер телефона имеет недопустимый формат |
SMS-CREATE-PHONE-INVALID-TYPE | Номер телефона имеет недопустимый тип значения |
SMS-CREATE-PHONE-OPERATOR-NOT-FOUND | Оператор номера телефона не определен |
SMS-CREATE-PHONE-REQUIRED | Номер телефона не указан |
SMS-CREATE-PHONE-ROUTE-NOT-FOUND | Маршрут для номера телефона не определен |
SMS-CREATE-REQUEST-ID-INVALID-FORMAT | Ключ идемпотентности имеет недопустимый формат |
SMS-CREATE-REQUEST-ID-INVALID-TYPE | Ключ идемпотентности имеет недопустимый тип значения |
SMS-CREATE-SCHEDULE-INVALID-FORMAT | Время отправки имеет недопустимый формат |
SMS-CREATE-SCHEDULE-INVALID-RANGE | schedule должен быть в диапазоне сейчас −5 минут … сейчас +30 суток. |
SMS-CREATE-SCHEDULE-INVALID-TYPE | Время отправки имеет недопустимый тип значения |
SMS-CREATE-SIGNATURE-ID-INVALID-FORMAT | Идентификатор подписи отправителя имеет недопустимый формат |
SMS-CREATE-SIGNATURE-ID-INVALID-TYPE | Идентификатор подписи отправителя имеет недопустимый тип значения |
SMS-CREATE-SIGNATURE-ID-NOT-APPROVED | Подпись отправителя с таким идентификатором не подтверждена |
SMS-CREATE-SIGNATURE-ID-NOT-FOUND | Подпись отправителя с таким идентификатором не найдена |
SMS-CREATE-SIGNATURE-ID-REQUIRED | Идентификатор подписи отправителя не указан |