engineAPIengine·API

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.

file-shield

Tipo A1

Arquivo .pfx ou .p12. Armazenado em software. Suportado pela Engine API.

usb-drive

Tipo A3

Token físico ou smartcard. Não suportado. Use sempre A1.


Upload do Certificado

bash
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:

bash
curl -X GET https://api.engineapi.com.br/companies/ISSUER_ID \
  -H "Authorization: Bearer SEU_TOKEN"

Procure o campo certificate na resposta:

json
{
  "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:

bash
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.


Próximos passos