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