Золотенков

Оформить возврат покупателя

POST 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) либо частота обращений