Витрина
DataMatrix с фото
Сервис читает DataMatrix кода маркировки с фото и отдаёт сырую строку для кассы. Картинки не хранит.
Метка GS на экране — это невидимый символ в строке. «Скопировать» кладёт в буфер исходную строку, со знаком 0x1D, а не со словом GS.
Магазину, с токеном
POST /v1/decode, поле file (PNG, JPEG или WebP, до 5 МБ). Необязательное поле type — только datamatrix. Заголовок Authorization: Bearer и токен магазина: 60 запросов в минуту, адрес в лимите не участвует. Ответ 200 — {"codes": ["…"]}, сверху вниз. Пустой список — тоже 200, символа на фото нет.
curl -sS \
-H "Authorization: Bearer $TOKEN" \
-F "file=@label.png" \
https://datamatrix.difocus.ru/v1/decode
Строка сырая. В JSON GS (байт 0x1D) записан как \u001d. Перед кассой его не удаляют.
| Код | Когда |
|---|---|
| 400 | Нет файла, это не PNG, JPEG или WebP, либо type не datamatrix. |
| 401 | Заголовок Authorization есть, но токена нет или он неверный. Запрос без токена — это витрина, не 401. |
| 413 | Файл больше 5 МБ. |
| 429 | С токеном — больше 60 запросов в минуту. Без токена — больше 10 фото в час с одного адреса. |