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

Адрес и формат JSON API ​

JSON API версии 2020-01-01 принимает POST-запросы и возвращает JSON. Список всех действующих действий и общие контракты описывают возможности этой версии. Контракт проверен по версии разработки 2026-10-11.

Адрес ​

text
https://api.yesms.ru/api/json/2020-01-01

Путь текущего приложения — /api/json/2020-01-01. Заголовки: Content-Type: application/json; charset=utf-8 и Accept: application/json. Доступность продового домена и его прокси не проверялась в рамках актуализации контракта.

Запрос ​

json
{
  "api_key": "00000000-0000-0000-0000-000000000001",
  "action": "sms-status",
  "data": {
    "id": "000000000000000000000001"
  }
}

В примерах используются вымышленные ключи и идентификаторы. Замените их значениями своей учетной записи.

api_key и action — обязательные строки. Поле data передается для действий с параметрами. У blacklist-search, phonebook-search, sms-signature-search и viber-signature-search поля data нет: даже {} в нем отклоняется как лишнее поле. Неизвестные поля запроса и вложенных объектов отклоняются.

Максимальное тело запроса — 2 МиБ (2 097 152 байта), допустимая глубина JSON — 16. Эти границы могут оказаться строже предела количества номеров: 500 000 записей не обязательно помещаются в один запрос.

Ответ ​

Действия чтения и изменения возвращают success: true и data; data бывает объектом или массивом. Удаление возвращает только {"success": true}. Ошибка возвращается как success: false и строковый код error:

json
{
  "success": false,
  "error": "SMS-STATUS-ID-NOT-FOUND"
}

Проверяйте HTTP-статус, затем success. Успешный HTTP-ответ может содержать отказ бизнес-операции. Сбой HTTP, неверный JSON ответа и таймаут следует обрабатывать отдельно от кодов ниже. Успех sms-create или sms-create-bulk означает создание для последующей обработки; он не подтверждает доставку и списание денег.

Общие ошибки ​

КодПричина
REQUEST-TOO-LARGEТело превышает 2 МиБ.
REQUEST-INVALID-FORMATНеверный JSON, недопустимая структура, превышенная глубина или лишние поля.
REQUEST-API-KEY-REQUIREDНет api_key.
REQUEST-API-KEY-INVALID-TYPEapi_key не строка.
REQUEST-API-KEY-INVALID-FORMATКлюч не соответствует формату выдаваемых ключей.
REQUEST-API-KEY-NOT-FOUNDНет ключа, его пользователя или активного проекта.
REQUEST-API-KEY-NOT-SUPPORTEDКлюч выпущен для другой версии API.
REQUEST-API-KEY-REJECTEDАдрес клиента не прошел ограничения ключа.
REQUEST-USER-BLOCKEDПользователь заблокирован.
REQUEST-ACTION-REQUIREDНет action.
REQUEST-ACTION-INVALID-TYPEaction не строка.
REQUEST-ACTION-NOT-SUPPORTEDДействие не входит в список этой версии.
REQUEST-DATA-REQUIREDДля выбранного действия нет data.
REQUEST-DATA-INVALID-TYPEdata не является объектом/массивом JSON, ожидаемым действием.
REQUEST-DATA-INVALID-FORMATНедопустимые поля data в действиях массового расчета/создания.

Коды проверки конкретных полей перечислены на страницах действий. Клиенту стоит сохранять точный код вместе с действием и своим идентификатором операции.