Certificados
Aceita certificado A3?
Aceita certificado A3?
Não. A engineAPI trabalha exclusivamente com certificados A1 (arquivo .pfx/.p12). O certificado A3 (token USB/cartão) não é compatível com APIs cloud por exigir interação física com o dispositivo.Se seu cliente usa A3, ele precisará adquirir um certificado A1 junto a uma Autoridade Certificadora (AC) como Certisign, Serasa ou SafeWeb.
Qual o formato aceito?
Qual o formato aceito?
Arquivo .pfx ou .p12 com senha. O upload é feito via endpoint (campo
multipart A senha é criptografada em repouso e nunca é retornada após o upload.
file, não certificate):O que acontece quando o certificado vence?
O que acontece quando o certificado vence?
As emissões passam a falhar, tipicamente
400 com error.erros[] (rejeição da
SEFAZ por certificado inválido/vencido) ou 500 se a falha for na leitura do
arquivo. Recomendamos:- Monitorar o campo
certExpiryviaGET /v1/companies/:id - Configurar o webhook
certificate.expiring(dispara em 30/15/7/3/1 dias antes) - Renovar com antecedência de 30 dias
Posso usar o mesmo certificado em homologação e produção?
Posso usar o mesmo certificado em homologação e produção?
Sim, mas não recomendamos. O ideal é usar certificados de teste (alguns ACs emitem gratuitamente para homologação) no emissor em homologação e reservar o certificado de produção para o emissor de produção.
NFS-e
NFS-e funciona em qualquer cidade?
NFS-e funciona em qualquer cidade?
Depende. A NFS-e não é padronizada nacionalmente. A engineAPI suporta municípios
que seguem o padrão ABRASF e o Padrão Nacional (SEFIN/ADN).Consulte o suporte para verificar se o município do seu cliente é suportado.
Qual o código de serviço da NFS-e?
Qual o código de serviço da NFS-e?
O campo
servico.itemListaServico segue a Lista de Serviços da LC 116/2003. Exemplos comuns:01.07: Suporte técnico em informática01.01: Análise e desenvolvimento de sistemas17.01: Assessoria e consultoria
resolverTributacao: true, o
Cérebro Fiscal pode preencher esse campo a partir do cadastro do emissor
(servicoPadraoLc116).A alíquota de ISS varia?
A alíquota de ISS varia?
Sim. Cada município define suas alíquotas. A engineAPI não calcula o valor do
ISS, você informa
servico.aliquotaIss no payload (não existem os campos
valorISS/issRetido no contrato).Planos e preços
Qual o custo?
Qual o custo?
Varia por plano (Dev é grátis para sandbox/homologação; Starter, Growth, Scale e
Enterprise têm preços diferentes). A tabela de preços vigente, que muda com mais
frequência que esta doc, está em engineapi.com.br/precos.
Tem período de teste?
Tem período de teste?
Sim. Todo emissor nasce em homologação (
ambienteFiscal: 2) e a ek_test_ está
disponível para qualquer partner, mesmo sem assinatura paga. As notas emitidas em
homologação não têm validade fiscal e não são cobradas.A cobrança é por nota emitida?
A cobrança é por nota emitida?
Depende do plano: cada plano tem um limite de requests/segundo (ver
Rate Limits) e a metering conta 1 por
documento autorizado (não por tentativa).
Integração técnica
Tem SDK oficial?
Tem SDK oficial?
Sim, para TypeScript, PHP e Python: classe
EngineApiClient com os módulos
nfe/companies. Confirme a disponibilidade nos registries (npm/Packagist/PyPI)
antes de instalar; na dúvida, integre direto via REST com qualquer HTTP client. Ver
SDKs.Posso usar em produção sem certificado?
Posso usar em produção sem certificado?
Não. O certificado digital A1 é obrigatório para assinar os documentos fiscais junto a SEFAZ/SEFIN. Sem ele, nenhuma emissão (NF-e, NFC-e, NFS-e) é possível.
Qual o formato das respostas?
Qual o formato das respostas?
Toda resposta de sucesso vem envelopada:Em caso de erro, o formato é RFC 7807 (Problem Details):Não existem os campos
success/sefazCode/sefazMessage, ver
Erros e Rejeições para o contrato completo.A API suporta IA para integração?
A API suporta IA para integração?
Sim. A engineAPI é AI-Ready. Veja o guia Integração com IA para detalhes.
Operacional
Qual o uptime?
Qual o uptime?
O SLA varia por plano: a tabela vigente está nos Termos de
Uso, seção 5.A SEFAZ, porém, tem manutenções programadas (geralmente domingos à noite). Nesses períodos, emissões podem falhar com erro
503. A API retorna automaticamente quando o serviço volta.O que acontece se a SEFAZ cair?
O que acontece se a SEFAZ cair?
A engineAPI retorna erro
503 Service Unavailable com a mensagem da SEFAZ (envelope RFC 7807). Recomendamos:- Implementar retry com backoff (ver Erros e Rejeições)
- Monitorar o status do SEFAZ via
GET /v1/nfce/status(ou equivalente do modelo) - Informar o usuário final que o serviço está temporariamente indisponível
GET /v1/nfce/status garante: o campo status só é UP/DOWN quando a API
fez uma consulta REAL e autenticada na SEFAZ (NFE_StatusServico) com o certificado de
um emissor seu. Sem um emissor resolvível (sua conta ainda sem emissor cadastrado, ou
2+ emissores sem informar issuerId na query), a resposta é status: 'UNKNOWN': a API
nunca inventa “no ar” sem ter perguntado de verdade. Com 1 único emissor cadastrado, a
resolução é automática; com 2+, informe ?issuerId= pra escolher qual CNPJ consultar.Tem webhooks?
Tem webhooks?
Sim. Configure via
PATCH /v1/webhooks/config para receber, entre outros:invoice.authorized/invoice.rejected/invoice.canceledcertificate.expiring
{id, type, timestamp, data}).Qual o prazo para cancelar uma nota?
Qual o prazo para cancelar uma nota?
Passado o prazo, a SEFAZ rejeita com cStat 501 (repassado verbatim em
error.erros[] no 400) e a nota permanece autorizada. Não há
cancelamento extemporâneo de NFC-e/NF-e via API. O remédio legal é emitir uma NF-e
de devolução com finNFe: 4, referenciadas e pagamento sem pagamento (forma: "90", valor zero); a API valida essa combinação antes de numerar. Veja o guia
NFC-e e Erros e Rejeições.