Certificados Digitais
Tudo sobre o certificado digital A1 — como obter, fazer upload, monitorar validade e renovar.
Certificados Digitais
Todo documento fiscal eletrônico precisa ser assinado digitalmente com um certificado e-CNPJ. A Engine API cuida da assinatura automaticamente — você só precisa fazer o upload do arquivo.
Tipo A1
Arquivo .pfx ou .p12. Armazenado em software. Suportado pela Engine API.
Tipo A3
Token físico ou smartcard. Não suportado. Use sempre A1.
Upload do Certificado
curl -X POST https://api.engineapi.com.br/companies/ISSUER_ID/certificate \
-H "Authorization: Bearer SEU_TOKEN" \
-F "certificate=@/caminho/certificado.pfx" \
-F "password=senhaDoCertificado"
A senha do certificado é criptografada com AES-256 e nunca é retornada pela API após o upload. Você não consegue recuperá-la. Guarde em local seguro.
Verificando o Status
Após o upload, consulte se o certificado foi aceito:
curl -X GET https://api.engineapi.com.br/companies/ISSUER_ID \
-H "Authorization: Bearer SEU_TOKEN"
Procure o campo certificate na resposta:
{
"id": "ISSUER_ID",
"cnpj": "11222333000144",
"certificate": {
"status": "VALID",
"expiresAt": "2027-03-15T00:00:00.000Z",
"subject": "MINHA EMPRESA LTDA:11222333000144"
}
}
| Status | Significado |
|--------|-------------|
| VALID | Certificado ativo e dentro da validade |
| EXPIRING_SOON | Vence em menos de 30 dias |
| EXPIRED | Certificado vencido. Emissões vão falhar |
| INVALID | Senha incorreta ou arquivo corrompido |
Onde Obter um Certificado
Para produção, você precisa de um e-CNPJ A1 emitido por uma Autoridade Certificadora (AC) credenciada pela ICP-Brasil:
| AC | Site | |----|------| | Certisign | certisign.com.br | | Serpro | serpro.gov.br | | Valid | valid.com | | Serasa | serasacertificadora.com.br | | Soluti | soluti.com.br |
Para homologação, você pode usar um certificado de testes emitido por qualquer AC. O SEFAZ de homologação aceita certificados expirados e de teste. Não precisa comprar um certificado só para testar.
Monitorando a Validade
A Engine API envia webhooks automáticos sobre expiração:
| Evento | Quando | Ação recomendada |
|--------|--------|-----------------|
| certificate.expiring_soon | 30 dias antes | Agendar renovação |
| certificate.expiring_critical | 7 dias antes | Renovação urgente |
| certificate.expired | Após expirar | Subir novo certificado imediatamente |
Configure seus webhooks em Dashboard → Configurações → Webhooks.
Renovando o Certificado
Quando você receber um novo certificado A1 (renovação ou substituição), simplesmente refaça o upload:
curl -X POST https://api.engineapi.com.br/companies/ISSUER_ID/certificate \
-H "Authorization: Bearer SEU_TOKEN" \
-F "certificate=@novo_certificado.pfx" \
-F "password=novaSenha"
O certificado anterior é substituído automaticamente. Nenhuma emissão em andamento é afetada.