Обмен данными клиентского приложения с сервером осуществляется посредством обращения по https.
Форматы запросов и ответов должны соответствовать спецификации JSON API. Все данные передаются в кодировке UTF-8.
Авторизация проходит по протоколу OAuth2.
Для авторизации требуется знать
- client_secret - секретный ключ приложения, направляется на электронную почту при регистрации
- client_id - идентификатор приложения, направляется на электронную почту при регистрации
- username - логин от учетной записи пользователя под которым идет обмен
- password - пароль от учетной записи пользователя под которым идет обмен
При авторизации в "access_token" будет находиться user_id (идентификатор пользователя/учетной записи), его требуется указывать в запросе для доступа к пользовательским ресурсам. Более подробно смотри v2.1 Авторизация.
В каждом запросе передаётся версия api в url.
Протокол обмена построен по принципу REST.
Лимиты и ограничения:
Лимиты API указаны в тарифном плане пользователя и могут быть расширены (платно).
Базовое ограничение - до 500 запросов в сутки.
API делит все запросы на 3 типа:
- 1) Стандартные - запросы на получение любый пользовательских данных.
- 2) Словари - запросы на получение статических данных.
- 3) Тяжелые запросы или Запросы к истории.
Каждый тип запроса имеет свой счетчик запросов. Текущие ограничения в запросах:
- Стандартные (данные пользователя) - 30 запросов в 10 секунд.
- Словари (статические данные) - 30 запроса в 10 секунд.
- Тяжелые (история) - 40 запросов в 10 секунд.
Все запросы свыше указанных лимитов возвращаются с ошибкой 429.
Поддерживаемые методы:
GET - получение ресурса.
OPTIONS - проверка доступных параметров (используется для поддержки cors)
POST - создание ресурса
PATCH - изменение ресурса
DELETE - удаление ресурса
Возможные ответы сервера:
200 ОК - Сервер обработал запрос и возвращает результат с данными
201 Created - Сервер создан ресурс. В ответе описание ресурса и ссылка на него.
204 No Content - Сервер обработал запрос. Тело ответа пустое.
304 Not Modified - Данные ресурса не менялись. Тело сообщения пустое.
400 Bad Request - Некорректный запрос, неизвестные или не поддерживаемые параметры запроса.
401 Unauthorized - Клиент не предал токен, либо его действие истекло, либо токен не валиден. Клиенту следует обновить access token (если пользователь был авторизован до этого) либо пройти авторизацию.
403 Forbidden - Доступ к ресурсу запрещён (Пользователь корректно авторизован, но ему запрещено выполнять данное действие с данным ресурсом).
404 Not Found - Ресурс не найден.
405 Method Not Allowed - http метод из запроса не поддерживается для данного ресурса (для данного url).
409 Conflict - Произошел конфликт при записи данных.
429 Too Many Requests - Слишком много запросов.
501 Not Implemented - Метод указанный в запросе не поддерживается.
1 Comment
Владислав Бельков
Пример - получение токена для системы 1С