API Orders
Содержание
Обзор
Данный документ описывает методы для работы поставщика/дистрибьютора по получению полного или отсортированного по статусу списка заказов, а также изменению и корректировке заказа поставщиком в системе Smart Satu.
Версия
Version: 1.0.0
Контактная информация
Contact: info@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 | Параметр страны должен использоваться в каждом запросе в системе. |