Содержание

Функция работы с позицией в заказе

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