API Orders

Материал из SmartSatu Knowledge Base
Перейти к навигации Перейти к поиску

Обзор

Данный документ описывает методы для работы поставщика/дистрибьютора по получению полного или отсортированного по статусу списка заказов, а также изменению и корректировке заказа поставщиком в системе Smart Satu.

Версия

Version: 1.0.0

Контактная информация

Contactinfo@smartsatu.com

URI схема

Host : //smartsatu.com/api/ Schemes : HTTPS

Методы

Получение списка заказов

GET /orders

Получение списка заказов в зависимости от статуса заказа

GET /orders?status=

Изменение и корректировка заказа поставщиком

PUT /orders/{id}

Описание

Получение списка заказов

Для того чтобы получить список всех заказов необходимо отправить GET-запрос c пустым телом по URL: https://food.smartsatu.com/api/orders. В headers запроса обязательно должна передаваться страна пользователя, а также уникальный токен авторизации, который был получен при входе в систему. Ответом от сервера будет являться массив данных со списком всех ваших заказов в системе Smart Satu с их данными. Во всех заказах передается тип оплаты "payment_type", где:

  • 0 = оплата заказа наличными;
  • 1 = оплата заказа оборотными средствами;
  • 2 = оплата заказа по QR;
  • 3 = оплата заказа по безналичному расчету.

Получение списка заказов в зависимости от статуса заказа

Для того чтобы получить список заказов имеющих определенный статус необходимо отправить GET-запрос c пустым телом по URL: https://food.smartsatu.com/api/orders. В строке запроса необходимо добавить параметр статуса и его значение (?status=1). В итоге получаем запрос вида: https://food.smartsatu.com/api/orders?status=3. В headers запроса обязательно должна передаваться страна пользователя, а также уникальный токен авторизации, который был получен при входе в систему. Ответом от сервера будет являться массив данных со списком всех ваших заказов в указанном статусе, а также их данными. Также возможно получение списка заказов, начиная от определенной даты, указав дату и время:

Пример: https://food.smartsatu.com/api/orders?status=7&updated_from=2019-11-27T07:03:01

Перечень статусов заказа:

Status Description
status=1 Новый
status=2 Принят
status=3 Отклонен поставщиком
status=4 Принят с корректировкой
status=5 Подтвержден
status=6 Отменен магазином
status=7 Выполнен
status=8 Не доставлен
status=9 Не выполнен
status=10 Выполнен с корректировкой

Изменение и корректировка заказа поставщиком

Для того чтобы изменить статус заказа, количество товаров или набор продуктов в заказе необходимо отправить PUT-запрос c JSON-телом по URL: https://food.smartsatu.com/api/orders/{id}, где id - это уникальный идентификатор заказа, который необходимо изменить. Поставщик может изменять новые заказы (status=1) на статусы, которые представлены в таблице ниже:

Status Description
status=2 Принят: заказы, принятые поставщиком.
status=3 Отказ: заказы, отмененные поставщиком.
status=4 Принят с корректировкой: заказы, измененные поставщиком (наличие, количество, дата доставки).
status=9 Не выполнен - заказ, который был принят поставщиком, но не будет доставлен в торговую точку

Если заказ принят или отклонен, то запрос должен содержать обязательный параметр status и значение 2 (принят) или 3 (отклонен).

Если у заказа меняется status на 3 (отклонен), то, помимо обязательного параметра status, запрос должен содержать параметр comment.

Order_items в случае отклонения заказа передавать в запросе не нужно.

Если заказ должен быть изменен, то запрос должен содержать параметры offer_id и quantity.

Внимание: offer_id на самом деле id в order_items, а не offer_id - идентификатор предложения.

Если были переданы не все товарные позиции из order_items, то отсутствующие позиции будут удалены системой из заказа.

Безопасность

В headers запроса обязательно должна передаваться страна пользователя, а также уникальный токен авторизации, который был получен при входе в систему. Ответом от сервера будет являться массив данных с измененными данными заказа.

Type In Name Description
Authorization header required Для создания HTTP Basic Auth заголовка нужно преобразовать access_token следующим образом: $auth= "Basic " . base64encode(access_token . ":"); Данный токен должен использоваться в каждом запросе в системе.
country header required Параметр страны должен использоваться в каждом запросе в системе.

Параметры