Инструменты пользователя

Инструменты сайта

  • ru

Vendor API

Решаемые задачи

Сервис позволяет выполнять CRUD операции над сущностями «подписка» и «подписчик»(«пользователь») на стороне вендора.

Архитектурные принципы

Авторизация

Basic/Digest/OAuth. Обсуждаемо, как и соединение по HTTPS.

Заголовки запроса

Каждый HTTP-запрос к сервису обязан содержать следущий набор метаинформации в заголовках:

Имя Тип Описание
Content-Type string application/json
vendor-api-tracking-id string (GUID) Уникальный идентификатор пары «запрос-ответ» для обеспечения идемпотентности (эквивалентности результатов повторяемого действия). В случае коммуникационных проблем (разрыв соединения, timeout) повторный запрос должен включать тот же GUID. При получении ответа на клиенте, данное значение идентификатора не может быть использовано клиентом еще раз.
vendor-api-correlation-id string (GUID) Уникальный идентификатор запроса. Каждый запрос к сервису должен обладать уникальным значением данного идентификатора, независимо от того, был ли получен ответ. Применяется для записи в логах, журналах ошибок.
vendor-api-version string Версия API

Заголовки ответа

Каждый HTTP-ответ сервиса обязан содержать следущий набор метаинформации в заголовках:

Имя Тип Описание
Content-Type string application/json
vendor-api-version string Версия API

Действия над ресурсом

Типовые действия над ресурсом (URI) согласуются с методом HTTP-запроса:

Метод Действие над ресурсом
GET Прочитать
POST Создать
PUT Обновить
DELETE Удалить

Данные в теле запроса/ответа передаются в формате JSON.

Результат запроса

Успех/неуспех запроса определяется согласно стандартным HTTP-кодам ответа:

  • 200 ОК — все в порядке
  • 4хх — неправильный запрос / ошибка валидации входных данных
  • 5хх — ошибка сервера

В случае ошибки (коды 4хх-5хх) в теле ответа возвращается общий для сервиса набор данных, содержащий сообщение об ошибке и дополнительную информацию. Дополнительная информация в разделе Ошибки сервиса.