Выпуск DataMatrix
| Дата | Магазин | Штрихкод | Название | Причина | ДатаМатрикс | Печать |
|---|
Склад Major
| Дата | Штрихкод | Название | Причина | ДатаМатрикс | Статус | Доставка | Действия |
|---|
| Время | Направление | HTTP | Заказ | Запрос | Ответ |
|---|
Как это устроено
Интеграция для склада Major — два направления обмена:
- Входящий — склад шлёт отсканированный код, DataMatrix отвечает: можно отгружать или в карантин. При необходимости автоматически запускает выпуск новой марки в Честном знаке.
- Исходящий — после выпуска DataMatrix передаёт готовый код маркировки в API пула Major.
Склад → POST /check → DataMatrix → Честный знак (выпуск) Склад ← POST pool URL ← DataMatrix ← марка готова
Настройки
Ключи, URL и email — в Справочники → Склад Major.
- Входящий API-ключ — передаётся разработчикам склада для запросов
POST /check. — - URL API пула Major — куда отправляем выпущенные марки. —
- Email — уведомления об ошибках выпуска и ежедневный отчёт в 9:00 МСК.
Входящий API: проверка кода
POST https://datamatrix.anta-sport.ru/api/integrations/major/v1/check
Заголовки:
Content-Type: application/json Authorization: Bearer <ВХОДЯЩИЙ_API_КЛЮЧ>
Тело запроса:
{
"request": "<Base64 отсканированного кода>",
"autoIssue": false
}
| Поле | Описание |
|---|---|
request | Обязательно. Base64-строка. После декодирования — КИ/DataMatrix (≥31 символ) или штрихкод EAN-13 (13 цифр). |
autoIssue | Необязательно, по умолчанию false. Если true и код не прошёл проверку — создаётся заявка на выпуск новой марки. |
Ответы склада
| Ответ (HTTP 200) | Действие на складе |
|---|---|
{ "valid": true } | Можно отгружать |
{ "valid": false } | Карантин |
{ "valid": false, "orderId": "…" } | Карантин + заявка на выпуск создана (orderId — для отслеживания) |
Ошибки: 400 — неверный запрос, 401 — неверный ключ, 500 — сбой сервера. Детали ЧЗ не отдаются складу — только valid.
Примеры запросов (curl)
1. Штрихкод EAN-13 — проверка в ЧЗ не выполняется. Base64 от 4630467493723:
curl -s -X POST "https://datamatrix.anta-sport.ru/api/integrations/major/v1/check" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{"request":"NDYzMDQ2NzQ5MzcyMw==","autoIssue":true}'
Ответ при autoIssue: true: { "valid": false, "orderId": "…" } — марка будет выпущена асинхронно.
2. Код маркировки (КИ) — проверка в Честном знаке (владелец ANTA, статус «В обороте»):
curl -s -X POST "https://datamatrix.anta-sport.ru/api/integrations/major/v1/check" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{"request":"MDFOMDQ2MzA0Njc0OTM3MjMxN…","autoIssue":false}'
В request передаётся Base64 от полной строки КИ (как отсканировала камера, с GS-разделителями). Подставьте реальный код из сканера.
3. Только проверка, без выпуска — autoIssue: false (или не указывать):
{"request":"…","autoIssue":false}
При невалидном коде вернётся { "valid": false } без orderId.
Исходящий API (DataMatrix → Major)
После статуса issued система отправляет POST на URL пула Major:
POST <URL из настроек>
Authorization: Bearer <исходящий ключ>
Content-Type: application/json
{
"orderId": "uuid заказа",
"cis": "полный код маркировки",
"cisShort": "первые 31 символ",
"gtin": "04630467493723",
"barcode": "4630467493723",
"issuedAt": "2026-06-22T14:30:00.000Z"
}
Ожидаемый ответ Major: HTTP 200 и { "ok": true }. При ошибке — повторные попытки; статус виден во вкладке Выпущенные марки (колонка «Доставка»).
Вкладки этого раздела
- Выпущенные марки — все заказы склада Major: статус выпуска, доставка в Major, кнопки повтора.
- Лог обмена — все входящие и исходящие запросы с фильтрами. Двойной клик по строке — полный JSON.
- Инструкция — этот текст. Полная документация для разработчиков склада:
docs/MAJOR_API.mdв репозитории.