Guia de integração
Documentação da API Emitfy
A API REST da Emitfy é a superfície completa do produto: emite NFS-e, NF-e, NFC-e e CT-e (NFC-e e CT-e são exclusivos de API), gerencia catálogo (clientes, produtos), empresas da assinatura e envia eventos via webhook. Ideal para SaaS, ERPs, gateways e parceiros com múltiplos CNPJs em uma única credencial. Notas emitidas pela API aparecem normalmente na dashboard (exceto NFC-e e CT-e, que não têm telas).
Como a emissão funciona?
Emissão por tipo de nota
Cada documento tem seu endpoint: POST .../nfse, .../nfe, .../nfce e .../cte. Um POST com os dados da nota e a Emitfy cuida do resto.
Dashboard × API
A dashboard é simples e focada no mercado digital (NF-e e NFS-e). A API expõe todos os campos e também NFC-e e CT-e, exclusivos de API — pensada para SaaS, ERPs, gateways e parceiros.
Ver NFC-eComeçar
Emissão
Catálogo
Integração
Webhooks
Eventos na assinatura (/v1/webhooks); payload com companyId e taxId.
Idempotência
Evite emissão duplicada em retentativas.
Erros
Formato padrão e códigos de negócio.
Para IAs
llms.txt, Markdown por página e OpenAPI para agentes.
MCP remoto
Conecte Claude, Cursor, ChatGPT e Gemini via OAuth 2.1.
SDKs
Clientes oficiais em PHP, Node, Python, .NET e Java (tipados via OpenAPI).
Primeiros passos
Gerar credenciais
Crie sua chave em Painel → API & Webhooks.
Configurar autenticação
Envie X-Api-Key e X-Api-Secret em todas as chamadas.
Emitir a primeira nota
Use POST /v1/companies/:companyId/nfse (ou o endpoint do tipo desejado) e acompanhe via webhook.
Base URL e autenticação
Use a URL base https://api.emitfy.com. Todas as requisições privadas validam os headers X-Api-Key e X-Api-Secret da assinatura/conta. Emissão e catálogo usam /v1/companies/:companyId/...; webhooks ficam em /v1/webhooks.
X-Api-Key: <api-key>
X-Api-Secret: <api-secret>
Content-Type: application/jsoncurl -X POST https://api.emitfy.com/v1/companies/ID_DA_EMPRESA/nfse \
-H "X-Api-Key: <api-key>" \
-H "X-Api-Secret: <api-secret>" \
-H "Content-Type: application/json" \
-d '{
"serviceDescription": "Consultoria em tecnologia",
"cityServiceCode": "02800",
"federalServiceCode": "01.05",
"iss": { "rate": 2.9, "isWithheld": false },
"amount": 1500.00,
"borrower": {
"taxId": "123.456.789-00",
"name": "João Silva",
"email": "[email protected]"
}
}'Formato de resposta
As respostas seguem um envelope JSON. Em sucesso, success é true com data; em erro, success é false com error.code e error.message.
{
"success": true,
"data": {
"id": "018f6e3b-...",
"status": "processing",
"type": "nfse",
"amount": 1500.00
}
}{
"success": false,
"error": {
"code": "INVALID_API_CREDENTIALS",
"message": "Credenciais de API inválidas.",
"details": null
}
}Suporte técnico
Em caso de dúvidas na integração, o time técnico ajuda com onboarding, debugging e validação de payloads.