Общие положения
Замечание
Чековый API предоставляется по отдельному запросу. Предназначен для интеграции с оборудованием или для реализации бизнес-процессов, при которых требуется получение полной информации о чеке и работа в около реальном времени.
Взаимодействие осуществляется посредством обмена сообщениями с JSON Web-сервисом, как непосредственно
по протоколу HTTP с использованием системных утилит типа curl
, так и при помощи библиотеки базовых классов .NET.
В качестве транспорта используется протокол HTTPS с использованием клиентского и серверного сертификатов для аутентификации.
API берёт на себя все сложности, возникающие вследствие особенностей функционирования ФН, такие как: отсутствие некоторых символов в кодировке ФН, автоматическое открытие\закрытие смены; при использовании сети касс защита от ошибочной печати чека на некорректно указанную кассу и т.д. Кроме того, ключевым преимуществом является защита от повторной печати: при обрыве соединения или любых других ошибках вызов печати чека может быть безопасно повторён, даже при использовании нескольких касс.
Чековый API построен на принципе обработки очередей: при запросе отправки чека через API не происходит непосредственной печати чека, чек помещается в очередь и далее в зависимости от числа касс и кассиров обрабатывается в асинхронном режиме.
API генерирует документы согласно ФФД 1.05.
API не требует работы с каким-то особенным или специальным ОФД, пользователь указывает ОФД при регистрации кассы.
Аутентификация
Соединение происходит с использованием криптографического протокола ТLS 1.2.
Алгоритм шифрования канала: RSA.
Идентификация клиента происходит по сертификату юридического лица, выданному нашей компанией.
Сертификат должен быть использован при установлении HTTPS соединения (двухсторонняя аутентификация с использование клиентского сертификата).
Пример клиентской аутентификации для curl
:
curl --cert-type pem --cert /home/apiuser/octokassa_user.pem "https://api.demo.octokassa.octonica.com/api/about"
Далее см. Чековый API или Пакетный API