Коллекции для партнеров

Загрузите готовые коллекции и импортируйте их в Postman для тестирования API.

Список коллекций:

Инструкция по работе с коллекциями

Структура запросов

В разделе Collections внутри главной корневой папки лежит несколько папок:

  • Menu – запросы для парсинга меню:

    1. Выдача меню/номенклатуры.
    2. Стоки/Stocks – выдача позиций меню недоступных для заказа на текущий момент.
    3. Promo – выдача акционных блюд в связке с меню (только для ресторанов).
  • Slots/Слоты – методы получения слотов в каталоге и корзине (только для магазинов на слотах).

  • Order (Заказы) – запросы по ручкам заказа:

    1. POST /order – отправка заказа.
    2. GET /order/{order_id} – выдача актуальной информации о заказе.
    3. DELETE /order/{order_id} – отмена заказа в системе ресторана (со стороны Яндекса).
    4. PUT /order/{order_id}– обновление заказа в системе ресторана.
    5. GET /order/{order_id}/status – выдача актуального статуса заказа в системе ресторана.

  • Метод получения списка заведений партнера GET /restaurants.

  • Метод получения токена авторизации POST /security/oauth/token.

Работа с окружением

Для удобства и скорости выполнения запросов, изменяемые параметры выведены в переменные. Перед началом работы добавьте их в окружение.

  1. Создайте новое окружение на вкладке Environments.

  2. Введите имя окружения и сохраните его.

  3. В столбце Variable добавьте необходимые параметры. В столбце Current_value введите значения нужных параметров:

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

Отправка запросов

  1. Авторизация

    1. Нажмите на нужный запрос и перейдите на него.

    2. В теле запроса (вкладка Body) убедитесь, что указаны необходимые переменные, а значения grant_type и scope соответствуют кредам:

      • Заголовок запроса application/x-www-form-urlencoded (соответствует спецификации)
      • При запросе токена заголовок авторизации не требуется – на вкладке Authorization должен быть установлен type = "no auth", а на вкладке Headers заголовок авторизации не должен быть включен:

    3. Нажмите Send, чтобы отправить запрос.

  2. Запрос на получение меню или номенклатуры

    1. Получить токен авторизации.
    2. Перейти к запросу GET {host}/menu/{restaurant_id}/composition или GET /{host}/nomenclature/{place_id}/availability.
    3. Убедиться, что полученный токен применился корректно:
      • На вкладке Authorization используется Type "OAuth 2.0".
      • На вкладке Headers токен указан в значении (value) ключа Authorization:
    4. Нажать 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 – статус прохождения тестов.

Предыдущая
Следующая