Skip to main content
A superfície pública do CT-e é o client Suot\Fiscal\Cte\Application\Cte: monte a intenção e encerre em handle().

Client $cte

Portas no mesmo client: issue(), validate(), cancel(), correct(), serviceStatus(), byAccessKey(), authorizationProtocol(), downloadProc(), distributeDfe(), registerEpec(), issueInContingency(), eventos de entrega, etc. Namespace: Suot\Fiscal\Cte\Application\Cte.

Client $cteOs (modelo 67)

CT-e OS usa o mesmo padrão com Suot\Fiscal\CteOs\Application\CteOs:
Portas: serviceStatus(), issue(), byAccessKey(), cancel(). Jornada completa: CT-e OS.

Client $bpe (modelo 63)

BP-e usa o mesmo padrão com Suot\Fiscal\Bpe\Application\Bpe:
Portas: serviceStatus(), issue(), byAccessKey(), cancel(). Jornada completa: BP-e. BP-e TM e TA não estão disponíveis nesta onda.

Client $mdfe (modelo 58)

MDF-e usa o mesmo padrão com Suot\Fiscal\Mdfe\Application\Mdfe:
Portas: serviceStatus(), issue(), byAccessKey(), nonClosed(), cancel(), close(), includeDriver(), includeDfe(), issueInContingency(), downloadProc(), distributeDfe(). Jornada completa: MDF-e. No Laravel, Handlers explícitos são opcionais — ver Laravel Bridge.

O que é @internal

Não use na aplicação hospedeira:
Rejeição fiscal válida volta como Result (isRejected(), failure()), não como exception. Exceptions são para infraestrutura, argumentos inválidos e estados impossíveis.

Próximos passos