---
title: "Напечатать этикетки марок файлом по адресу"
method: POST
path: "/api/v1/marking/labels/file"
tags: ["Marking labels"]
---

# Напечатать этикетки марок файлом по адресу

`POST /api/v1/marking/labels/file`

## Request

- Base URL: `https://erp.akeda.ru`
- URL: `https://erp.akeda.ru/api/v1/marking/labels/file`
- 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`)

То же, что печать этикеток марок (POST /labels), но ответ — временный адрес готового PDF, а не тело файла: так печатает агент по MCP (ERP-2185). Журнал печати пишется до ответа; повтор кода — причиной «дубликат». Адрес хранилища живёт 15 минут; где хранилище не подписывает адреса — адрес этого API с авторизацией.

## Headers

- `X-Tenant` string, required

## Request body

- MarkingLabelRequest
  - `code_ids` UUID[]
  - `scan_raw` string[]: Сканы этикеток; заносятся в реестр как отдельный скан
  - `company_id` string, uuid, required
  - `group` string: Товарная группа сканов
  - `template` string: Ключ шаблона; пусто — шаблон из настроек юрлица (58×40)
  - `copies` integer: Копии каждой этикетки
  - `reason` 'first' | 'duplicate' | 'test' | 'auto', required: auto — ненапечатанные коды первой печатью, напечатанные — дубликатом
  - `note` string: Пояснение к дубликату
  - `preset` '' | 'full' | 'short' | 'mark_only' | 'marking' | 'marking_marketplace' | 'outer_duplicate': Формат этикетки; пусто — формат товара, иначе юрлица; outer_duplicate — дубль на внешнюю упаковку (всегда дубликат)
  - `fields` string[]: Поля этикетки варианта оформления
  - `badge` boolean: Значок «Честного знака» рядом с маркой; нет поля — как в настройках юрлица
  - `output` '' | 'html' | 'pdf': Формат ответа: html (по умолчанию) — страница для принтера, pdf — файл, страница = этикетка
  - `channel` string: Канал штрихкода площадки: код справочника «Каналы продаж» (wildberries, ozon, yandex, lamoda …)
  - `order` MarkingLabelOrderSelection
    - `id` string, uuid, required
    - `gtin` string
    - `from` integer: Номер кода в заказе по GTIN — с
    - `to` integer: Номер кода в заказе по GTIN — по
    - `unprinted` boolean: Только ненапечатанные, первые 500 по номерам
  - `label_template` string: Шаблон этикетки марки; пусто — по умолчанию или размер и вид запроса
  - `contact_id` string, uuid
  - `channel_barcodes` object: Штрихкод площадки, выбранный у товара (дубли карточек): товар → штрихкод
  - `only_unprinted` boolean: Только ни разу не печатанные коды (ERP-2185); все напечатаны — 409 marking.labels.all_printed

## Response `200`

Адрес файла PDF и что в нём

- MarkingLabelFile: Печать этикеток файлом: временный адрес PDF и что в нём (ERP-2185).
  - `file` TransferDownloadLink, required: Временный адрес файла: подписанный адрес хранилища или адрес этого API.
    - `url` string, required
    - `method` 'GET', required
    - `direct` boolean, required: true — подписанный адрес хранилища, без заголовка авторизации; false — адрес этого API, с авторизацией
    - `requires_authorization` boolean, required: true — адрес требует токен API, агенту по MCP он недоступен
    - `expires_at` string, date-time: Срок подписанного адреса; у адреса API его нет
    - `name` string, required
    - `mime_type` string, required
    - `size_bytes` integer, required
    - `scan_status` 'clean' | 'skipped': Вердикт антивируса; skipped — файл антивирус не проверял
    - `facsimile` 'applied' | 'not_allowed': Что стало с просьбой о факсимиле у печатной формы
  - `labels` integer, required: Сколько этикеток в файле
  - `jobs` string[], required: Записи журнала печати марок и коробов; у этикеток товаров — пусто
  - `omitted` string[], required: Строки и поля, которым не хватило места

## Other responses

- `400`: Причина, шаблон, копии, поле или площадка не приняты
- `401`: Сессия, ключ или кабинет не подтверждены
- `403`: Текущая роль не имеет требуемого права
- `409`: Код уже печатали (нужен дубликат) или он за другим юрлицом
- `413`: Больше 500 кодов или 2 500 этикеток в одной печати
- `422`: Код без криптохвоста, поле не помещается или у товара нет штрихкода площадки
- `503`: Хранилище файлов кабинета не подключено

---

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