---
title: "Проверить, что мешает подтвердить или отменить продажу"
method: GET
path: "/api/v1/core/sales/{id}/blockers"
tags: ["Core trade"]
---

# Проверить, что мешает подтвердить или отменить продажу

`GET /api/v1/core/sales/{id}/blockers`

## Request

- Base URL: `https://erp.akeda.ru`
- URL: `https://erp.akeda.ru/api/v1/core/sales/{id}/blockers`
- 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

Пробный прогон подтверждения и отмены под теми же сторожами, что у команды, без записи.

## Response `200`

Что мешает

- CoreOrderBlockers: Что мешает командам продажи или закупки: подтверждению и отмене. У черновика отмена разрешена без движений; подтверждённую отменяют отменой проведения под сторожем исполнений и закрытия
  - `document_id` string, uuid, required
  - `state` 'draft' | 'confirmed' | 'executing' | 'executed' | 'closed' | 'cancelled', required
  - `confirm` CoreOrderActionCheck, required
    - `allowed` boolean, required
    - `reasons` CoreOrderBlockReason[], required
      - `code` string, required: Причина уровня документа (posted, not_posted, balance_negative, period_closed и другие причины проведения) или отказ сделки с кодом core.trade.* — тот же, что вернула бы команда
      - `message` string, required
      - `detail` string
      - `warning` boolean: Причина показывается, но действие не запрещает
      - `shortages` CoreBalanceShortage[]
        - `register_key` string, required
        - `register_name` string, required
        - `dims` object, required
        - `resource` string, required
        - `balance` string, required
        - `shortage` string, required
        - `conflicts` CoreConflictingRegistrar[], required
          - `id` string, uuid, required
          - `number` string, required
          - `type_key` string, required
          - `type_name` string, required
          - `date` string, date, required
          - `status` 'draft' | 'posted' | 'cancelled', required
          - `sign` -1 | 1, required
      - `detail_code` string: Код отказа проводчика внутри причины; detail для него собран на языке запроса.
      - `detail_params` object: Параметры отказа с кодом detail_code: из них собрана фраза detail.
  - `cancel` CoreOrderActionCheck, required
    - `allowed` boolean, required
    - `reasons` CoreOrderBlockReason[], required
      - `code` string, required: Причина уровня документа (posted, not_posted, balance_negative, period_closed и другие причины проведения) или отказ сделки с кодом core.trade.* — тот же, что вернула бы команда
      - `message` string, required
      - `detail` string
      - `warning` boolean: Причина показывается, но действие не запрещает
      - `shortages` CoreBalanceShortage[]
        - `register_key` string, required
        - `register_name` string, required
        - `dims` object, required
        - `resource` string, required
        - `balance` string, required
        - `shortage` string, required
        - `conflicts` CoreConflictingRegistrar[], required
          - `id` string, uuid, required
          - `number` string, required
          - `type_key` string, required
          - `type_name` string, required
          - `date` string, date, required
          - `status` 'draft' | 'posted' | 'cancelled', required
          - `sign` -1 | 1, required
      - `detail_code` string: Код отказа проводчика внутри причины; detail для него собран на языке запроса.
      - `detail_params` object: Параметры отказа с кодом detail_code: из них собрана фраза detail.

## Other responses

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