Золотенков

Отгрузить позиции заказа покупателя

POST https://mrp.zolotenkov.ru/api/external/v1/sales-orders/{id}/ship

Требуемое право ключа: write:sales.order.ship

Отгружает или собирает перечисленные строки заказа. DELIVERED списывает товар со склада, PACKED только резервирует. Когда отгружены все строки, заказ закрывается сам — отдельного вызова закрытия для этого не нужно.

Параметры пути

  • id целое число обязателен

    id заказа покупателя

Заголовки

  • Idempotency-Key строка обязателен

    Обязателен. Повтор с тем же ключом возвращает прежний ответ и второй раз товар не списывает. Ответ на повтор помечен заголовком Idempotency-Replayed: true — по коду ответа повтор от первичного вызова не отличается.

Тело запроса

Формат — application/json.

  • event_type строка необязателен

    DELIVERED — товар ушел, остаток уменьшается. PACKED — позиция собрана и зарезервирована, склад не трогается. Не прислали — DELIVERED: наружу эта ручка нужна прежде всего затем, чтобы продажа уменьшала остаток.

  • items массив объектов обязателен

    Хотя бы одна строка.

  • items.quantity десятичная дробь обязателен

    Сколько отгружается этим событием. Не больше неотгруженного остатка строки — иначе 422.

  • items.sales_order_item_id целое число обязателен
  • serial_assignments массив объектов необязателен
  • serial_assignments.sales_order_item_id целое число обязателен
  • serial_assignments.serial_ids массив целых чисел необязателен
  • storage_place_id целое число необязателен может быть пустым

    Склад, с которого уходит товар. Не прислали — берется склад строки, а при пустой строке — склад по умолчанию, как в интерфейсе.

Ответы

  • 200 Событие отгрузки записано; в ответе — заказ с новым delivery_status
  • 400 Некорректное тело запроса
  • 401 Ключ не передан, недействителен или отозван
  • 403 У ключа нет права write:sales.order.ship
  • 404 В этом учете такого заказа нет
  • 409 Idempotency-Key повторен с другим телом
  • 422 Заказ уже закрыт (sales_order_invalid_status); количество больше неотгруженного остатка, строка не из этого заказа, не хватает товара на складе либо для серийной строки не переданы номера (sales_order_shipment_not_allowed); день отгрузки попадает в закрытый учетный период (inventory_period_closed)
  • 429 Исчерпан суточный предел документов ключа (document_quota_exceeded) либо частота обращений