Оформить возврат покупателя
https://mrp.zolotenkov.ru/api/external/v1/sales-returns
Требуемое право ключа: write:sales.return.create
Заводит документ возврата вместе со строками. Остаток при этом не двигается: товар еще едет назад. На склад его принимает отдельный вызов приемки.
Заголовки
-
Idempotency-Keyстрока обязателенОбязателен. Повтор с тем же ключом возвращает прежний ответ и второго документа не создает. Ответ на повтор помечен заголовком
Idempotency-Replayed: true— по коду ответа повтор от первичного вызова не отличается.
Тело запроса
Формат — application/json.
-
customer_idцелое число необязателен может быть пустымПокупатель возврата без заказа. У возврата от заказа берется из заказа.
-
dateдата и время необязателен может быть пустымДата документа. Не прислана — текущий момент.
-
external_return_refстрока необязателен может быть пустымНомер возврата в системе клиента: маркетплейс, магазин, транспортная.
-
itemsмассив объектов обязателен -
items.batch_idцелое число необязателен может быть пустымПартия, в которую принять товар. Без нее партия подбирается учетом.
-
items.item_variant_idцелое число необязателен может быть пустымВариант товара. У возврата от заказа можно не присылать: он берется из строки заказа.
-
items.quantityдесятичная дробь обязателен -
items.quarantineфлаг необязателенПринять в карантин: товар лежит на складе, но продавать его нельзя.
-
items.reasonстрока необязателен может быть пустымПричина возврата строки свободным текстом. **Устарело на запись** (ZOL-12811): присылайте
reason_id. Строка продолжает приниматься — текст кладется вreason_note, а причиной ставится «Другое» (reason_id = 7). Если пришли оба поля, выигрываетreason_id, строка игнорируется. -
items.reason_idцелое число необязателен может быть пустымZOL-12811: значение справочника причин возврата. Обязательно у возврата без заказа. Список значений —
GET /sales-return-reasons. -
items.reason_noteстрока необязателен может быть пустымZOL-12811: свободное уточнение к причине, до 500 символов. Без выбранной причины уточнение не сохраняется.
-
items.sales_order_item_idцелое число необязателен может быть пустымСтрока исходного заказа —
items[].idиз карточки заказа. Обязательна у возврата от заказа и запрещена у возврата без заказа. -
items.storage_place_idцелое число необязателен может быть пустымМесто хранения приемки строки. Не прислано — берется из шапки.
-
items.unit_priceдесятичная дробь необязателен может быть пустымЦена строки без налога. Не прислана — берется цена строки заказа.
-
notesстрока необязателен может быть пустымЗаметка документа.
-
numberстрока необязателен может быть пустымНомер документа. Не прислан — выдается тем же счетчиком, что и в интерфейсе.
-
refund_amountдесятичная дробь необязателен может быть пустым -
sales_order_idцелое число необязателен может быть пустымЗаказ покупателя, товар по которому едет назад. Без него оформляется возврат без заказа, и тогда нужен
customer_id. -
source_typeстрока необязателен может быть пустымОткуда пришел возврат. Не прислан —
SALES_ORDERпри заданномsales_order_idиMANUALбез него. -
storage_place_idцелое число необязателен может быть пустымМесто хранения приемки для всего документа.
-
tracking_infoстрока необязателен может быть пустым
Ответы
- 201 Возврат оформлен в статусе NOT_RETURNED
- 400 Некорректное тело, ссылка на строку другого клиента либо строка не из указанного заказа
- 401 Ключ не передан, недействителен или отозван
- 403 У ключа нет права
write:sales.return.create - 409 Номер возврата уже занят (document_number_taken) либо Idempotency-Key повторен с другим телом
- 422 Учетный период закрыт
- 429 Исчерпан суточный предел документов ключа (document_quota_exceeded) либо частота обращений