---
title: "Определить товар и единицу ввода по штрихкоду"
method: GET
path: "/api/v1/stock/products/scan"
tags: ["Stock product units"]
---

# Определить товар и единицу ввода по штрихкоду

`GET /api/v1/stock/products/scan`

## Request

- Base URL: `https://erp.akeda.ru`
- URL: `https://erp.akeda.ru/api/v1/stock/products/scan`
- 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

Документ всё равно хранит количество в базовой единице; factor_to_base управляет только представлением ввода оператора.

## Query parameters

- `code` string, required

## Headers

- `X-Tenant` string, required

## Response `200`

Товар и единица ввода штрихкода

- StockScanResult
  - `identifier_id` string, uuid, required
  - `barcode` string, required
  - `product_id` string, uuid, required
  - `product_sku` string, required
  - `product_name` string, required
  - `base_unit` string, required
  - `product_uom_id` string, uuid, required
  - `product_uom_name` string, required
  - `input_unit_id` string, uuid, required
  - `input_unit_label` string, required
  - `factor_to_base` string, required
  - `gs1` StockScanGS1: Разобранный код GS1 — код маркировки или логистическая этикетка. У обычного штрихкода блока нет. Поля, которых в коде не было, пусты. Блок криптохвост маркировки не несёт; поле barcode — сохранённое значение идентификатора как есть.
    - `gtin` string, required: GTIN из кода — четырнадцать цифр
    - `serial` string, required: Серийный номер экземпляра
    - `identification_code` string, required: Код идентификации экземпляра — 01, GTIN, 21 и серийный номер, без криптохвоста
    - `batch` string, required: Партия производителя
    - `expires_on` string, required: Срок годности из кода датой ГГГГ-ММ-ДД; пусто — срока в коде нет
    - `produced_on` string: Дата изготовления из кода (идентификатор 11) датой ГГГГ-ММ-ДД; нет поля — даты в коде нет (ERP-2199)
    - `sscc` string, required: Код транспортной упаковки — восемнадцать цифр
    - `has_crypto_tail` boolean, required: Код считан вместе с криптохвостом маркировки
  - `marking_group` StockScanMarkingGroup: Действующая группа маркировки найденного товара — своя или от категории. Поле про товар, а не про код: оно есть и у обычного штрихкода. У товара, который не маркируется, поля нет.
    - `id` string, uuid, required
    - `name` string, required: Название группы маркировки

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