---
title: "Подготовить черновик документа ГИС МТ"
method: POST
path: "/api/v1/marking/gismt/document-drafts"
tags: ["Marking GIS MT documents"]
---

# Подготовить черновик документа ГИС МТ

`POST /api/v1/marking/gismt/document-drafts`

## Request

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

Строит тело документа ГИС МТ (вывод из оборота, его отмена, возврат, ввод в оборот, ввод остатков, списание КиЗ, формирование упаковки — `params.unit_serial_number` короба и его вложения кодами, расформирование упаковки — коды коробов) и сохраняет черновик. В ГИС МТ ничего не уходит. `body_base64` — ровно то, что человек подписывает откреплённой подписью УКЭП в браузере и отправляет; агент черновик готовит, а подпись и отправку делает только человек. Параметры вида проверяются строго: незнакомое или неверное поле — 400 с `field` и `problem`, нераспознанный код — 400 с `index` и `value`. `basis_type` и `basis_id` связывают документ ЧЗ со складским документом-основанием (вывод по проведённому списанию): по этой связи карточка списания показывает состояние вывода, а отмена списания при отправленном или принятом выводе останавливается.

## Headers

- `X-Tenant` string, required

## Request body

- MarkingDocumentDraftInput
  - `company_id` string, uuid, required
  - `kind` 'withdrawal' | 'withdrawal_cancel' | 'return' | 'introduce' | 'introduce_remains' | 'introduce_import' | 'remark' | 'cancel_codes' | 'aggregation' | 'disaggregation' | 'sets_aggregation', required
  - `product_group` string, required
  - `codes` string[]: Коды документа; достаточно кода без криптохвоста
  - `params` MarkingDocumentParams: Параметры вида документа; незнакомое поле — отказ
    - `reason` string
    - `reason_other` string
    - `action_date` string
    - `buyer_inn` string
    - `product_cost` integer: Цена за единицу в копейках с НДС
    - `product_costs` object: Дистанционная продажа (DISTANCE): цена каждого кода в копейках с НДС, ключ — код (сводится к КИ без криптохвоста); код без своей цены берёт product_cost
    - `kpp` string
    - `fias_id` string
    - `primary_document_type` string
    - `primary_document_number` string
    - `primary_document_date` string
    - `primary_document_name` string
    - `withdrawal_document_id` string
    - `return_type` string
    - `paid` boolean
    - `production_date` string
    - `production_type` string
    - `tnved_code` string
    - `certificate_type` string
    - `certificate_number` string
    - `certificate_date` string
    - `declaration_number` string: Ввод импорта (introduce_import) — регистрационный номер ДТ «XXXXXXXX/ДДММГГ/XXXXXXX»
    - `declaration_date` string: Ввод импорта — дата регистрации ДТ, ГГГГ-ММ-ДД; совпадает с датой в номере
    - `previous_codes` object: Перемаркировка (remark): предыдущий код к новому — ключ новый код, значение предыдущий (оба сводятся к КИ без криптохвоста); у нового кода без предыдущего нужен tnved_code
    - `unit_serial_number` string: Формирование упаковки — код короба «00» + SSCC; формирование набора — код набора (КИН), скан или без криптохвоста
  - `basis_type` string: Вид складского документа-основания (stock_writeoff, stock_assembly …); пусто — без основания
  - `basis_id` string: Складской документ, по которому заводится документ ЧЗ

## Response `200`

Черновик с телом на подпись

- MarkingDocumentDraftEnvelope
  - `draft` MarkingDocumentDraft, required
    - `id` string, uuid, required
    - `company_id` string, uuid, required
    - `kind` 'withdrawal' | 'withdrawal_cancel' | 'return' | 'introduce' | 'introduce_remains' | 'introduce_import' | 'remark' | 'cancel_codes' | 'aggregation' | 'disaggregation' | 'sets_aggregation', required
    - `gismt_type` string, required
    - `product_group` string, required
    - `codes_count` integer, required
    - `status` 'draft' | 'sent' | 'accepted' | 'rejected' | 'cancelled', required
    - `gismt_doc_id` string, required
    - `gismt_status` string, required
    - `error_text` string, required
    - `params` MarkingDocumentParams, required: Параметры вида документа; незнакомое поле — отказ
      - `reason` string
      - `reason_other` string
      - `action_date` string
      - `buyer_inn` string
      - `product_cost` integer: Цена за единицу в копейках с НДС
      - `product_costs` object: Дистанционная продажа (DISTANCE): цена каждого кода в копейках с НДС, ключ — код (сводится к КИ без криптохвоста); код без своей цены берёт product_cost
      - `kpp` string
      - `fias_id` string
      - `primary_document_type` string
      - `primary_document_number` string
      - `primary_document_date` string
      - `primary_document_name` string
      - `withdrawal_document_id` string
      - `return_type` string
      - `paid` boolean
      - `production_date` string
      - `production_type` string
      - `tnved_code` string
      - `certificate_type` string
      - `certificate_number` string
      - `certificate_date` string
      - `declaration_number` string: Ввод импорта (introduce_import) — регистрационный номер ДТ «XXXXXXXX/ДДММГГ/XXXXXXX»
      - `declaration_date` string: Ввод импорта — дата регистрации ДТ, ГГГГ-ММ-ДД; совпадает с датой в номере
      - `previous_codes` object: Перемаркировка (remark): предыдущий код к новому — ключ новый код, значение предыдущий (оба сводятся к КИ без криптохвоста); у нового кода без предыдущего нужен tnved_code
      - `unit_serial_number` string: Формирование упаковки — код короба «00» + SSCC; формирование набора — код набора (КИН), скан или без криптохвоста
    - `created_at` string, date-time, required
    - `sent_at` string, date-time, nullable, required
    - `checked_at` string, date-time, nullable, required
    - `basis_type` string: Вид складского документа-основания
    - `basis_id` string, uuid
    - `body_base64` string, required: Тело документа base64 — его подписывает человек
    - `body_hash` string, required: SHA-256 тела шестнадцатеричный

## Other responses

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

---

[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)
