Skip to main content
Ler esta documentação não exige licença. Conta, assinatura e token Composer entram quando você for instalar pacotes a partir de packages.suot.dev.

Modelo mental

Montar intenção  →  handle()  →  Result
($cte->…)              isAuthorized / isRejected / failure / retryPolicy
O host persiste, enfileira, faz retry e decide idempotência. O SDK devolve artefatos e orientação — não grava banco, não agenda fila, não reenvia sozinho.

Trilha de aprendizado

Siga as páginas na ordem. Cada uma traz snippets inline com $cte->…->handle(), envelope de exception + Result e ações do host.

1. API pública

Client $cte e o que é @internal.

2. Validação

$cte->validate() — setup do emitente sem SEFAZ.

3. Emissão

$cte->issue()…->handle().

4. Resultados da emissão

IssueCteResult: isAuthorized, failure(), retryPolicy() e o que persistir.

5. Consultas

Status, chave, protocolo, procCTe e DF-e.

6. Eventos

Cancelamento, CC-e, comprovante e insucesso.

7. Contingência

EPEC + emissão via SVC.

8. Instalação

Registry, token e composer require (aí sim precisa de licença).

Depois de avaliar

A trilha (passo 4) cobre o IssueCteResult da emissão. A página transversal abaixo generaliza o mesmo padrão de Result para consultas, eventos e demais operações.

Jornada CT-e

Mapa completo de validação, emissão, consultas e eventos.

Actionable Result (todas as operações)

Mesmo contrato de Result fora da emissão: estados, failure() e retryPolicy().