Функция работы с позицией в заказе
Добавляет, изменяет или удаляет продукты в заказе. Список продуктов в заказе можно получить из объекта заказа. Получаем заказ при помощи функции получения заказа по идентификатору, в поле products находится массив объектов позиций в заказе.
Объект позиции в заказе
Поле | Описание | Тип, возм. значения |
---|---|---|
id | Системный идентификатор позиции в заказе* | Целое число |
product_id | Системный идентификатор продукта | Целое число |
product_ext_id | Внешний идентификатор продукта | строка |
product_name | Наименование продукта | строка |
price | Стоимость товара в заказе | Целое или вещественное положительное число, до 2 десятичных разрядов, разделитель разрядов точка |
quantity | Количество товара в заказе | Целое или вещественное положительное число, до 3 десятичных разрядов, разделитель разрядов точка |
sum | Сумма позиции в заказе | Целое или вещественное положительное число, до 2 десятичных разрядов, разделитель разрядов точка |
vat_type | Тип НДС для указанного товара | Значение из списка "Тип НДС у товара" |
payed | Сумма оплат по данной позиции | Целое или вещественное положительное число, до 2 десятичных разрядов, разделитель разрядов точка |
returned | Сумма возвратов по данной позиции | Целое или вещественное положительное число, до 2 десятичных разрядов, разделитель разрядов точка |
* обратите внимание, что идентификатор позиции в заказе не является идентификатором продукта
Добавление позиции в заказ
Может быть добавлен как существующий в базе товар, так и не существующий, при этом товар создается в базе автоматически. Логика работы метода такова: сначала проверяется по внешнему идентификатору, есть ли такой товар в базе. Если да, то добавляется он, при этом более приоритетными значениями, являются те, которые указаны в функции добавления, т.е. если указана стоимость товара, то товар будет добавлен с указанной стоимостью за единицу.
PUT https://vsevkassu.ru/api/v1/store/order/{order_id}/product
Метод добавляет позицию в существующий заказ order_id по указанным параметрам. В качестве параметров в теле запроса передается JSON-объект позиции товара.
Пример:
PUT https://vsevkassu.ru/api/v1/store/order/1/product { "product_id" : 1, "product_ext_id": "1", "quantity" : 2, "price" : 2990 }
В ответ отдается объект заказа при успешном добавлении со списком позиций в поле products, либо ошибка добавления.
Изменение позиции в заказе
POST https://vsevkassu.ru/api/v1/store/order/{order_id}/product/{order_product_id}
Функция изменяет позицию в заказе order_id с идентификатором order_product_id, в соответствии с переданными параметрами в объекте в теле запроса. Список полей, которые можно изменить:
{ "quantity": 2, "price": 500, }
нельзя менять содержимое заказа, если он оплачен
Удаление позиции заказа
DELETE https://vsevkassu.ru/api/v1/store/order/{order_id}/product/{order_product_id}
Удаляет позицию из заказа order_id по ее системному идентификатору order_product_id. Удаление возможно только для товаров в заказе, по которым нет оплат. При прохождении любой оплаты по позиции, удаление позиции невозможно. Сначала необходимо отменить оплату.