Коллекции для партнеров
Загрузите готовые коллекции и импортируйте их в Postman для тестирования API.
Список коллекций:
Инструкция по работе с коллекциями
Структура запросов
В разделе Collections внутри главной корневой папки лежит несколько папок:
-
Menu – запросы для парсинга меню:
Выдача меню/номенклатуры.Стоки/Stocks– выдача позиций меню недоступных для заказа на текущий момент.Promo– выдача акционных блюд в связке с меню (только для ресторанов).
-
Slots/Слоты– методы получения слотов в каталоге и корзине (только для магазинов на слотах).
-
Order (Заказы)– запросы по ручкам заказа:POST /order– отправка заказа.GET /order/{order_id}– выдача актуальной информации о заказе.DELETE /order/{order_id}– отмена заказа в системе ресторана (со стороны Яндекса).PUT /order/{order_id}– обновление заказа в системе ресторана.GET /order/{order_id}/status– выдача актуального статуса заказа в системе ресторана.

-
Метод получения списка заведений партнера
GET /restaurants. -
Метод получения токена авторизации
POST /security/oauth/token.
Работа с окружением
Для удобства и скорости выполнения запросов, изменяемые параметры выведены в переменные. Перед началом работы добавьте их в окружение.
-
Создайте новое окружение на вкладке
Environments.
-
Введите имя окружения и сохраните его.
-
В столбце Variable добавьте необходимые параметры. В столбце Current_value введите значения нужных параметров:

-
Сохраните изменения. Чтобы изменить значения переменных, перейдите на вкладку Редактирование.

Отправка запросов
-
Авторизация
-
Нажмите на нужный запрос и перейдите на него.
-
В теле запроса (вкладка Body) убедитесь, что указаны необходимые переменные, а значения
grant_typeиscopeсоответствуют кредам:
- Заголовок запроса
application/x-www-form-urlencoded(соответствует спецификации) - При запросе токена заголовок авторизации не требуется – на вкладке Authorization должен быть установлен
type = "no auth", а на вкладкеHeadersзаголовок авторизации не должен быть включен:


- Заголовок запроса
-
Нажмите Send, чтобы отправить запрос.
-
-
Запрос на получение меню или номенклатуры
- Получить токен авторизации.
- Перейти к запросу
GET {host}/menu/{restaurant_id}/compositionилиGET /{host}/nomenclature/{place_id}/availability. - Убедиться, что полученный токен применился корректно:
- На вкладке Authorization используется Type "OAuth 2.0".
- На вкладке Headers токен указан в значении
(value)ключаAuthorization:
- Нажать Send, чтобы отправить запрос.
Примечание
В запросах на получение меню/номенклатуры учтены проверки на успешный ответ (код 200) и коды ошибок 401 (запрос без авторизации) и 404 (сэмулирован запрос с невалидным place_id). Там проверяются заголовки и тела ответов на соответствие спецификации.
Остальные запросы выполняются аналогично. Проверки заголовков и тела ответа учитывают только успешный код ответа (200).
Проверка результатов тестов
Для запросов получения меню или стоков, и данных по заказам внутри вкладки Tests написаны скрипты автопроверок на наиболее грубые ошибки, к которым чувствительна система.
После выполнения запроса результаты тестов выводятся в блоке Response -> Tests Results

Расшифровка статусов тестов
-
Content-Type is present and correct value– корректный заголовок (Content Type) в ответе. -
Validate JSON schema– схема ответа соответствует спецификации. -
Date in lastChange is present in correct format– параметр lastChange соответствует формату RFC3339 с дробной частью секунд и регулярному выражению. -
The price should not be <= 0– цена товара ненулевая. -
mxikCodeUz is exactly 17 symbols long | AssertionError: expected +0 to equal 54– коды ИКПУ (актуально только для Узбекистана) соответсвуют формату (17 цифр). -
The measureUnit one of [г, мл, g, ml]– единица измерения соответствует допустимым значениям (граммы и миллилитры). -
Id in items are unique - все id товаров уникальны.– проверка на"categoryId": null. В этом случае id таких категорий будут выведены в консоль. -
All categoryId of items exist in categories id– все id категорий, на которые ссылаются айтемы, объявлены в массиве категорий. -
Images links lead to picture– все ссылки на изображения содержат допустимые разрешения. -
Response timeout is within acceptable range- Время ожидания ответа на запрос находится в пределах допустимого диапазона. -
PASS /FAIL– статус прохождения тестов.