API Orders: различия между версиями
User (обсуждение | вклад) (Новая страница: «==Обзор== Данный документ описывает методы для работы поставщика/дистрибьютора по получе...») |
User (обсуждение | вклад) |
||
Строка 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= | + | | 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
Контактная информация
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 | Параметр страны должен использоваться в каждом запросе в системе. |