Checklist pré-produção
Percorra cada item abaixo e marque somente quando tiver confirmação real, não por suposição.Ambiente e credenciais
- Ambiente definido como
producaona configuração do SDK - Certificado digital A1 de produção válido configurado via variável de ambiente
- CNPJ do emitente/transportador correto, ativo e habilitado para emissão
- Tokens Composer de CI/CD gerados e armazenados como secrets (não em código)
Testes
- Todos os fluxos críticos testados e aprovados em homologação
- Testes de rejeição esperada (
cStat) cobertos por testes automatizados -
InfrastructureExceptioncapturada e tratada em todos os pontos de entrada - Retry Policy configurada e validada para falhas transitórias de rede
Segurança
-
auth.jsonlistado no.gitignore - Certificado digital (
.pfx/.p12) não commitado no repositório - Senha do certificado definida exclusivamente em variável de ambiente — nunca hardcoded
- Tokens Composer não aparecem em logs de aplicação, CI/CD ou rastreamento de erros
Monitoramento
- Logging de rejeições (
cStat+xMotivo) implementado e centralizado - Alertas configurados para
InfrastructureException(falhas de webservice) - Storage de XMLs autorizados implementado com retenção adequada (mínimo 5 anos para CT-e)
- Dashboard ou relatório de rejeições disponível para a equipe operacional
Rotação de certificados digitais
Certificados digitais A1 possuem validade de 1 ano (ou conforme emitido pela AC). Quando o certificado expira, todos os envios passam a ser rejeitados pela SEFAZ e pela ANTT imediatamente.Monitore a data de expiração
Acompanhe a data de validade do certificado em uso. Programe alertas com pelo menos 60 dias de antecedência para que haja tempo hábil de emissão e homologação do novo certificado.
Adquira o novo certificado em homologação primeiro
Antes de substituir o certificado em produção, configure o novo certificado no ambiente de homologação e execute o checklist completo de testes para confirmar que ele é aceito pela SEFAZ e pela ANTT.
Atualize as variáveis de ambiente
Substitua o arquivo do certificado e atualize
SUOT_FISCAL_CERT_PATH e SUOT_FISCAL_CERT_PASSWORD (se a senha mudou) nas variáveis de ambiente de produção. Não modifique o código-fonte.Reinicie a aplicação e valide
Após a atualização, reinicie os workers/processos que carregam a configuração do SDK e emita um documento de teste em produção (ex.: uma NF-e de valor mínimo ou CT-e de teste com sua própria empresa) para confirmar que o novo certificado está funcionando corretamente.
O SUOT SDK carrega o certificado a cada instância de
FiscalConfig ou AnttConfig. Em arquiteturas com múltiplos workers, todos devem ser reiniciados após a troca do certificado para garantir que nenhum processo continue usando o arquivo antigo.Monitoramento de rejeições
A SEFAZ e a ANTT retornam um código de status (cStat) e uma descrição (xMotivo) em todas as respostas. Em produção, rejeições devem ser tratadas como eventos de primeira classe — não apenas como erros de log.
Padrão recomendado
Categorias de cStat para monitorar
| Categoria | Exemplos de cStat | Ação recomendada |
|---|---|---|
| Autorizado | 100 | Armazenar XML, prosseguir fluxo |
| Rejeição de negócio | 2xx, 3xx, 4xx | Logar, notificar equipe operacional |
| Serviço indisponível | 108, 109 | Acionar Retry Policy, alertar monitoramento |
| Erro de schema | 5xx | Logar como erro de desenvolvimento, corrigir payload |
Revise também o Guia de homologação para garantir que todos os cenários foram testados antes do go-live.