API смарт-терминала позволяет записывать данные агентской схемы (агентские реквизиты) в чек. Для этого используется класс AgentRequisites.kt
, экземпляр которого передаётся в позицию чека.
Этот класс состоит из данных контрагентов (участников агентского договора), которые представлены классами:
Agent
;Principal
;Subagent
;TransactionOperator
.Некоторые из полей этих классов помечены аннотацией @FiscalRequisite
. Это означает, что такие поля будут записаны в кассу в виде тегов фискального документа. Все теги фискальных документов хранятся в классе FiscalTags
.
Aгентские реквизиты различных типов агентов или субагентов содержат различный набор необходимых данных. Этот набор определён форматом фискальных данных (ФФД).
getRegisteredFfdVersion
класса KktApi.kt
, чтобы узнать на какую версию фискальных документов зарегистрирована касса пользователя вашего приложения.Чтобы создать агентские реквизиты с необходимыми данными для соответствующего типа агента или субагента используйте метод createFor*ТипАгента
. Например:
AgentRequisites.createForAgent(principalInn, principalPhones)
getRegisteredAgentTypes
или getRegisteredSubagentTypes
класса KktApi.kt
.Чтобы записать агентские реквизиты в позицию используйте метод setAgentRequisites
класса Position.Builder
:
val resultPosition = Position.Builder.newinstace(sourcePosition).setAgentRequisites(myRequisites).build()
Чтобы добавить полученную позицию в чек вы можете, например, создать интеграционную службу, подписанную на события изменения позиций чека или использовать команду открытия чека.
Итак, чтобы добавить в чек данные агентской схемы:
AgentRequisites
для необходимого вам типа агента.setAgentRequisites
класса Position.Buider
добавьте созданные вами агентские реквизиты в необходимые вам позиции.