Перейти к основному содержимому

Реквизиты тестового стенда

По этим реквизитам можно тестировать проверку кодов маркировки через эмулятор ТС ПИоТ.

URL = https://fiscalization-test.evotor.ru
login = 'zFHQmlpRQA'
pass = 'dOIFPAuUvZZvLFQ'
group_code = 'c9819680-601c-4861-bc50-49859f6982d3'

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

Тестовые коды маркировки

Проверять работу через эмулятор можно только с помощью специальных тестовых кодов маркировки. Полный набор список тестовых кодов кодов маркировки доступен на официальном сайте эмулятора. Основные сценарии можно проверить с использованием кодов из таблицы ниже.

Код маркировки (base64)Результат
MDEwNDYyOTMwODg3NzA0NDIxRHprY1l0Mh04MDA1MDkwMDAwHTkzZEdWeg==Продажа разрешена; "code": 200
MDEwNDY3MDU0MDE3NjA5OTIxNU5OKmNNHTkzZEdWeg==Продажа запрещена; "code": 200
MDEwNDY3MDU0MDE3NjA5OTIxNTxwR0t5HTkzREdWeg==Продажа запрещена; Некорректный криптохвост; "code": 200
MDEwNDY3MDU0MDE3NjA5OTIxNSFwR0t5HTkzZEdWeg==Не удалось установить соединение с Честным знаком; "code": 514
Два любых одинаковых кода, например ["1", "1"]Некорректный запрос — запрос содержит дубли кодов (Mark code forbidden, details: Marks contains duplicates); "code": 400

Сценарии тестирования

Явная проверка + формирование чека

Сценарий позволяет протестировать целевую схему работы: сначала клиент выполняет проверку кода маркировки, например в момент сборки заказа на складе, и получает факт проверки, затем отправляет запрос на формирование чека, когда заказ доставлен покупателю.

  1. Получите токен

Описание API — Авторизация

Пример запроса
curl -X POST "https://fiscalization-test.evotor.ru/possystem/v5/getToken" \
-H "Content-type: application/json; charset=utf-8" \
-d '{
"login": "zFHQmlpRQA",
"pass": "dOIFPAuUvZZvLFQ"
}'

Токен действует 24 часа. Его можно использовать для всех запросов к группе касс c9819680-601c-4861-bc50-49859f6982d3.

  1. Отправьте запрос на проверку кода маркировки

Используйте тестовую КМ MDEwNDYyOTMwODg3NzA0NDIxRHprY1l0Mh04MDA1MDkwMDAwHTkzZEdWeg== — ТС ПИоТ должен разрешить ее продажу. Вы можете использовать другие тестовые КМ, чтобы проверять неуспешные сценарии.

Описание API — Проверка КМ

Пример запроса
curl -X POST "https://fiscalization-test.evotor.ru/tspiot/v1/c9819680-601c-4861-bc50-49859f6982d3/check-codes" \
-H "Content-Type: application/json; charset=utf-8" \
-H "token: token123" \
-d '{
"codes": [
"MDEwNDYyOTMwODg3NzA0NDIxRHprY1l0Mh04MDA1MDkwMDAwHTkzZEdWeg=="
]
}'

При отсутствии ошибок сервис вернет пакет, содержащий уникальный идентификатор проверки uuid, присвоенный сервисом, и статус обработки. В среднем запрос обрабатывается 1-2 секунды.

  1. Запросите результат обработки

Запросите результат проверки КМ. Значения параметров reqId и reqTimestamp из ответа потребуется передать в запросе на формирование чека.

Описание API — Получение результата проверки

Пример запроса результата обработки документа
curl -X GET "https://fiscalization-test.evotor.ru/tspiot/v1/c9819680-601c-4861-bc50-49859f6982d3/report/93ffec76-37d5-4232-be50-9d39010aa770" \
-H "Content-Type: application/json; charset=utf-8" \
-H "token: token123"

Значение параметра allowed: true обозначает, что товар разрешен к продаже, можно формировать чек на Полный расчет.

  1. Сформируйте чек на полный расчет

Используйте API для формирования чеков. В позицию с маркированным товаром необходимо добавить объект sectoral_item_props, в его параметр value передайте reqId и reqTimestamp из результата проверки КМ — UUID=\{reqId\}&Time=\{reqTimestamp\}. Для каждой позиции с маркированным товаром sectoral_item_props заполняется отдельно. Обновляйте external_id перед каждым тестом.

Пример запроса
curl -X POST "https://fiscalization-test.evotor.ru/possystem/v5/c9819680-601c-4861-bc50-49859f6982d3/sell" \
-H "Content-Type: application/json; charset=utf-8" \
-H "token: token123" \
-d '{
"timestamp": " 03.04.2026 12:05:31",
"external_id": "REPLACE_WITH_RANDOM_STRING_OR_UUID",
"receipt":
{
"client":
{
"email": "client@client.ru",
"phone": "+70002410085",
"name": "Иванов Иван Иванович",
"inn": "516974792202"
},
"company":
{
"email": "email@shop-url.ru",
"sno": "osn",
"inn": "5010051677",
"payment_address": "shop-url.ru"
},
"items":
[
{
"name": "Маркированный товар",
"price": 122,
"quantity": 1.0,
"measure": 0,
"sum": 122,
"payment_method": "full_payment",
"payment_object": 1,
"vat":
{
"type": "vat22",
"sum": 22.0
},
"mark_processing_mode": "0",
"mark_code":
{
"gs1m": "MDEwNDYyOTMwODg3NzA0NDIxRHprY1l0Mh04MDA1MDkwMDAwHTkzZEdWeg=="
},
"sectoral_item_props":
[
{
"federal_id": "030",
"date": "21.11.2023",
"number": "1944",
"value": "UUID=5231bbb2-a5b8-408d-8464-57043d3596b6&Time=1759965114765"
}
]
}
],
"payments":
[
{
"type": 1,
"sum": 122.0
}
],
"total": 122.0
}
}'
  1. Проверьте чек

Получите результат обработки документа, откройте чек по ссылке, проверьте его состав.

API для формирования чеков

Пример запроса результата обработки документа
curl -X GET "https://fiscalization-test.evotor.ru/possystem/v5/c9819680-601c-4861-bc50-49859f6982d3/report/0459d6f9-afb6-41ab-860b-11c0544175ea" \
-H "Token: token123" \
-H "Content-Type: application/json; charset=utf-8"
Формирование чека с автоматической проверкой КМ

Цифровая касса может проверить КМ автоматически — описание автоматической проверки

  1. Сформируйте чек полного расчета

Используйте API для формирования чеков. Не добавляйте объект sectoral_item_props в позиции, чтобы была запущена автоматическая проверка.

Пример запроса
curl -X POST "https://fiscalization-test.evotor.ru/possystem/v5/c9819680-601c-4861-bc50-49859f6982d3/sell" \
-H "Content-Type: application/json; charset=utf-8" \
-H "token: token123" \
-d '{
"timestamp": " 03.04.2026 12:05:31",
"external_id": "REPLACE_WITH_RANDOM_STRING_OR_UUID",
"receipt":
{
"client":
{
"email": "client@client.ru",
"phone": "+70002410085",
"name": "Иванов Иван Иванович",
"inn": "516974792202"
},
"company":
{
"email": "email@shop-url.ru",
"sno": "osn",
"inn": "5010051677",
"payment_address": "shop-url.ru"
},
"items":
[
{
"name": "Маркированный товар",
"price": 122,
"quantity": 1.0,
"measure": 0,
"sum": 122,
"payment_method": "full_payment",
"payment_object": 1,
"vat":
{
"type": "vat22",
"sum": 22.0
},
"mark_processing_mode": "0",
"mark_code":
{
"gs1m": "MDEwNDYyOTMwODg3NzA0NDIxRHprY1l0Mh04MDA1MDkwMDAwHTkzZEdWeg=="
}
}
],
"payments":
[
{
"type": 1,
"sum": 122.0
}
],
"total": 122.0
}
}'
  1. Проверьте чек

Получите результат обработки документа, откройте чек по ссылке, проверьте его состав.

API для формирования чеков

Пример запроса результата обработки документа
curl -X GET "https://fiscalization-test.evotor.ru/possystem/v5/c9819680-601c-4861-bc50-49859f6982d3/report/0459d6f9-afb6-41ab-860b-11c0544175ea" \
-H "Token: token123" \
-H "Content-Type: application/json; charset=utf-8"

Если в запросе на формирование чека вы передавали невалидные или запрещенные КМ, то в ответ будет возвращена соответствующая ошибка, и чек не будет сформирован.

Аварийный режим

В нештатных ситуациях Честный знак может ввести аварийный режим, во время которого допускается продажа маркированного товара без проверки по РР. ТС ПИоТ автоматически получит информацию о введении режима от Честного знака и уведомит пользователя о нем в результате запроса на проверку КМ.

Для тестирования Аварийного режима используйте отдельный тестовый стенд. Любые запросы на проверку КМ будут возвращать ошибку аварийного режима.

login = 'partnerTest1.2'
pass = 'partnerTest1.2Pass'
group_code = 'cf0a2212-2e39-463f-9bff-30874b570f75'
  1. Получите токен

Описание API — Авторизация

Пример запроса
curl -X POST "https://fiscalization-test.evotor.ru/possystem/v5/getToken" \
-H "Content-type: application/json; charset=utf-8" \
-d '{
"login": "partnerTest1.2",
"pass": "partnerTest1.2Pass"
}'

Токен действует 24 часа. Его можно использовать для всех запросов к группе касс cf0a2212-2e39-463f-9bff-30874b570f75.

  1. Отправьте запрос на проверку кода маркировки

Запрос проверки любого КМ к группе касс cf0a2212-2e39-463f-9bff-30874b570f75 завершится ошибкой Аварийного режима.

Описание API — Проверка КМ

Пример запроса
curl -X POST "https://fiscalization-test.evotor.ru/tspiot/v1/cf0a2212-2e39-463f-9bff-30874b570f75/check-codes" \
-H "Content-Type: application/json; charset=utf-8" \
-H "token: 456token" \
-d '{
"codes": [
"MDEwNDYyOTMwODg3NzA0NDIxRHprY1l0Mh04MDA1MDkwMDAwHTkzZEdWeg=="
]
}'
  1. Запросите результат обработки

Запросите результат проверки КМ — вернется ошибка аварийного режима.

Описание API — Получение результата проверки

Пример запроса результата обработки документа
curl -X GET "https://fiscalization-test.evotor.ru/tspiot/v1/cf0a2212-2e39-463f-9bff-30874b570f75/report/93ffec76-37d5-4232-be50-9d39010aa770" \
-H "Content-Type: application/json; charset=utf-8" \
-H "token: token123"
Пример ответа
{
"uuid": "93ffec76-37d5-4232-be50-9d39010aa770",
"status": "fail",
"error": {
"text": "Продажа товара разрешена без проверки, действуют ограничения аварийного режима",
"type": "tspiot",
"code": 203,
"error_id": "69e5e1328e64320996cc9b37ed3f165f"
}
}
  1. Сформируйте чек полного расчета

Используйте API для формирования чеков. Не добавляйте объект sectoral_item_props в позиции, чтобы была запущена автоматическая проверка — она тоже завершится ошибкой аварийного режима, но чек будет сформирован.

Пример запроса
curl -X POST "https://fiscalization-test.evotor.ru/possystem/v5/cf0a2212-2e39-463f-9bff-30874b570f75/sell" \
-H "Content-Type: application/json; charset=utf-8" \
-H "token: 456token" \
-d '{
"timestamp": " 03.04.2026 12:05:31",
"external_id": "REPLACE_WITH_RANDOM_STRING_OR_UUID",
"receipt":
{
"client":
{
"email": "client@client.ru",
"phone": "+70002410085",
"name": "Иванов Иван Иванович",
"inn": "516974792202"
},
"company":
{
"email": "email@shop-url.ru",
"sno": "osn",
"inn": "5010051677",
"payment_address": "shop-url.ru"
},
"items":
[
{
"name": "Маркированный товар",
"price": 122,
"quantity": 1.0,
"measure": 0,
"sum": 122,
"payment_method": "full_payment",
"payment_object": 1,
"vat":
{
"type": "vat22",
"sum": 22.0
},
"mark_processing_mode": "0",
"mark_code":
{
"gs1m": "MDEwNDYyOTMwODg3NzA0NDIxRHprY1l0Mh04MDA1MDkwMDAwHTkzZEdWeg=="
}
}
],
"payments":
[
{
"type": 1,
"sum": 122.0
}
],
"total": 122.0
}
}'
  1. Проверьте чек

Получите результат обработки документа, откройте чек по ссылке, проверьте его состав.

API для формирования чеков

Пример запроса результата обработки документа
curl -X GET "https://fiscalization-test.evotor.ru/possystem/v5/cf0a2212-2e39-463f-9bff-30874b570f75/report/0459d6f9-afb6-41ab-860b-11c0544175ea" \
-H "Token: 456token" \
-H "Content-Type: application/json; charset=utf-8"

Убедитесь, что в чеке не появились теги 1260-1265.