ESP Logo

ESM Checkmarks Emulator

Эмулятор единого сервисного модуля

Инструкция

Полное руководство по работе с ESM Checkmarks Emulator

Основные функции системы
Категоризация марок

Интеллектуальное распределение марок по категориям: Все марки, Аптеки, Легкая промышленность на основе системы тегов.

Умный поиск

Быстрый поиск марки по Data Matrix коду с поддержкой онлайн/офлайн режимов и отображением полной JSON информации.

Двойной режим работы

Поддержка как онлайн (реальные данные), так и офлайн (кешированные данные) режимов проверки марок.

REST API эмулятор

Полнофункциональная эмуляция API ЧЗ с поддержкой онлайн/офлайн проверки, информации о ККТ и специальных ошибок.

Тестирование ошибок

Встроенные сценарии для тестирования обработки HTTP ошибок (203, 500, 504, 514) и таймаутов.

Инструменты разработчика

Быстрое копирование Data Matrix кодов, просмотр детальной информации и тестирование API endpoints.

REST API Endpoints
Доступные методы API для тестирования:
Метод URL Описание Пример тела запроса
POST /api/v1/codes/check Онлайн проверка марок {
"codes": ["MDEwNDY3MDU0MDE3NjA5OTIxNSdXOVVtHTkzZEdWeg=="],
"client_info": {
"name": "Name",
"version": "1.0",
"id": "12343",
"token": "xxxx-yyyy-xzzzz"
}
}
POST /api/v1/codes/checkoffline Офлайн проверка марок {
"codes": ["MDEwNDY3MDU0MDE3NjA5OTIxNSdXOVVtHTkzZEdWeg=="],
"client_info": {
"name": "Name",
"version": "1.0",
"id": "12343",
"token": "xxxx-yyyy-xzzzz"
}
}
POST /api/v1/info Информация о кассовом аппарате {
"tspiotId": "00106322849758",
"kktSerial": "00106322849258",
"fnSerial": "9999078902016936",
"kktInn": "9717169621",
"codesCheckTimeout": 1800
}
Пример использования API:
Запрос
POST /api/v1/codes/check
Content-Type: application/json

{
  "codes": ["MDEwNDY3MDU0MDE3NjA5OTIxNSdXOVVtHTkzZEdWeg=="],
  "client_info": {
    "name": "1c Управление торговлей",
    "version": "7.7",
    "id": "12343",
    "token": "xxxx-yyyy-xzzzz"
  }
}
Ответ
HTTP/1.1 200 OK
Content-Type: application/json

{
  "codesResponse": {
    "codesResponse": [{
      "code": 0,
      "description": "ok",
      "codes": [{
        "cis": "0104670540176099215'W9Um93dGVz",
        "dataMatrix": "MDEwNDY3MDU0MDE3NjA5OTIxNSdXOVVtHTkzZEdWeg==",
        "displayName": "1.Признак нанесения",
        "found": true,
        "valid": true,
        "printView": "0104670540176099215'W9Um",
        "gtin": "04670540176099",
        "groupIds": [8],
        "verified": true,
        "realizable": false,
        "utilised": false,
        "isBlocked": false,
        "ogvs": [],
        "errorCode": 0,
        "isTracking": false,
        "sold": false,
        "grayZone": false,
        "packageType": "UNIT",
        "producerInn": "7725344604"
      }],
      "reqId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "reqTimestamp": 1704067200000,
      "isCheckedOffline": false
    }]
  }
}
Специальные марки для тестирования ошибок

Следующие Data Matrix коды возвращают специальные ответы для тестирования обработки ошибок:

Data Matrix код Тип ошибки HTTP Статус Категория Описание и поведение
400 Ошибка 400 Общая Bad Request - некорректный запрос от клиента. Неверный формат или параметры запроса.
MDEwNDY3MDU0MDE3NjA5OTIxNUxwR0t5HTkzZEdWeg== 203 Ошибка 203 Общая Аварийный режим работы системы. Возвращает простой формат ответа с кодом ошибки.
MDEwNDYwMTkwNzAwMjgwNTIxNXdKblVXeXFFRUczeFwdOTFGMDEzHTkyRVBQY0kzYUhmNCtYVHlEYTFVUmVqbUZscUVPd3dUbFI5Z2RuZFNuRWR3az0= 203 Ошибка 203 Аптеки Аварийный режим для лекарственных препаратов. Возвращает простой формат ответа.
MDEwNDYwNzgwOTU5NjIzNzIxNWNocFZLdk1PRkl0TB05MUZGRDAdOTJkR1Z6ZEZ4dS9MOTYwTVc2SU5rbzhMWjBMbk1mQldwTmo0SHh1VlNSaDRZPQ== 203 Ошибка 203 Легкая пром. Аварийный режим для товаров легкой промышленности. Возвращает простой формат ответа.
MDEwNDgxMzQ0NTAwMzI5MzIxNVRtaVYsZx05M2RHVno= 5000 Ошибка 200 Общая Специальная ошибка для тестирования нестандартных кодов ответа в формате codesResponse.
MDEwNDYwMTkwNzAwMjgwNTIxNUlVcVVXdmp4bnVTTh05MUYwMTMdOTJFaTF4V1pNMVllMlFPYi9tbWtMdXlyQWxYelB3SFNuWlNSRHB6VVUrcUNBPQ== 5000 Ошибка 200 Аптеки Специальная ошибка для лекарственных препаратов в формате codesResponse.
MDEwNDYwNzgwOTU5NjIzNzIxNTwocSFtTHAqakliMx05MUZGRDAdOTJkR1Z6ZER5dnRxdWlXUEV3cStiaGVmNjd5Qm11K3BpQTI4em9PZHBXYkNZPQ== 5000 Ошибка 200 Легкая пром. Специальная ошибка для товаров легкой промышленности в формате codesResponse.
MDEwNDY3MDU0MDE3NjA5OTIxNSFwR0t5HTkzZEdWeg== 504 Ошибка 200 Общая Gateway Timeout - превышено время ожидания ответа от upstream сервиса.
MDEwNDYwNzAxMDM1MDI0NjIxNXlPWkJyZ1hFWHBIZR05M2RHVno= 504 Ошибка 200 Общая Gateway Timeout - обработка запроса с задержкой в 5 секунд (аналогично 504 ошибке).
MDEwNDY3MDU0MDE3NjA5OTIxNVBwR0t5HTkzZEdWeg== 500 Ошибка 200 Общая Internal Server Error - внутренняя ошибка сервера при обработке запроса.
MDEwNDgxMzQ0NTAwMzI5MzIxNVRtaVYsZ1x1MDAxZDkzZEdWeg== 514 Ошибка 514 Общая Таймаут соединения. Не удалось получить ответ от ГИС МТ или ЛМ ЧЗ за 1800мс.
MDEwNDY3MDU0MDE3NjA5OTIxNU1wR0t5HTkzZEdWeg== Таймаут 200 Общая Имитация длительной обработки запроса с последующим успешным ответом.
MDEwNDYwNzAxMDM1MDI0NjIxNWtSZEctMSVXKFVtbh05M2RHVno= 5000 Ошибка 200 Общая Дополнительная марка для тестирования 5000 ошибки.
Система тегов и категорий

Система автоматически распределяет марки по вкладкам на основе тегов в поле tags:

Основные марки
  • Марки для общей проверки
  • Марки с тегом "mark"
Аптеки - тег "heal"
  • Марки с тегом "heal"
  • Для лекарственных препаратов
Легкая промышленность - тег "LI"
  • Марки с тегом "LI"
  • Для товаров легкой промышленности
Быстрый старт
1. Поиск марки

Используйте поиск по Data Matrix коду для быстрого нахождения нужной марки

2. Копирование кода

Нажмите на код марки для автоматического копирования в буфер обмена

3. Тестирование API

Используйте специальные марки для тестирования различных сценариев