API Orders: различия между версиями

Материал из SmartSatu Knowledge Base
Перейти к навигации Перейти к поиску
(Новая страница: «==Обзор== Данный документ описывает методы для работы поставщика/дистрибьютора по получе...»)
 
Строка 14: Строка 14:
 
''Host : //smartsatu.com/api/ Schemes : HTTPS''
 
''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 с их данными.
 
Для того чтобы получить список всех заказов необходимо отправить 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 запроса обязательно должна передаваться страна пользователя, а также уникальный токен авторизации, который был получен при входе в систему. Ответом от сервера будет являться массив данных со списком всех ваших заказов в указанном статусе, а также их данными.
 
Для того чтобы получить список заказов имеющих определенный статус необходимо отправить 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''
 
''Пример: https://food.smartsatu.com/api/orders?status=7&updated_from=2019-11-27T07:03:01''
  
Строка 55: Строка 68:
 
| style="font-weight:bold;" | status=10
 
| style="font-weight:bold;" | status=10
 
| Выполнен с корректировкой
 
| Выполнен с корректировкой
 +
|}
 +
 +
===Изменение и корректировка заказа поставщиком===
 +
Для того чтобы изменить статус заказа, количество товаров или набор продуктов в заказе необходимо отправить PUT-запрос c JSON-телом по URL: https://food.smartsatu.com/api/orders/{id}, где id - это уникальный идентификатор заказа, который необходимо изменить. Поставщик может изменять новые заказы (status=1) на статусы, которые представлены в таблице ниже:
 +
{| class="wikitable"
 +
! style="font-weight:bold;" | Status
 +
! style="font-weight:bold;" | Description
 +
|-
 +
| style="font-weight:bold;" | status=2
 +
| Принят: заказы, принятые поставщиком.
 +
|-
 +
| style="font-weight:bold;" | status=3
 +
| Отказ: заказы, отмененные поставщиком.
 +
|-
 +
| style="font-weight:bold;" | status=4
 +
| Принят с корректировкой: заказы, измененные поставщиком (наличие, количество, дата доставки).
 
|-
 
|-
| style="font-weight:bold;" | status=11
+
| style="font-weight:bold;" | status=9
| Предварительный
+
| Не выполнен - заказ, который был принят поставщиком, но не будет доставлен в торговую точку
 
|}
 
|}
 +
Если заказ принят или отклонен, то запрос должен содержать обязательный параметр '''status''' и значение '''2''' (принят) или '''3''' (отклонен).
 +
 +
Если у заказа меняется '''status''' на '''3''' (отклонен), то, помимо обязательного параметра '''status''', запрос должен содержать параметр '''comment'''.
 +
 +
'''Order_items''' в случае отклонения заказа передавать в запросе не нужно.
 +
 +
Если заказ должен быть изменен, то запрос должен содержать параметры '''offer_id''' и '''quantity'''.
  
===Изменение и корректировка заказа поставщиком===
+
'''Внимание: offer_id на самом деле id в order_items, а не offer_id - идентификатор предложения.'''
  
Статусы заказов доступные для изменения представлены в таблице ниже:
+
Если были переданы не все товарные позиции из order_items, то отсутствующие позиции будут удалены системой из заказа.
 +
==Безопасность==
 +
В headers запроса обязательно должна передаваться страна пользователя, а также уникальный токен авторизации, который был получен при входе в систему. Ответом от сервера будет являться массив данных с измененными данными заказа.
 +
{| class="wikitable"
 +
! style="font-weight:bold;" | Type
 +
! style="font-weight:bold;" | In
 +
! style="font-weight:bold;" | Name
 +
! style="font-weight:bold;" | Description
 +
|-
 +
| style="font-weight:bold;" | Authorization
 +
| header
 +
| required
 +
| Для создания HTTP Basic Auth заголовка нужно преобразовать access_token следующим образом: $auth= "Basic " . base64encode(access_token . ":"); Данный токен должен использоваться в каждом запросе в системе.
 +
|-
 +
| style="font-weight:bold;" | country
 +
| header
 +
| required
 +
| Параметр страны должен использоваться в каждом запросе в системе.
 +
|}
 +
==Параметры==

Версия 07:17, 15 января 2020

Обзор

Данный документ описывает методы для работы поставщика/дистрибьютора по получению полного или отсортированного по статусу списка заказов, а также изменению и корректировке заказа поставщиком в системе 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 Параметр страны должен использоваться в каждом запросе в системе.

Параметры