---
title: "Получить лист подбора по продаже"
method: GET
path: "/api/v1/stock/sales/{id}/pick-plan"
tags: ["Stock purchasing"]
---

# Получить лист подбора по продаже

`GET /api/v1/stock/sales/{id}/pick-plan`

## Request

- Base URL: `https://erp.akeda.ru`
- URL: `https://erp.akeda.ru/api/v1/stock/sales/{id}/pick-plan`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-Api-Key`
  - OAuth 2 (authorization code, authorization URL `https://erp.akeda.ru/oauth2/authorize`, token URL `https://erp.akeda.ru/oauth2/token`, scopes: `akeda:delegate`)
  - HTTP bearer

Лист подбора по ячейкам для остатка продажи к отгрузке (ERP-2771): откуда взять и сколько. Правило то же, что у листа подбора волны FBS: ранний срок годности первым, порядок обхода ячеек, негодные состояния и брони других заказов не берутся, а собственная бронь продажи считается её товаром. Склад — warehouse_id, иначе склад отгрузки по умолчанию (ship_warehouse у GET …/shipping); нет ни того, ни другого — 400. У склада без ячеек (bins_mode off) строки идут без ячейки. Чего не хватает, перечислено в shortages с причиной. Продажа без остатка к отгрузке — пустые lines и shortages. Только чтение: лист ничего не резервирует и не отгружает.

## Path parameters

- `id` string, uuid, required

## Query parameters

- `warehouse_id` string, uuid

## Headers

- `X-Tenant` string, required

## Response `200`

Лист подбора по продаже

- StockOrderPickPlan
  - `order_id` string, uuid, required
  - `order_number` string, required
  - `warehouse_id` string, uuid, required
  - `warehouse_name` string, required
  - `bins_mode` 'off' | 'soft' | 'strict', required: Режим ячеек склада: off — лист без ячеек
  - `lines` StockOrderPickPlanLine[], required
    - `seq` integer, required: Место строки в обходе: сначала товар вне ячеек, затем ячейки по порядку обхода склада, внутри ячейки — ранний срок годности
    - `product_id` string, uuid, required
    - `sku` string, required
    - `name` string, required
    - `unit` string
    - `bin_id` string, uuid
    - `bin_code` string
    - `bin_name` string
    - `batch_code` string: Серия партии; нет поля — партия без серии
    - `expires_at` string, date: Годен до у партии; нет поля — у партии нет срока
    - `qty` string, required: Сколько взять, в базовой единице
  - `shortages` StockOrderPickShortage[], required
    - `product_id` string, uuid, required
    - `sku` string, required
    - `name` string, required
    - `qty` string, required: Сколько не нашлось, в базовой единице
    - `reason` 'no_stock' | 'shelf_life' | 'reserved', required: no_stock — на складе товара нет или он весь удержан; shelf_life — товар есть, но срок годности не проходит правило; reserved — товар обещан другим броням

## Other responses

- `400`: Некорректный запрос или нарушение бизнес-правила
- `401`: Сессия, ключ или кабинет не подтверждены
- `403`: Текущая роль не имеет требуемого права
- `404`: Запись не найдена или не видима текущему пользователю

## Changes

- **2026-10-21** `00ca38dcdfaf`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/akeda/apis/akeda-erp-client-api/changes/api/v1/stock/sales/:id/pick-plan/get.md)

---

[API](https://skmtc.dev/akeda/apis/akeda-erp-client-api.md) · [All operations](https://skmtc.dev/akeda/apis/akeda-erp-client-api/llms.txt) · [OpenAPI document](https://skmtc.dev/akeda/apis/akeda-erp-client-api/revisions/9dcf3c80b29a?raw)
