---
title: "Осмотреть лист и строку заголовков без сохранения"
method: POST
path: "/api/v1/stock/imports/{id}/inspect"
tags: ["Stock imports"]
---

# Осмотреть лист и строку заголовков без сохранения

`POST /api/v1/stock/imports/{id}/inspect`

## Request

- Base URL: `https://erp.akeda.ru`
- URL: `https://erp.akeda.ru/api/v1/stock/imports/{id}/inspect`
- 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

Пустой sheet_name берёт первый лист книги. Ответ не сохраняется, ревизия прогона не меняется.

## Path parameters

- `id` string, uuid, required

## Headers

- `X-Tenant` string, required

## Request body

- StockImportInspectRequest
  - `sheet_name` string: Пустое значение берёт первый лист книги
  - `header_row` integer, required

## Response `200`

Неперсистентный результат осмотра

- StockImportRun
  - `id` string, uuid, required
  - `kind` 'initial_stock' | 'inventory_count' | 'document_items' | 'reorder_rules' | 'kit_specs' | 'agent_report_lines', required: Вид складской ЗАГРУЗКИ. Выгрузка шире, у неё свой перечень StockExportKind. agent_report_lines — строки отчёта комиссионера для формы отчёта в «Документах»; прогон только проверяет строки и находит товары, apply его не применяет
  - `format` 'xlsx' | 'xls' | 'ods' | 'csv' | 'tsv', required
  - `status` 'uploaded' | 'mapped' | 'previewed' | 'applied' | 'cancelled', required: cancelled — загрузка отменена целиком (stockCancelImport); бывает только у initial_stock
  - `mode` 'create_only' | 'upsert' | 'replace', required: Режим загрузки: create_only — initial_stock, kit_specs и agent_report_lines; upsert — добавить строки, строки с ID строки обновить (меняются только присланные колонки, __CLEAR__ очищает поле); replace — только document_items, строки файла заменяют все строки черновика
  - `target_document_id` string, uuid
  - `source_name` string, required
  - `source_sha256` string, required
  - `source_size` integer, required
  - `mapping` StockImportMappingState, required
    - `sheet_name` string, required
    - `header_row` integer, required
    - `columns` object, required
    - `defaults` object: Значение поля для всех строк, где колонки нет или ячейка пуста
    - `filter` StockImportRowFilter
      - `column` string, required: Заголовок колонки файла
      - `values` string[], required: Значения, строки с которыми загружаются; регистр не важен
    - `value_map` object: Замены значений файла, которых нет в справочнике: поле (warehouse, company, product, condition) → значение ячейки → идентификатор склада, юрлица или товара либо код состояния. Одно решение действует на все строки с этим значением
  - `schema_version` 'stock-v1', required
  - `revision` integer, required
  - `preview_token` string
  - `diff` StockImportDiff[]
    - `row` integer, required
    - `action` 'create' | 'update' | 'unchanged', required: initial_stock всегда create; document_items — create для новой строки и в режиме replace, update или unchanged для строки по ID строки; inventory_count — update или unchanged по товару снимка; reorder_rules — create для нового ключа, update или unchanged для существующего правила; kit_specs — create, update (новая версия состава) или unchanged. unchanged применение пропускает
    - `target_id` string, uuid
    - `label` string: Товар строки словами («артикул — название») после поиска; не найден — значение ячейки
    - `changes` object
    - `before` object: Только у update: прежние значения полей, которые строка изменит (стало — в changes)
  - `issues` CoreProductImportIssue[]
    - `sheet` string, required
    - `row` integer, required
    - `column` string, required
    - `code` string, required
    - `severity` 'warning' | 'error', required
    - `value` string
    - `message` string, required
    - `hint` string
    - `params` object: Сведения замечания для текста на другом языке (складская загрузка): documents и date у повторной загрузки, candidate у ненайденного артикула с ведущими нулями, column у несопоставленной колонки
  - `created_count` integer, required
  - `updated_count` integer, required
  - `unchanged_count` integer, required
  - `warning_count` integer, required
  - `error_count` integer, required
  - `created_by` integer
  - `created_at` string, date-time, required
  - `previewed_at` string, date-time
  - `applied_at` string, date-time
  - `cancelled_at` string, date-time
  - `documents` StockImportDocument[], required: Документы, которые создала загрузка. Заполняется у применённой загрузки initial_stock; у остальных видов и у загрузок, сделанных до появления связи, список пуст
    - `id` string, uuid, required
    - `number` string
    - `status` 'draft' | 'posted' | 'cancelled'
    - `date` string, date
    - `company_id` string, uuid
    - `warehouse_id` string, uuid
    - `warehouse_name` string
    - `is_marked_deleted` boolean, required
  - `source_columns` string[]
  - `source_sheets` CoreProductImportSheet[]
    - `name` string, required
  - `target_fields` CoreProductImportField[]
    - `key` string, required
    - `label` string, required
    - `required` boolean, required
    - `type` string, required
  - `source_values` object: Различающиеся значения колонок файла с небольшим набором значений (не больше 30): из них выбирается отбор строк — машина, склад
  - `target_document_type` string: Вид черновика, в который грузятся строки (document_items с target_document_id); target_fields — колонки этого вида
  - `source_samples` object: До трёх различающихся примеров значений каждой колонки файла
  - `source_filled` object: Число заполненных ячеек каждой колонки файла: заполненная колонка без решения (поле или «-» — не загружать) даёт ошибку column_not_decided

## Other responses

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

---

[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/a99574d597cc?raw)
