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

Общая схема API

REST API PTNL Rating позволяет интегрировать платформу с внутренними системами: вести справочники, загружать продукты, готовить дегустации и выгружать результаты.

Всё, что делает интерфейс, доступно и через API — интерфейс работает поверх того же набора методов.

Принципы​

  • REST + JSON — предсказуемые ресурсы и коды ответов.
  • HTTP или HTTPS — HTTPS и сетевой доступ к экземпляру настраивает администратор, выполняющий установку, см. Инструкцию по установке.
  • Версионирование в пути — рабочие методы находятся под префиксом /api/v1.
  • Права от роли — токен действует от имени пользователя и ограничен правами его роли, см. Авторизация.

Служебные методы​

МетодНазначение
GET /api/health-checkПроверка доступности сервиса
GET /api/info/versionВерсия сервиса

Оба метода удобны для мониторинга и проверки связности после развёртывания.

Основные группы ресурсов​

ГруппаНазначение
categoriesКатегории и их атрибуты
productsКарточки продуктов, изображения, статистика
batchesПроизводственные партии
importsСессии импорта из Excel
degustationsДегустации, шаблоны, ответы, экспорт
degustations-expertsПрохождение дегустации экспертом
users, groups, rolesУчётные записи, комиссии и права
licensesЛицензия и лимиты
action-logsЖурнал действий

Формат списков​

Методы получения списков возвращают массив строк и общее количество:

{
"rows": [],
"total": 0
}

Поле total содержит число записей до применения постраничности — по нему считается количество страниц.

Общие параметры запроса​

ПараметрНазначение
limitРазмер страницы
offsetСмещение от начала выборки
order_byПоле сортировки
order_directionНаправление сортировки
searchПоиск по строковым полям ресурса

К ним добавляются фильтры конкретного ресурса. У продуктов это category_id, status, rating_from и rating_to.

Формат ошибки​

Ошибки возвращаются единообразно:

{
"code": "unauthorized",
"http_code": 401,
"message": "",
"errors": {
"field_name": { "key": "not exists", "condition": "" }
}
}
ПолеСодержание
codeМашиночитаемый код ошибки
http_codeКод состояния HTTP
messageТекстовое описание
errorsРазбор по полям при ошибке валидации

Разбирайте ответ по полю code, а не по тексту message: текст может измениться.

Типовые сценарии​

Полная спецификация

Здесь описаны схема обмена и группы ресурсов. Полный перечень методов с параметрами и моделями доступен в Swagger вашего экземпляра по адресу /api/v1/swagger/index.html. Вопросы по интеграции — на support@ptnlrating.ru.