Интерактивный обозреватель API

swagger

Обозреватель SWAGGER API

Для удобного просмотра и тестирования ресурсов REST API существует интерактивный обозреватель API.

swagger
rapidoc

Обозреватель RAPIDOC API

Для удобного просмотра и тестирования ресурсов REST API существует интерактивный обозреватель API.

rapidoc

Обозреватель API представляет собой интерактивную страницу, где представлены все доступные ресурсы REST API, их методы, а также входные параметры и поля ответа методов.

Для осуществления запросов к API через интерактивный обозреватель необходимо зарегистрироваться в личном кабинете и произвести авторизацию API. После этого все методы будут доступны для использования.

Общая информация

  • Всё API работает по протоколу HTTPS.
  • Авторизация осуществляется по протоколу Token Based Authentication.
  • Все данные доступны только в формате JSON.
  • Базовый URL — https://cp.optimatel.ru/api/{v1}.

Требования к запросам

  • К любому запросу публичного API нужно указать его текущую версию. Без этого, будет возвращаться ошибка 404 Указанная ссылка не найдена. Анонс новой версии API будет отправлен на электронную почту клиента не позднее чем за 30 дней, до момента перехода. После перехода на новую версию API, в таблице ниже будет отображена информация по срокам поддержки устаревших версий (в среднем 365 дней).
    Версии API Дата выхода Дата истечения
    /v1 20.12.2021 текущая версия
  • В запросе необходимо передавать заголовок Authorization c токеном авторизации, который вы можете получить через метод auth/login. В противном случае ответом будет 401 Имя пользователя и пароль не совпадают или срок действия токена истек.
  • Так же в запросе нужно передать обязательный заголовок Accept c форматом вывода данных application/json. Без этого заголовка вы получите ошибку 403 Заголовок Accept должен быть установлен.

Формат тела запроса при отправке JSON

Данные, передающиеся в теле запроса, должны удовлетворять требованиям:

  • Валидный JSON (допускается передача как минифицированного варианта, так и pretty print варианта с дополнительными пробелами и сбросами строк).
  • Рекомендуется использование кодировки UTF-8 без дополнительного экранирования {«name»: «Иванов Иван»}.
  • Также возможно использовать ascii кодировку с экранированием {«name»: «u0418u0432u0430u043du043eu0432 u0418u0432u0430u043d»}.
  • К типам данных в определённым полях накладываются дополнительные условия,описанные в каждом конкретном методе. В JSON типами данных являются string, number, boolean, null, object, array.

Так же возможно передавать данные через стандартный POST, к примеру application/x-www-form-urlencoded. Это формат для кодирования пар ключ-значение с возможностью дублирования ключей. Каждая пара ключ-значение отделяется символом &, ключ отделен от значения символом =. В ключах и значениях пробелы заменяются на знак +, и затем, используя URL-кодирование, заменяются все не буквенный-цифровые символы.

Например,

Copy to Clipboard

будет закодировано как

Copy to Clipboard

Авторизация пользователя

Полученный токен доступа необходимо передавать в заголовке Authorization в формате Bearer =Token= в каждом запросе к API. Пример заголовка:

Copy to Clipboard

 

Запросы к API будут выполняться от имени и с разрешениями пользователя, предоставившего доступ приложению. Есть возможность выпустить 2 типа токена, один безлимитный, второй на 30 дней, по истечению срока жизни которого, нужно обновить токен на новый с помощью специального метода API.

Ошибки и коды ответов

API широко использует информирование при помощи кодов ответов. Приложение должно корректно их обрабатывать.

Copy to Clipboard

Метод запроса Код успешного выполнения
GET 200
POST 201
PUT 202
DELETE 200

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

Copy to Clipboard

Общие ошибки сервера Code
Запрос не может быть понят сервером 400
Имя пользователя и пароль не совпадают или срок действия токена истек 401
Доступ запрещен 403
Указанная ссылка не найдена 404
Указанный метод для запроса недействителен 405
Указанные данные неверны 422
Слишком много запросов, пожалуйста, помедленнее 429
Что-то пошло не так, попробуйте позже 500

Недокументированные поля и параметры запросов

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

Лимиты на количество запросов

Существуют лимиты на количество API-запросов в минуту для всех пользователей клиента. В случае, если лимит на количество запросов будет превышен, на запрос вернется ответ с кодом 429 Слишком много запросов, пожалуйста, помедленнее, следующий запрос можно будет осуществить только через минуту. Лимит распространятся на пользователей типа «клиент» и является общим для всех пользователей клиента независимо от используемых приложений.

Информация о лимите на количество запросов данного типа, количестве оставшихся запросов до исчерпания лимита передается в специальных заголовках.

Заголовок Описание
X-RateLimit-Limit Лимит на количество запросов в минуту на данный ресурс
X-RateLimit-Remaining Количестве оставшихся запросов до исчерпания лимита

Быстрый старт

Авторизуемся:

Copy to Clipboard

Получаем токен:

Copy to Clipboard

Запрашиваем список договоров:

Copy to Clipboard

Выбираем client_id нужного договора:

client_id может измениться, поэтому лучше вынести его в константу

Copy to Clipboard

Запрашиваем лицевые счета по этому договору:

Copy to Clipboard

Выбираем нужный account_id лицевого счета:

Copy to Clipboard

Интерактивный обозреватель API

swagger

Обозреватель SWAGGER API

Для удобного просмотра и тестирования ресурсов REST API существует интерактивный обозреватель API.

swagger
rapidoc

Обозреватель RAPIDOC API

Для удобного просмотра и тестирования ресурсов REST API существует интерактивный обозреватель API.

rapidoc

Обозреватель API представляет собой интерактивную страницу, где представлены все доступные ресурсы REST API, их методы, а также входные параметры и поля ответа методов.

Для осуществления запросов к API через интерактивный обозреватель необходимо зарегистрироваться в личном кабинете и произвести авторизацию API. После этого все методы будут доступны для использования.