API Orders: различия между версиями
User (обсуждение | вклад) (Новая страница: «==Обзор== Данный документ описывает методы для работы поставщика/дистрибьютора по получе...») |
User (обсуждение | вклад) |
||
(не показаны 44 промежуточные версии этого же участника) | |||
Строка 12: | Строка 12: | ||
'''URI схема''' | '''URI схема''' | ||
− | ''Host : //smartsatu.com/api/ Schemes : HTTPS'' | + | ''Host : //food.smartsatu.com/api/ Schemes : HTTPS'' |
+ | |||
==Методы== | ==Методы== | ||
+ | ===Получение списка заказов=== | ||
+ | GET /v1/orders | ||
+ | |||
+ | ===Получение списка заказов в зависимости от статуса заказа=== | ||
+ | GET /v1/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 = оплата заказа по Visa QR; | ||
+ | *3 = оплата заказа по безналичному расчету; | ||
+ | *4 = оплата заказа по Raiffeisen QR; | ||
+ | *5 = оплата заказа корпоративной картой. | ||
+ | |||
===Получение списка заказов в зависимости от статуса заказа=== | ===Получение списка заказов в зависимости от статуса заказа=== | ||
− | Для того чтобы получить список заказов имеющих определенный статус необходимо отправить GET-запрос c пустым телом по URL: https://food.smartsatu.com/api/orders. В строке запроса необходимо добавить параметр статуса и его значение (?status=1). В итоге получаем запрос вида: https://food.smartsatu.com/api/orders?status= | + | Для того чтобы получить список заказов имеющих определенный статус необходимо отправить GET-запрос c пустым телом по URL: https://food.smartsatu.com/api/v1/orders. В строке запроса необходимо добавить параметр статуса и его значение (?status=1). В итоге получаем запрос вида: https://food.smartsatu.com/api/v1/orders?status=1. В headers запроса обязательно должна передаваться страна пользователя и уникальный токен авторизации, который был получен при входе в систему. Ответом от сервера будет являться массив данных со списком всех заказов поставщика в указанном статусе. |
− | Также возможно получение списка заказов, | + | |
− | ''Пример: https://food.smartsatu.com/api/orders?status=7&updated_from=2019-11-27T07:03:01'' | + | Также возможно получение списка заказов за период от времени, указанного в GET-параметре "updated_from", до времени выполнения запроса: "updated_from=2019-11-27T07:03:01". |
+ | |||
+ | ''Пример: https://food.smartsatu.com/api/v1/orders?status=7&updated_from=2019-11-27T07:03:01'' | ||
Перечень статусов заказа: | Перечень статусов заказа: | ||
Строка 27: | Строка 48: | ||
|- | |- | ||
| style="font-weight:bold;" | status=1 | | style="font-weight:bold;" | status=1 | ||
− | | Новый | + | | Новый - <small>заказ создан Торговой точкой</small> |
|- | |- | ||
| style="font-weight:bold;" | status=2 | | style="font-weight:bold;" | status=2 | ||
− | | Принят | + | | Принят - <small>заказ в статусе "Новый" принят Поставщиком</small> |
|- | |- | ||
| style="font-weight:bold;" | status=3 | | style="font-weight:bold;" | status=3 | ||
− | | Отклонен поставщиком | + | | Отклонен поставщиком - <small>заказ в статусе "Новый" отклонен Поставщиком</small> |
|- | |- | ||
| style="font-weight:bold;" | status=4 | | style="font-weight:bold;" | status=4 | ||
− | | Принят с корректировкой | + | | Принят с корректировкой - <small>заказ в статусе "Новый" принят Поставщиком с изменениями: откорректировано количество товара, изменена дата доставки</small> |
|- | |- | ||
| style="font-weight:bold;" | status=5 | | style="font-weight:bold;" | status=5 | ||
− | | Подтвержден | + | | Подтвержден - <small>заказ в статусе "Принят с корректировкой" принят Торговой точкой: ТТ согласна с внесенными в заказ изменениями</small> |
|- | |- | ||
| style="font-weight:bold;" | status=6 | | style="font-weight:bold;" | status=6 | ||
− | | Отменен магазином | + | | Отменен магазином - <small>заказ в статусе "Принят с корректировкой" отклонен Торговой точкой: ТТ не принимает внесенные в заказ изменениями</small> |
|- | |- | ||
| style="font-weight:bold;" | status=7 | | style="font-weight:bold;" | status=7 | ||
− | | Выполнен | + | | Выполнен - <small>заказ в статусе "Подтвержден"/"Принят" доставлен в Торговую точку: ТТ приняла все товары без изменений и подтвердила доставку</small> |
|- | |- | ||
| style="font-weight:bold;" | status=8 | | style="font-weight:bold;" | status=8 | ||
− | | Не доставлен | + | | Не доставлен - <small>заказ в статусе "Подтвержден"/"Принят" не доставлен в Торговую точку: ТТ меняет статус не доставленного заказа по прошествии 24 часов с установленной даты доставки</small> |
|- | |- | ||
| style="font-weight:bold;" | status=9 | | style="font-weight:bold;" | status=9 | ||
− | | Не выполнен | + | | Не выполнен - <small>заказ, изначально принятый Поставщиком, который не будет доставлен ТТ</small> |
|- | |- | ||
| style="font-weight:bold;" | status=10 | | style="font-weight:bold;" | status=10 | ||
− | | Выполнен с корректировкой | + | | Выполнен с корректировкой - <small>заказ в статусах "Подтвержден"/"Принят" доставлен в Торговую точку, которая приняла не все товары (изменила количество) и подтвердила доставку</small> |
+ | |} | ||
+ | |||
+ | ===Изменение и корректировка заказа поставщиком=== | ||
+ | Для того чтобы изменить статус заказа, количество товаров или набор продуктов в заказе необходимо отправить PUT-запрос c JSON-телом по URL: https://food.smartsatu.com/api/orders/{id}, где id - это уникальный идентификатор заказа, который необходимо изменить. | ||
+ | При отправке данного PUT-запроса с 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=9 | ||
+ | | Не выполнен - заказ, который был принят поставщиком, но не будет доставлен в торговую точку | ||
+ | |} | ||
+ | Если заказ принят или отклонен, то запрос должен содержать обязательный параметр '''status''' и значение '''2''' (принят) или '''3''' (отклонен). | ||
+ | |||
+ | Если у заказа меняется '''status''' на '''3''' (отклонен), то, помимо обязательного параметра '''status''', запрос должен содержать параметр '''comment'''. | ||
+ | |||
+ | '''Order_items''' в случае отклонения заказа передавать в запросе не нужно. | ||
+ | |||
+ | Если заказ должен быть изменен, то запрос должен содержать параметры '''offer_id''' и '''quantity'''. | ||
+ | |||
+ | <span style="color:#FFFFFF; background:#FF3333">Внимание: offer_id является параметром id в order_items:</span> | ||
+ | |||
+ | [[Файл:Offer id.jpg||350px|offer_id для корректировки заказа]] | ||
+ | |||
+ | Если были переданы не все товарные позиции из order_items, то отсутствующие позиции будут удалены системой из заказа. | ||
+ | |||
+ | Дополнительно со статусом заказа пользователю может отображаться статус поставщика. Для этого в теле PUT-запроса на изменение статуса (2, 3, 4 и 9) поставщик добавляет параметр "supplierStatus" с необходимым текстом статуса, например: | ||
+ | { | ||
+ | "status": 2, | ||
+ | "supplierStatus": "Заказ принят без изменений", | ||
+ | } | ||
+ | |||
+ | ==Безопасность== | ||
+ | В 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;" | | + | | style="font-weight:bold;" | country |
− | | | + | | header |
+ | | required | ||
+ | | Параметр страны должен использоваться в каждом запросе в системе. | ||
|} | |} | ||
+ | ==Параметры== | ||
+ | {| class="wikitable" | ||
+ | ! style="font-weight:bold;" | Type | ||
+ | ! style="font-weight:bold;" | Name | ||
+ | ! style="font-weight:bold;" | Description | ||
+ | ! style="font-weight:bold;" | Schema | ||
+ | |- | ||
+ | | style="font-weight:bold;" | Body | ||
+ | | style="font-style:italic;" | body required | ||
+ | | Запрос на изменение заказа | ||
+ | | | ||
+ | |} | ||
+ | ==Ответы== | ||
+ | '''Response Orders Items:''' | ||
+ | {| class="wikitable" | ||
+ | ! style="font-weight:bold;" | HTTP Code | ||
+ | ! style="font-weight:bold;" | Description | ||
+ | ! style="font-weight:bold;" | Schema | ||
+ | |- | ||
+ | | style="font-weight:bold;" | 200 | ||
+ | | Ok | ||
+ | | [http://docs.smartsatu.com/wiki/API_Orders#Response_Orders_Items Response Order Items] | ||
+ | |- | ||
+ | | style="font-weight:bold;" | 401 | ||
+ | | Unauthorized | ||
+ | | [http://docs.smartsatu.com/wiki/API_Orders#401 401] | ||
+ | |- | ||
+ | | style="font-weight:bold;" | 403 | ||
+ | | Forbidden | ||
+ | | [http://docs.smartsatu.com/wiki/API_Orders#403 403] | ||
+ | |} | ||
+ | '''Orders Status Change Response:''' | ||
+ | {| class="wikitable" | ||
+ | ! style="font-weight:bold;" | HTTP Code | ||
+ | ! style="font-weight:bold;" | Description | ||
+ | ! style="font-weight:bold;" | Schema | ||
+ | |- | ||
+ | | style="font-weight:bold;" | 200 | ||
+ | | Ok | ||
+ | | [http://docs.smartsatu.com/wiki/API_Orders#Orders_Status_Change_Response Order Status Change Response] | ||
+ | |- | ||
+ | | style="font-weight:bold;" | 401 | ||
+ | | Unauthorized | ||
+ | | [http://docs.smartsatu.com/wiki/API_Orders#401 401] | ||
+ | |- | ||
+ | | style="font-weight:bold;" | 403 | ||
+ | | Forbidden | ||
+ | | [http://docs.smartsatu.com/wiki/API_Orders#403 403] | ||
+ | |} | ||
+ | '''Принимаемые ресурсом типы MIME''' | ||
+ | *application/json | ||
+ | '''Возвращаемые ресурсом типы MIME''' | ||
+ | *application/json | ||
− | === | + | ==Определения== |
+ | ===Request Order Items=== | ||
+ | {| class="wikitable" | ||
+ | ! style="font-weight:bold;" | Name | ||
+ | ! style="font-weight:bold;" | Description | ||
+ | ! style="font-weight:bold;" | Schema | ||
+ | ! style="font-weight:bold;" | Example | ||
+ | |- | ||
+ | | style="font-weight:bold;" | offer_id | ||
+ | | Идентификатор предложения | ||
+ | | integer($int64) | ||
+ | | 3463374 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | quantity | ||
+ | | Количество | ||
+ | | integer($int64) | ||
+ | | 4 | ||
+ | |} | ||
+ | Пример запроса: | ||
+ | { | ||
+ | "offer_id": 3463374, | ||
+ | "quantity": 4 | ||
+ | } | ||
+ | ===Request Order Status Change=== | ||
+ | {| class="wikitable" | ||
+ | ! style="font-weight:bold;" | Name | ||
+ | ! style="font-weight:bold;" | Description | ||
+ | ! style="font-weight:bold;" | Schema | ||
+ | ! style="font-weight:bold;" | Example | ||
+ | |- | ||
+ | | style="font-weight:bold;" | comment | ||
+ | | Комментарий | ||
+ | | string | ||
+ | | В наличии есть только 4 бутылки | ||
+ | |- | ||
+ | | style="font-weight:bold;" | items | ||
+ | | Массив | ||
+ | | < items> array | ||
+ | | 4 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | delivery_date | ||
+ | | Дата доставки (строкой DD.MM.YYYY) | ||
+ | | string | ||
+ | | 09.10.2019 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | status | ||
+ | | Статус заказа | ||
+ | | string | ||
+ | | Принят с корректировкой: заказы измененные поставщиком (наличие, количество) | ||
+ | |} | ||
+ | '''Items''' | ||
+ | {| class="wikitable" | ||
+ | ! style="font-weight:bold;" | Name | ||
+ | ! style="font-weight:bold;" | Description | ||
+ | ! style="font-weight:bold;" | Schema | ||
+ | ! style="font-weight:bold;" | Example | ||
+ | |- | ||
+ | | style="font-weight:bold;" | quantity | ||
+ | | Количество | ||
+ | | integer($int64) | ||
+ | | 4 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | offer_id | ||
+ | | Уникальный номер предложения | ||
+ | | integer($int64) | ||
+ | | 3463374 | ||
+ | |} | ||
+ | Пример запроса: | ||
+ | { | ||
+ | "comment": "Изменена дата доставки и количество товара", | ||
+ | "delivery_date": "09.10.2019", | ||
+ | "items": | ||
+ | [ | ||
+ | { | ||
+ | "quantity": 50, | ||
+ | "offer_id": 4166524 | ||
+ | } | ||
+ | ], | ||
+ | "status": 4 | ||
+ | } | ||
+ | |||
+ | ===Response Orders=== | ||
+ | '''Items''' | ||
+ | {| class="wikitable" | ||
+ | ! style="font-weight:bold;" | Name | ||
+ | ! style="font-weight:bold;" | Description | ||
+ | ! style="font-weight:bold;" | Schema | ||
+ | ! style="font-weight:bold;" | Example | ||
+ | |- | ||
+ | | style="font-weight:bold;" | id | ||
+ | | Уникальный идентификатор заказа | ||
+ | | integer | ||
+ | | 258941 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | store_user_id | ||
+ | | Идентификатор пользователя торговой точки | ||
+ | | integer | ||
+ | | 656 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | store_company_id | ||
+ | | Идентификатор торговой точки | ||
+ | | integer | ||
+ | | 80 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | delivery_date | ||
+ | | Дата доставки (time stamp с учетом time zone) | ||
+ | | integer | ||
+ | | 1581292800 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | initial_delivery_date | ||
+ | | Первоначальная дата доставки (time stamp с учетом time zone) | ||
+ | | integer | ||
+ | | 1581292800 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | supplier_company_id | ||
+ | | Идентификатор поставщика | ||
+ | | string | ||
+ | | 84 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | supplierCompanyName | ||
+ | | Идентификатор названия поставщика | ||
+ | | string | ||
+ | | ТОО "Поставщиk-" | ||
+ | |- | ||
+ | | style="font-weight:bold;" | status | ||
+ | | Статус заказа | ||
+ | | integer | ||
+ | | 1 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | created_at | ||
+ | | Дата создания заказа | ||
+ | | integer | ||
+ | | 1532517982 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | updated_at | ||
+ | | Дата обновления заказа | ||
+ | | integer | ||
+ | | 1532517982 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | with_documents | ||
+ | | Наличие документов | ||
+ | | integer | ||
+ | | 0 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | sum | ||
+ | | Общая сумма заказа | ||
+ | | decimal | ||
+ | | 11340.00 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | comments | ||
+ | | Комментарий к заказу | ||
+ | | array | ||
+ | | Ок | ||
+ | |- | ||
+ | | style="font-weight:bold;" | replacement_id | ||
+ | | Идентификатор заказа на обмен | ||
+ | | string | ||
+ | | null | ||
+ | |- | ||
+ | | style="font-weight:bold;" | replacement_status | ||
+ | | Статус заказа на обмен | ||
+ | | string | ||
+ | | null | ||
+ | |- | ||
+ | | style="font-weight:bold;" | role | ||
+ | | Роль пользователя, который оформил заказ | ||
+ | | string | ||
+ | | Торговый представитель | ||
+ | |- | ||
+ | | style="font-weight:bold;" | full_name | ||
+ | | ФИО пользователя, который оформил заказ | ||
+ | | string | ||
+ | | Иван Иванов | ||
+ | |- | ||
+ | | style="font-weight:bold;" | alcohol_license | ||
+ | | Алкогольная лицензия | ||
+ | | object | ||
+ | | | ||
+ | |- | ||
+ | | style="font-weight:bold;" | number | ||
+ | | Номер алкогольной лицензии | ||
+ | | string | ||
+ | | 213 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | expire_at | ||
+ | | Начало действия алкогольной лицензии | ||
+ | | string | ||
+ | | 1522022400 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | expire_at_date | ||
+ | | Конец действия алкогольной лицензии | ||
+ | | string | ||
+ | | 26.03.2018 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | payment_type | ||
+ | | Тип оплаты заказа | ||
+ | | integer | ||
+ | | 0 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | payment_status | ||
+ | | Статус оплаты заказа | ||
+ | | integer | ||
+ | | 0 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | order_items | ||
+ | | array | ||
+ | | < order_items > array | ||
+ | | | ||
+ | |- | ||
+ | | style="font-weight:bold;" | supplier_company_name | ||
+ | | Название поставщика | ||
+ | | string | ||
+ | | ТОО "Поставщиk-" | ||
+ | |- | ||
+ | | style="font-weight:bold;" | store_company | ||
+ | | array | ||
+ | | < store_company > array | ||
+ | | | ||
+ | |- | ||
+ | | style="font-weight:bold;" | service_fee_amount | ||
+ | | Сумма сервисного сбора | ||
+ | | decimal | ||
+ | | 300.00 | ||
+ | |} | ||
+ | '''Order Items''' | ||
+ | {| class="wikitable" | ||
+ | ! style="font-weight:bold;" | Name | ||
+ | ! style="font-weight:bold;" | Description | ||
+ | ! style="font-weight:bold;" | Schema | ||
+ | ! style="font-weight:bold;" | Example | ||
+ | |- | ||
+ | | style="font-weight:bold;" | id | ||
+ | | Идентификатор наименования товара | ||
+ | | integer($int32) | ||
+ | | 1631118 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | order_id | ||
+ | | Идентификатор заказа | ||
+ | | integer($int32) | ||
+ | | 204533 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | offer_id | ||
+ | | Идентификатор предложения | ||
+ | | integer($int32) | ||
+ | | 4134408 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | product_id | ||
+ | | Идентификатор товара | ||
+ | | integer($int32) | ||
+ | | 85067 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | quantity | ||
+ | | Количество продукта | ||
+ | | integer | ||
+ | | 1 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | initial_quantity | ||
+ | | Начальное количество продукта | ||
+ | | integer | ||
+ | | 1 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | quantity_decimal | ||
+ | | Дробное значение продукта | ||
+ | | string | ||
+ | | 1 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | initial_quantity_decimal | ||
+ | | Начальное дробное значение продукта | ||
+ | | string | ||
+ | | 1 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | amount | ||
+ | | Общая сумма | ||
+ | | string | ||
+ | | 2000 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | deleted | ||
+ | | Удален | ||
+ | | boolean | ||
+ | | 0 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | offer | ||
+ | | Предложение | ||
+ | | object | ||
+ | | | ||
+ | |- | ||
+ | | style="font-weight:bold;" | id | ||
+ | | Идентификатор предложения | ||
+ | | string | ||
+ | | 4345054 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | name | ||
+ | | Название предложения | ||
+ | | string | ||
+ | | Воздух чистый, Алматинский ПЭТ 5л | ||
+ | |- | ||
+ | | style="font-weight:bold;" | sku | ||
+ | | Штрих-код предложения | ||
+ | | string | ||
+ | | cash12039823407121 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | unit | ||
+ | | Единица измерения предложения | ||
+ | | string | ||
+ | | шт | ||
+ | |- | ||
+ | | style="font-weight:bold;" | manufacturer | ||
+ | | Производитель | ||
+ | | string | ||
+ | | null | ||
+ | |- | ||
+ | | style="font-weight:bold;" | quantity | ||
+ | | Количество | ||
+ | | string | ||
+ | | 1 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | expires_at | ||
+ | | Годен до | ||
+ | | string | ||
+ | | null | ||
+ | |- | ||
+ | | style="font-weight:bold;" | price_1 | ||
+ | | Цена 1 (для магазинов) | ||
+ | | string | ||
+ | | 1260 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | price_2 | ||
+ | | Цена 2 (для HoReCa) | ||
+ | | string | ||
+ | | 1386 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | price_3 | ||
+ | | Цена 3 (для рынков) | ||
+ | | string | ||
+ | | 1134 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | price_4 | ||
+ | | Цена 4 | ||
+ | | string | ||
+ | | null | ||
+ | |- | ||
+ | | style="font-weight:bold;" | price_5 | ||
+ | | Цена 5 | ||
+ | | string | ||
+ | | null | ||
+ | |- | ||
+ | | style="font-weight:bold;" | unique_code | ||
+ | | Уникальный код | ||
+ | | string | ||
+ | | null | ||
+ | |- | ||
+ | | style="font-weight:bold;" | product_id | ||
+ | | Идентификатор продукта | ||
+ | | string | ||
+ | | 28952 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | step | ||
+ | | Шаг | ||
+ | | string | ||
+ | | null | ||
+ | |- | ||
+ | | style="font-weight:bold;" | minQuantity | ||
+ | | Минимальное количество товара для заказа | ||
+ | | string | ||
+ | | 1.000 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | price | ||
+ | | Цена для текущей ТТ | ||
+ | | string | ||
+ | | 1260 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | product | ||
+ | | Товар | ||
+ | | object | ||
+ | | | ||
+ | |- | ||
+ | | style="font-weight:bold;" | id | ||
+ | | Идентификатор товара | ||
+ | | string | ||
+ | | 28952 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | name | ||
+ | | Название продукта | ||
+ | | string | ||
+ | | Воздух чистый, Алматинский ПЭТ 5л | ||
+ | |- | ||
+ | | style="font-weight:bold;" | sku | ||
+ | | Штрих-код предложения | ||
+ | | string | ||
+ | | cash12039823407121 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | unit | ||
+ | | Единица измерения предложения | ||
+ | | string | ||
+ | | шт | ||
+ | |- | ||
+ | | style="font-weight:bold;" | manufacturer | ||
+ | | Производитель | ||
+ | | string | ||
+ | | null | ||
+ | |- | ||
+ | | style="font-weight:bold;" | category_id | ||
+ | | Идентификатор категории товара | ||
+ | | string | ||
+ | | 360 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | images | ||
+ | | array | ||
+ | | < images > array | ||
+ | | | ||
+ | |- | ||
+ | | style="font-weight:bold;" | status | ||
+ | | Статус товара | ||
+ | | string | ||
+ | | 1 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | user_id | ||
+ | | Идентификатор пользователя | ||
+ | | string | ||
+ | | 132 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | is_weighted | ||
+ | | Весовой товар | ||
+ | | boolean | ||
+ | | 0 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | promotion_type | ||
+ | | Признак бонусного товара | ||
+ | | string | ||
+ | | 0 | ||
+ | |} | ||
+ | '''Images''' | ||
+ | {| class="wikitable" | ||
+ | ! style="font-weight:bold;" | Name | ||
+ | ! style="font-weight:bold;" | Description | ||
+ | ! style="font-weight:bold;" | Schema | ||
+ | ! style="font-weight:bold;" | Example | ||
+ | |- | ||
+ | | style="font-weight:bold;" | id | ||
+ | | Идентификатор изображения | ||
+ | | integer($int32) | ||
+ | | 1631118 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | product_id | ||
+ | | Идентификатор продукта | ||
+ | | string | ||
+ | | 28952 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | scr | ||
+ | | Ссылка на изображение | ||
+ | | string | ||
+ | | https://cdn.smartsatu.com/food/images/products/7238_14752205982FZWw.jpg | ||
+ | |- | ||
+ | | style="font-weight:bold;" | thumb | ||
+ | | Ссылка на изображение | ||
+ | | string | ||
+ | | https://cdn.smartsatu.com/food/images/products/7238_14752205982FZWw.jpg | ||
+ | |} | ||
+ | '''Store company''' | ||
+ | {| class="wikitable" | ||
+ | ! style="font-weight:bold;" | Name | ||
+ | ! style="font-weight:bold;" | Description | ||
+ | ! style="font-weight:bold;" | Schema | ||
+ | ! style="font-weight:bold;" | Example | ||
+ | |- | ||
+ | | style="font-weight:bold;" | route_list | ||
+ | | Идентификатор наименования товара | ||
+ | | string | ||
+ | | null | ||
+ | |- | ||
+ | | style="font-weight:bold;" | name | ||
+ | | Идентификатор заказа | ||
+ | | string | ||
+ | | ИП "Чип и Дейл" | маг. "Рокфор" | ||
+ | |- | ||
+ | | style="font-weight:bold;" | min_order_price | ||
+ | | Минимальная сумма заказа | ||
+ | | integer | ||
+ | | 0 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | email | ||
+ | | Адрес электронной почты | ||
+ | | string | ||
+ | | shop@me.kz | ||
+ | |- | ||
+ | | style="font-weight:bold;" | description | ||
+ | | Описание | ||
+ | | string | ||
+ | | Магазин для тестирования\r\n | ||
+ | |- | ||
+ | | style="font-weight:bold;" | address | ||
+ | | Адрес торговой точки | ||
+ | | string | ||
+ | | Алматы, Байзакова, 125/185 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | conact | ||
+ | | Контактные данные | ||
+ | | string | ||
+ | | Телефон: +78000000001, Вн.: 123, Контактное лицо: Гайка | ||
+ | |- | ||
+ | | style="font-weight:bold;" | type | ||
+ | | Тип торговой точки | ||
+ | | string | ||
+ | | store | ||
+ | |- | ||
+ | | style="font-weight:bold;" | tin | ||
+ | | ИНН торговой точки | ||
+ | | string | ||
+ | | 0123456789 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | phone | ||
+ | | Номер телефона | ||
+ | | string | ||
+ | | +78000000001 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | supplier_rule | ||
+ | | Правила поставщика | ||
+ | | string | ||
+ | | null | ||
+ | |- | ||
+ | | style="font-weight:bold;" | logo | ||
+ | | Логотип | ||
+ | | string | ||
+ | | https://food.smartsatu.com/images/no_image_130x130.png | ||
+ | |- | ||
+ | | style="font-weight:bold;" | has_replacement_products | ||
+ | | Обмен товаров | ||
+ | | string | ||
+ | | 1 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | cashback_percent | ||
+ | | Кэшбэк включен | ||
+ | | string | ||
+ | | true | ||
+ | |- | ||
+ | | style="font-weight:bold;" | has_cashback | ||
+ | | Кэшбэк включен и активен | ||
+ | | string | ||
+ | | false | ||
+ | |- | ||
+ | | style="font-weight:bold;" | position | ||
+ | | Позиция для сортировки | ||
+ | | integer | ||
+ | | 999 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | supplier_store_id | ||
+ | | UCS-код торговой точки | ||
+ | | string | ||
+ | | 3214567 | ||
+ | |} | ||
+ | Пример ответа: | ||
+ | { | ||
+ | "items": [ | ||
+ | { | ||
+ | "id": "258941", | ||
+ | "store_user_id": 656, | ||
+ | "store_company_id": 656, | ||
+ | "delivery_date": "1581292800", | ||
+ | "initial_delivery_date": "1581292800", | ||
+ | "supplier_company_id": "84", | ||
+ | "supplierCompanyName": "ТОО \"Поставщиk-", | ||
+ | "status": "1", | ||
+ | "created_at": 1532517982, | ||
+ | "updated_at": 1532517982, | ||
+ | "with_documents": 0, | ||
+ | "sum": 11340, | ||
+ | "comments": "Ок", | ||
+ | "replacement_id": " ", | ||
+ | "replacement_status": " ", | ||
+ | "role": "Торговый представитель" | ||
+ | "full_name": "Иван Иванов" | ||
+ | "alcohol_license": { | ||
+ | "number": "213", | ||
+ | "expire_at": "1522022400", | ||
+ | "expire_at_date": "26.03.2018" | ||
+ | }, | ||
+ | "payment_type": 0, | ||
+ | "payment_status": 0 | ||
+ | "order_items": [ | ||
+ | { | ||
+ | "id": 1631118, | ||
+ | "order_id": 204533, | ||
+ | "offer_id": 4134408, | ||
+ | "product_id": 85067, | ||
+ | "quantity": 1, | ||
+ | "initial_quantity": 1, | ||
+ | "quantity_decimal": 1, | ||
+ | "initial_quantity_decimal": 1, | ||
+ | "amount": 2000, | ||
+ | "deleted": 0, | ||
+ | "offer": { | ||
+ | "id": "4345054", | ||
+ | "name": "Воздух чистый, Алматинский ПЭТ 5л", | ||
+ | "sku": "cash12039823407121", | ||
+ | "unit": "шт", | ||
+ | "manufacturer": " ", | ||
+ | "quantity": "1", | ||
+ | "expires_at": " ", | ||
+ | "price_1": "1260", | ||
+ | "price_2": "1386", | ||
+ | "price_3": "1134", | ||
+ | "price_4": " ", | ||
+ | "price_5": " ", | ||
+ | "unique_code": "", | ||
+ | "product_id": "28952", | ||
+ | "step": "", | ||
+ | "minQuantity": "1.000", | ||
+ | "price": "1260" | ||
+ | }, | ||
+ | "product": { | ||
+ | "id": "28952", | ||
+ | "name": "Воздух чистый, Алматинский ПЭТ 5л", | ||
+ | "sku": "9890000033839", | ||
+ | "unit": "шт.", | ||
+ | "quantity": "1", | ||
+ | "manufacturer": " ", | ||
+ | "category_id": "360", | ||
+ | "images": [ | ||
+ | { | ||
+ | "id": "39236", | ||
+ | "product_id": "28952", | ||
+ | "scr": "https://cdn.smartsatu.com/food/images/products/7238_14752205982FZWw.jpg", | ||
+ | "thumb": "https://cdn.smartsatu.com/food/images/products/7238_14752205982FZWw.jpg" | ||
+ | } | ||
+ | ], | ||
+ | "status": "1", | ||
+ | "user_id": "132", | ||
+ | "is_weighted": 0 | ||
+ | }, | ||
+ | "promotion_type": "0" | ||
+ | } | ||
+ | ], | ||
+ | "Supplier_company_name": "ТОО \"Поставщиk-", | ||
+ | "store_company": { | ||
+ | "address": "Алматы, Байзакова, 125/185", | ||
+ | "min_order_price": 0, | ||
+ | "description": "Магазин для тестирования\\r\\n", | ||
+ | "cashback_percent": "true", | ||
+ | "supplier_rule": "NULL", | ||
+ | "type": 1, | ||
+ | "has_replacement_products": "1", | ||
+ | "has_cashback": "false", | ||
+ | "phone": "+78000000001", | ||
+ | "route_list": "", | ||
+ | "contact": "Телефон: +78000000001, Вн.: 123, Контактное лицо: Гайка", | ||
+ | "name": "маг. \"Рокфор", | ||
+ | "tin": "0123456789", | ||
+ | "logo": "https://food.smartsatu.com/images/no_image_130x130.png", | ||
+ | "id": "80", | ||
+ | "position": 999, | ||
+ | "email": "shop@me.kz" | ||
+ | "supplier_store_id": "3214567" | ||
+ | } | ||
+ | } | ||
+ | ] | ||
+ | } | ||
− | + | ===Orders Status Change Response=== | |
+ | {| class="wikitable" | ||
+ | ! style="font-weight:bold;" | Name | ||
+ | ! style="font-weight:bold;" | Description | ||
+ | ! style="font-weight:bold;" | Schema | ||
+ | ! style="font-weight:bold;" | Example | ||
+ | |- | ||
+ | | style="font-weight:bold;" | id | ||
+ | | Уникальный идентификатор заказа | ||
+ | | integer($int32) | ||
+ | | null | ||
+ | |- | ||
+ | | style="font-weight:bold;" | store_user_id | ||
+ | | Идентификатор пользователя торговой точки | ||
+ | | integer($int32) | ||
+ | | ИП "Чип и Дейл" | маг. "Рокфор" | ||
+ | |- | ||
+ | | style="font-weight:bold;" | store_company_id | ||
+ | | Идентификатор торговой точки | ||
+ | | integer($int32) | ||
+ | | 0 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | supplier_company_id | ||
+ | | Идентификатор поставщика | ||
+ | | integer($int32) | ||
+ | | shop@me.kz | ||
+ | |- | ||
+ | | style="font-weight:bold;" | supplierCompanyName | ||
+ | | Идентификатор названия поставщика | ||
+ | | string | ||
+ | | Магазин для тестирования\r\n | ||
+ | |- | ||
+ | | style="font-weight:bold;" | status | ||
+ | | Статус заказа | ||
+ | | integer($int32) | ||
+ | | Алматы, Байзакова, 125/185 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | created_at | ||
+ | | Время создания заказа | ||
+ | | integer($int32) | ||
+ | | Телефон: +78000000001, Вн.: 123, Контактное лицо: Гайка | ||
+ | |- | ||
+ | | style="font-weight:bold;" | updated_at | ||
+ | | Время обновления заказа | ||
+ | | integer($int32) | ||
+ | | store | ||
+ | |- | ||
+ | | style="font-weight:bold;" | with_documents | ||
+ | | Доставка заказа с документами | ||
+ | | integer($int32) | ||
+ | | 0123456789 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | sum | ||
+ | | Сумма заказа | ||
+ | | integer($int32) | ||
+ | | +78000000001 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | comments | ||
+ | | Массив | ||
+ | | < comments > array | ||
+ | | | ||
+ | |- | ||
+ | | style="font-weight:bold;" | replacement_id | ||
+ | | | ||
+ | | integer | ||
+ | | null | ||
+ | |- | ||
+ | | style="font-weight:bold;" | replacement_status | ||
+ | | | ||
+ | | integer | ||
+ | | null | ||
+ | |} | ||
+ | '''Comments''' | ||
+ | {| class="wikitable" | ||
+ | ! style="font-weight:bold;" | Name | ||
+ | ! style="font-weight:bold;" | Description | ||
+ | ! style="font-weight:bold;" | Schema | ||
+ | ! style="font-weight:bold;" | Example | ||
+ | |- | ||
+ | | style="font-weight:bold;" | id | ||
+ | | Идентификатор комментария | ||
+ | | integer | ||
+ | | 75875 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | company_id | ||
+ | | Идентификатор поставщика | ||
+ | | integer | ||
+ | | 84 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | message | ||
+ | | Текст комментария | ||
+ | | string | ||
+ | | Вот такой комментарий | ||
+ | |- | ||
+ | | style="font-weight:bold;" | type | ||
+ | | Статус заказа | ||
+ | | string | ||
+ | | 4 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | order_id | ||
+ | | Уникальный идентификатор заказа | ||
+ | | integer | ||
+ | | 153390 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | created_at | ||
+ | | Время создания | ||
+ | | string | ||
+ | | 1540376988 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | companyName | ||
+ | | Идентификатор названия поставщика | ||
+ | | string | ||
+ | | ТОО "Поставщиk-" | ||
+ | |- | ||
+ | | style="font-weight:bold;" | is_system | ||
+ | | Системное сообщение | ||
+ | | string | ||
+ | | null | ||
+ | |} | ||
+ | Пример ответа: | ||
+ | { | ||
+ | "id": 153390, | ||
+ | "store_user_id": 656, | ||
+ | "store_company_id": 80, | ||
+ | "supplier_company_id": 84, | ||
+ | "supplierCompanyName": "ТОО \"Поставщиk-\"", | ||
+ | "status": 2, | ||
+ | "created_at": 1497429666, | ||
+ | "updated_at": 1497431046, | ||
+ | "with_documents": 1, | ||
+ | "sum": 8663, | ||
+ | "comments": [ | ||
+ | { | ||
+ | "id": 75875, | ||
+ | "company_id": 84, | ||
+ | "message": "Вот такой комментарий", | ||
+ | "type": 4, | ||
+ | "order_id": 153390, | ||
+ | "created_at": 1540376988, | ||
+ | "companyName": "ТОО \"Поставщиk-\"", | ||
+ | "is_system": "Null" | ||
+ | } | ||
+ | ], | ||
+ | "replacement_id": null, | ||
+ | "replacement_status": null | ||
+ | } | ||
+ | ===401=== | ||
+ | {| class="wikitable" | ||
+ | ! style="font-weight:bold;" | Name | ||
+ | ! style="font-weight:bold;" | Description | ||
+ | ! style="font-weight:bold;" | Schema | ||
+ | ! style="font-weight:bold;" | Example | ||
+ | |- | ||
+ | | style="font-weight:bold;" | name | ||
+ | | Название поставщика | ||
+ | | string | ||
+ | | Unauthorized | ||
+ | |- | ||
+ | | style="font-weight:bold;" | message | ||
+ | | Сообщение | ||
+ | | string | ||
+ | | Your request was made with invalid credentials | ||
+ | |- | ||
+ | | style="font-weight:bold;" | code | ||
+ | | Код | ||
+ | | integer($int32) | ||
+ | | 0 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | status | ||
+ | | Статус | ||
+ | | integer($int32) | ||
+ | | 401 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | type | ||
+ | | Тип | ||
+ | | string | ||
+ | | "yii\\web\\UnauthorizedHttpException" | ||
+ | |} | ||
+ | Пример ответа: | ||
+ | { | ||
+ | "name": "Unauthorized", | ||
+ | "message": "Your request was made with invalid credentials.", | ||
+ | "code": 0, | ||
+ | "status": 401, | ||
+ | "type": "yii\\web\\UnauthorizedHttpException" | ||
+ | } | ||
+ | ===403=== | ||
+ | {| class="wikitable" | ||
+ | ! style="font-weight:bold;" | Name | ||
+ | ! style="font-weight:bold;" | Description | ||
+ | ! style="font-weight:bold;" | Schema | ||
+ | ! style="font-weight:bold;" | Example | ||
+ | |- | ||
+ | | style="font-weight:bold;" | name | ||
+ | | Название поставщика | ||
+ | | string | ||
+ | | Forbidden | ||
+ | |- | ||
+ | | style="font-weight:bold;" | message | ||
+ | | Сообщение | ||
+ | | string | ||
+ | | You're not allowed to delete this item | ||
+ | |- | ||
+ | | style="font-weight:bold;" | code | ||
+ | | Код | ||
+ | | integer($int32) | ||
+ | | 0 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | status | ||
+ | | Статус | ||
+ | | integer($int32) | ||
+ | | 403 | ||
+ | |- | ||
+ | | style="font-weight:bold;" | type | ||
+ | | Тип | ||
+ | | string | ||
+ | | "yii\\web\\HttpException" | ||
+ | |} | ||
+ | Пример ответа: | ||
+ | { | ||
+ | "name": "Forbidden", | ||
+ | "message": "You're not allowed to delete this item.", | ||
+ | "code": 0, | ||
+ | "status": 403, | ||
+ | "type": "yii\\\\web\\\\HttpException" | ||
+ | } |
Текущая версия на 09:09, 27 октября 2024
Обзор
Данный документ описывает методы для работы поставщика/дистрибьютора по получению полного или отсортированного по статусу списка заказов, а также изменению и корректировке заказа поставщиком в системе Smart Satu.
Версия
Version: 1.0.0
Контактная информация
Contact: info@smartsatu.com
URI схема
Host : //food.smartsatu.com/api/ Schemes : HTTPS
Методы
Получение списка заказов
GET /v1/orders
Получение списка заказов в зависимости от статуса заказа
GET /v1/orders?status=
Изменение и корректировка заказа поставщиком
PUT /orders/{id}
Описание
Получение списка заказов
Для того чтобы получить список всех заказов необходимо отправить GET-запрос c пустым телом по URL: https://food.smartsatu.com/api/orders. В headers запроса обязательно должна передаваться страна пользователя, а также уникальный токен авторизации, который был получен при входе в систему. Ответом от сервера будет являться массив данных со списком всех ваших заказов в системе Smart Satu с их данными. Во всех заказах передается тип оплаты "payment_type", где:
- 0 = оплата заказа наличными;
- 1 = оплата заказа оборотными средствами;
- 2 = оплата заказа по Visa QR;
- 3 = оплата заказа по безналичному расчету;
- 4 = оплата заказа по Raiffeisen QR;
- 5 = оплата заказа корпоративной картой.
Получение списка заказов в зависимости от статуса заказа
Для того чтобы получить список заказов имеющих определенный статус необходимо отправить GET-запрос c пустым телом по URL: https://food.smartsatu.com/api/v1/orders. В строке запроса необходимо добавить параметр статуса и его значение (?status=1). В итоге получаем запрос вида: https://food.smartsatu.com/api/v1/orders?status=1. В headers запроса обязательно должна передаваться страна пользователя и уникальный токен авторизации, который был получен при входе в систему. Ответом от сервера будет являться массив данных со списком всех заказов поставщика в указанном статусе.
Также возможно получение списка заказов за период от времени, указанного в GET-параметре "updated_from", до времени выполнения запроса: "updated_from=2019-11-27T07:03:01".
Пример: https://food.smartsatu.com/api/v1/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 | Не доставлен - заказ в статусе "Подтвержден"/"Принят" не доставлен в Торговую точку: ТТ меняет статус не доставленного заказа по прошествии 24 часов с установленной даты доставки |
status=9 | Не выполнен - заказ, изначально принятый Поставщиком, который не будет доставлен ТТ |
status=10 | Выполнен с корректировкой - заказ в статусах "Подтвержден"/"Принят" доставлен в Торговую точку, которая приняла не все товары (изменила количество) и подтвердила доставку |
Изменение и корректировка заказа поставщиком
Для того чтобы изменить статус заказа, количество товаров или набор продуктов в заказе необходимо отправить PUT-запрос c JSON-телом по URL: https://food.smartsatu.com/api/orders/{id}, где id - это уникальный идентификатор заказа, который необходимо изменить.
При отправке данного PUT-запроса с 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:
Если были переданы не все товарные позиции из order_items, то отсутствующие позиции будут удалены системой из заказа.
Дополнительно со статусом заказа пользователю может отображаться статус поставщика. Для этого в теле PUT-запроса на изменение статуса (2, 3, 4 и 9) поставщик добавляет параметр "supplierStatus" с необходимым текстом статуса, например:
{ "status": 2, "supplierStatus": "Заказ принят без изменений", }
Безопасность
В headers запроса обязательно должна передаваться страна пользователя, а также уникальный токен авторизации, который был получен при входе в систему. Ответом от сервера будет являться массив данных с измененными данными заказа.
Type | In | Name | Description |
---|---|---|---|
Authorization | header | required | Для создания HTTP Basic Auth заголовка нужно преобразовать access_token следующим образом: $auth= "Basic " . base64encode(access_token . ":"); Данный токен должен использоваться в каждом запросе в системе. |
country | header | required | Параметр страны должен использоваться в каждом запросе в системе. |
Параметры
Type | Name | Description | Schema |
---|---|---|---|
Body | body required | Запрос на изменение заказа |
Ответы
Response Orders Items:
HTTP Code | Description | Schema |
---|---|---|
200 | Ok | Response Order Items |
401 | Unauthorized | 401 |
403 | Forbidden | 403 |
Orders Status Change Response:
HTTP Code | Description | Schema |
---|---|---|
200 | Ok | Order Status Change Response |
401 | Unauthorized | 401 |
403 | Forbidden | 403 |
Принимаемые ресурсом типы MIME
- application/json
Возвращаемые ресурсом типы MIME
- application/json
Определения
Request Order Items
Name | Description | Schema | Example |
---|---|---|---|
offer_id | Идентификатор предложения | integer($int64) | 3463374 |
quantity | Количество | integer($int64) | 4 |
Пример запроса:
{ "offer_id": 3463374, "quantity": 4 }
Request Order Status Change
Name | Description | Schema | Example |
---|---|---|---|
comment | Комментарий | string | В наличии есть только 4 бутылки |
items | Массив | < items> array | 4 |
delivery_date | Дата доставки (строкой DD.MM.YYYY) | string | 09.10.2019 |
status | Статус заказа | string | Принят с корректировкой: заказы измененные поставщиком (наличие, количество) |
Items
Name | Description | Schema | Example |
---|---|---|---|
quantity | Количество | integer($int64) | 4 |
offer_id | Уникальный номер предложения | integer($int64) | 3463374 |
Пример запроса:
{ "comment": "Изменена дата доставки и количество товара", "delivery_date": "09.10.2019", "items": [ { "quantity": 50, "offer_id": 4166524 } ], "status": 4 }
Response Orders
Items
Name | Description | Schema | Example |
---|---|---|---|
id | Уникальный идентификатор заказа | integer | 258941 |
store_user_id | Идентификатор пользователя торговой точки | integer | 656 |
store_company_id | Идентификатор торговой точки | integer | 80 |
delivery_date | Дата доставки (time stamp с учетом time zone) | integer | 1581292800 |
initial_delivery_date | Первоначальная дата доставки (time stamp с учетом time zone) | integer | 1581292800 |
supplier_company_id | Идентификатор поставщика | string | 84 |
supplierCompanyName | Идентификатор названия поставщика | string | ТОО "Поставщиk-" |
status | Статус заказа | integer | 1 |
created_at | Дата создания заказа | integer | 1532517982 |
updated_at | Дата обновления заказа | integer | 1532517982 |
with_documents | Наличие документов | integer | 0 |
sum | Общая сумма заказа | decimal | 11340.00 |
comments | Комментарий к заказу | array | Ок |
replacement_id | Идентификатор заказа на обмен | string | null |
replacement_status | Статус заказа на обмен | string | null |
role | Роль пользователя, который оформил заказ | string | Торговый представитель |
full_name | ФИО пользователя, который оформил заказ | string | Иван Иванов |
alcohol_license | Алкогольная лицензия | object | |
number | Номер алкогольной лицензии | string | 213 |
expire_at | Начало действия алкогольной лицензии | string | 1522022400 |
expire_at_date | Конец действия алкогольной лицензии | string | 26.03.2018 |
payment_type | Тип оплаты заказа | integer | 0 |
payment_status | Статус оплаты заказа | integer | 0 |
order_items | array | < order_items > array | |
supplier_company_name | Название поставщика | string | ТОО "Поставщиk-" |
store_company | array | < store_company > array | |
service_fee_amount | Сумма сервисного сбора | decimal | 300.00 |
Order Items
Name | Description | Schema | Example |
---|---|---|---|
id | Идентификатор наименования товара | integer($int32) | 1631118 |
order_id | Идентификатор заказа | integer($int32) | 204533 |
offer_id | Идентификатор предложения | integer($int32) | 4134408 |
product_id | Идентификатор товара | integer($int32) | 85067 |
quantity | Количество продукта | integer | 1 |
initial_quantity | Начальное количество продукта | integer | 1 |
quantity_decimal | Дробное значение продукта | string | 1 |
initial_quantity_decimal | Начальное дробное значение продукта | string | 1 |
amount | Общая сумма | string | 2000 |
deleted | Удален | boolean | 0 |
offer | Предложение | object | |
id | Идентификатор предложения | string | 4345054 |
name | Название предложения | string | Воздух чистый, Алматинский ПЭТ 5л |
sku | Штрих-код предложения | string | cash12039823407121 |
unit | Единица измерения предложения | string | шт |
manufacturer | Производитель | string | null |
quantity | Количество | string | 1 |
expires_at | Годен до | string | null |
price_1 | Цена 1 (для магазинов) | string | 1260 |
price_2 | Цена 2 (для HoReCa) | string | 1386 |
price_3 | Цена 3 (для рынков) | string | 1134 |
price_4 | Цена 4 | string | null |
price_5 | Цена 5 | string | null |
unique_code | Уникальный код | string | null |
product_id | Идентификатор продукта | string | 28952 |
step | Шаг | string | null |
minQuantity | Минимальное количество товара для заказа | string | 1.000 |
price | Цена для текущей ТТ | string | 1260 |
product | Товар | object | |
id | Идентификатор товара | string | 28952 |
name | Название продукта | string | Воздух чистый, Алматинский ПЭТ 5л |
sku | Штрих-код предложения | string | cash12039823407121 |
unit | Единица измерения предложения | string | шт |
manufacturer | Производитель | string | null |
category_id | Идентификатор категории товара | string | 360 |
images | array | < images > array | |
status | Статус товара | string | 1 |
user_id | Идентификатор пользователя | string | 132 |
is_weighted | Весовой товар | boolean | 0 |
promotion_type | Признак бонусного товара | string | 0 |
Images
Name | Description | Schema | Example |
---|---|---|---|
id | Идентификатор изображения | integer($int32) | 1631118 |
product_id | Идентификатор продукта | string | 28952 |
scr | Ссылка на изображение | string | https://cdn.smartsatu.com/food/images/products/7238_14752205982FZWw.jpg |
thumb | Ссылка на изображение | string | https://cdn.smartsatu.com/food/images/products/7238_14752205982FZWw.jpg |
Store company
Name | Description | Schema | Example |
---|---|---|---|
route_list | Идентификатор наименования товара | string | null |
name | Идентификатор заказа | string | маг. "Рокфор" |
min_order_price | Минимальная сумма заказа | integer | 0 |
Адрес электронной почты | string | shop@me.kz | |
description | Описание | string | Магазин для тестирования\r\n |
address | Адрес торговой точки | string | Алматы, Байзакова, 125/185 |
conact | Контактные данные | string | Телефон: +78000000001, Вн.: 123, Контактное лицо: Гайка |
type | Тип торговой точки | string | store |
tin | ИНН торговой точки | string | 0123456789 |
phone | Номер телефона | string | +78000000001 |
supplier_rule | Правила поставщика | string | null |
logo | Логотип | string | https://food.smartsatu.com/images/no_image_130x130.png |
has_replacement_products | Обмен товаров | string | 1 |
cashback_percent | Кэшбэк включен | string | true |
has_cashback | Кэшбэк включен и активен | string | false |
position | Позиция для сортировки | integer | 999 |
supplier_store_id | UCS-код торговой точки | string | 3214567 |
Пример ответа:
{ "items": [ { "id": "258941", "store_user_id": 656, "store_company_id": 656, "delivery_date": "1581292800", "initial_delivery_date": "1581292800", "supplier_company_id": "84", "supplierCompanyName": "ТОО \"Поставщиk-", "status": "1", "created_at": 1532517982, "updated_at": 1532517982, "with_documents": 0, "sum": 11340, "comments": "Ок", "replacement_id": " ", "replacement_status": " ", "role": "Торговый представитель" "full_name": "Иван Иванов" "alcohol_license": { "number": "213", "expire_at": "1522022400", "expire_at_date": "26.03.2018" }, "payment_type": 0, "payment_status": 0 "order_items": [ { "id": 1631118, "order_id": 204533, "offer_id": 4134408, "product_id": 85067, "quantity": 1, "initial_quantity": 1, "quantity_decimal": 1, "initial_quantity_decimal": 1, "amount": 2000, "deleted": 0, "offer": { "id": "4345054", "name": "Воздух чистый, Алматинский ПЭТ 5л", "sku": "cash12039823407121", "unit": "шт", "manufacturer": " ", "quantity": "1", "expires_at": " ", "price_1": "1260", "price_2": "1386", "price_3": "1134", "price_4": " ", "price_5": " ", "unique_code": "", "product_id": "28952", "step": "", "minQuantity": "1.000", "price": "1260" }, "product": { "id": "28952", "name": "Воздух чистый, Алматинский ПЭТ 5л", "sku": "9890000033839", "unit": "шт.", "quantity": "1", "manufacturer": " ", "category_id": "360", "images": [ { "id": "39236", "product_id": "28952", "scr": "https://cdn.smartsatu.com/food/images/products/7238_14752205982FZWw.jpg", "thumb": "https://cdn.smartsatu.com/food/images/products/7238_14752205982FZWw.jpg" } ], "status": "1", "user_id": "132", "is_weighted": 0 }, "promotion_type": "0" } ], "Supplier_company_name": "ТОО \"Поставщиk-", "store_company": { "address": "Алматы, Байзакова, 125/185", "min_order_price": 0, "description": "Магазин для тестирования\\r\\n", "cashback_percent": "true", "supplier_rule": "NULL", "type": 1, "has_replacement_products": "1", "has_cashback": "false", "phone": "+78000000001", "route_list": "", "contact": "Телефон: +78000000001, Вн.: 123, Контактное лицо: Гайка", "name": "маг. \"Рокфор", "tin": "0123456789", "logo": "https://food.smartsatu.com/images/no_image_130x130.png", "id": "80", "position": 999, "email": "shop@me.kz" "supplier_store_id": "3214567" } } ] }
Orders Status Change Response
Name | Description | Schema | Example |
---|---|---|---|
id | Уникальный идентификатор заказа | integer($int32) | null |
store_user_id | Идентификатор пользователя торговой точки | integer($int32) | маг. "Рокфор" |
store_company_id | Идентификатор торговой точки | integer($int32) | 0 |
supplier_company_id | Идентификатор поставщика | integer($int32) | shop@me.kz |
supplierCompanyName | Идентификатор названия поставщика | string | Магазин для тестирования\r\n |
status | Статус заказа | integer($int32) | Алматы, Байзакова, 125/185 |
created_at | Время создания заказа | integer($int32) | Телефон: +78000000001, Вн.: 123, Контактное лицо: Гайка |
updated_at | Время обновления заказа | integer($int32) | store |
with_documents | Доставка заказа с документами | integer($int32) | 0123456789 |
sum | Сумма заказа | integer($int32) | +78000000001 |
comments | Массив | < comments > array | |
replacement_id | integer | null | |
replacement_status | integer | null |
Comments
Name | Description | Schema | Example |
---|---|---|---|
id | Идентификатор комментария | integer | 75875 |
company_id | Идентификатор поставщика | integer | 84 |
message | Текст комментария | string | Вот такой комментарий |
type | Статус заказа | string | 4 |
order_id | Уникальный идентификатор заказа | integer | 153390 |
created_at | Время создания | string | 1540376988 |
companyName | Идентификатор названия поставщика | string | ТОО "Поставщиk-" |
is_system | Системное сообщение | string | null |
Пример ответа:
{ "id": 153390, "store_user_id": 656, "store_company_id": 80, "supplier_company_id": 84, "supplierCompanyName": "ТОО \"Поставщиk-\"", "status": 2, "created_at": 1497429666, "updated_at": 1497431046, "with_documents": 1, "sum": 8663, "comments": [ { "id": 75875, "company_id": 84, "message": "Вот такой комментарий", "type": 4, "order_id": 153390, "created_at": 1540376988, "companyName": "ТОО \"Поставщиk-\"", "is_system": "Null" } ], "replacement_id": null, "replacement_status": null }
401
Name | Description | Schema | Example |
---|---|---|---|
name | Название поставщика | string | Unauthorized |
message | Сообщение | string | Your request was made with invalid credentials |
code | Код | integer($int32) | 0 |
status | Статус | integer($int32) | 401 |
type | Тип | string | "yii\\web\\UnauthorizedHttpException" |
Пример ответа:
{ "name": "Unauthorized", "message": "Your request was made with invalid credentials.", "code": 0, "status": 401, "type": "yii\\web\\UnauthorizedHttpException" }
403
Name | Description | Schema | Example |
---|---|---|---|
name | Название поставщика | string | Forbidden |
message | Сообщение | string | You're not allowed to delete this item |
code | Код | integer($int32) | 0 |
status | Статус | integer($int32) | 403 |
type | Тип | string | "yii\\web\\HttpException" |
Пример ответа:
{ "name": "Forbidden", "message": "You're not allowed to delete this item.", "code": 0, "status": 403, "type": "yii\\\\web\\\\HttpException" }