Витрина

DataMatrix с фото

Сервис читает DataMatrix кода маркировки с фото и отдаёт сырую строку для кассы. Картинки не хранит.

Без токена — 10 фото в час с одного адреса.

Метка 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 фото в час с одного адреса.