Emissão por tipo de nota

Referência dos campos de cada emissão. NF-e e NFC-e partem de um pedido de venda; a NFS-e tem payload próprio. Tipos completos no OpenAPI.

Valores & unidades

Atenção às unidades: nos itens (pedido e NFS-e) o valor é em centavos (unitPriceCents, discountCents). Nos pagamentos da NFC-e o valor é em reais (valor). Ex.: R$ 19,90 → 1990 (centavos) no item, 19.90 (reais) no pagamento.

Pedido de venda POST /v1/sales-orders

Base de NF-e e NFC-e. Campos:

CampoDescrição
companyIdobrigatórioEmpresa emitente
customerIdopcionalCliente (destinatário). Obrigatório para NF-e 55
items[]obrigatórioItens — ver abaixo
priceListIdopcionalTabela de preço; senão usa a do cliente/empresa
paymentTermsopcionalCondição de pagamento (texto)
duplicatas[]opcionalParcelas (grupo <cobr>): numero, vencimento (YYYY-MM-DD), valorCents
referencedAccessKeyopcionalChave (44 díg.) de NF-e referenciada (<NFref>)

Item (items[])

CampoDescrição
descriptionobrigatórioDescrição do produto
unitobrigatórioUnidade comercial (ex.: UN, KG)
quantityobrigatórioQuantidade
productId / skuopcionalVincula a um produto cadastrado (resolve NCM/preço)
unitPriceCentsopcionalPreço unitário em centavos. Omitido → resolve da tabela/produto
discountCentsopcionalDesconto do item em centavos
ncm / cfopopcionalSobrescrevem o do produto
curl -X POST https://api.certfiscal.com.br/v1/sales-orders \
  -H "Authorization: Bearer SUA_CHAVE" -H "Content-Type: application/json" \
  -d '{
    "companyId": "comp_...",
    "items": [
      { "description": "Camiseta P", "unit": "UN", "quantity": 2, "unitPriceCents": 4990 }
    ]
  }'

NFC-e (modelo 65) POST /v1/nfce

Cupom fiscal eletrônico, emissão síncrona. Escopo nfce:write + header Idempotency-Key.

CampoDescrição
salesOrderIdobrigatórioPedido de venda
payments[]obrigatórioFormas de pagamento (não vazio)
trocoopcionalTroco em reais (default 0)

Pagamento (payments[])

CampoDescrição
tipoobrigatóriotPag: 01 dinheiro, 03 crédito, 04 débito, 17 PIX…
valorobrigatórioValor pago nesta forma, em reais
curl -X POST https://api.certfiscal.com.br/v1/nfce \
  -H "Authorization: Bearer SUA_CHAVE" \
  -H "Idempotency-Key: $(uuidgen)" -H "Content-Type: application/json" \
  -d '{
    "salesOrderId": "so_...",
    "payments": [{ "tipo": "17", "valor": 99.80 }]
  }'

NF-e (modelo 55) POST /v1/nfe

Prepara a NF-e do pedido e autoriza na SEFAZ. Escopo nfe:write + Idempotency-Key. O destinatário (customerId no pedido) é obrigatório.

CampoDescrição
salesOrderIdobrigatórioPedido de venda
companyIdopcionalEmpresa (se diferente da do pedido)
curl -X POST https://api.certfiscal.com.br/v1/nfe \
  -H "Authorization: Bearer SUA_CHAVE" \
  -H "Idempotency-Key: $(uuidgen)" -H "Content-Type: application/json" \
  -d '{ "salesOrderId": "so_..." }'

NFS-e POST /v1/nfse

Nota de serviço, com payload próprio (não usa pedido de venda). Escopo nfse:write + Idempotency-Key.

CampoDescrição
companyIdobrigatórioEmpresa prestadora
tomadorTypeobrigatórioPJ | PF | exterior
items[]obrigatórioServiços — ver abaixo
tomadorDoc / tomadorName / tomadorEmailopcionalDados do tomador
tomadorCityIbgeopcionalMunicípio do tomador (código IBGE)
competenciaopcionalCompetência (data)
deductionsCentsopcionalDeduções em centavos

Serviço (items[])

CampoDescrição
descriptionobrigatórioDescrição do serviço
unitPriceCentsobrigatórioValor unitário em centavos
quantityopcionalQuantidade (default 1)
issRateopcionalAlíquota de ISS
cTribNacopcionalCódigo de tributação nacional (NBS)
curl -X POST https://api.certfiscal.com.br/v1/nfse \
  -H "Authorization: Bearer SUA_CHAVE" \
  -H "Idempotency-Key: $(uuidgen)" -H "Content-Type: application/json" \
  -d '{
    "companyId": "comp_...",
    "tomadorType": "PJ",
    "tomadorDoc": "12345678000190",
    "tomadorName": "Cliente Ltda",
    "items": [{ "description": "Consultoria em TI - 10h", "unitPriceCents": 500000, "issRate": 2.0 }]
  }'
Cobertura NFS-e: 2.419 cidades pelo Emissor Nacional + conectores próprios. Consulte a cobertura em GET /v1/coverage.

Cancelamento POST /v1/nfe/{id}/cancelamento

Cancela NF-e/NFC-e autorizada. Escopo nfe:write.

CampoDescrição
justificationobrigatórioMotivo, entre 15 e 255 caracteres (regra SEFAZ)
curl -X POST https://api.certfiscal.com.br/v1/nfe/inv_.../cancelamento \
  -H "Authorization: Bearer SUA_CHAVE" -H "Content-Type: application/json" \
  -d '{ "justification": "Cancelamento por desistencia do cliente" }'

XML & DANFE

EndpointRetorna
GET /v1/nfe/{id}/xmlXML autorizado da NF-e/NFC-e (base64)
GET /v1/nfe/{id}/danfeDANFE em PDF (base64, sob demanda)
GET /v1/nfse/{id}/xmlXML autorizado da NFS-e (base64)
GET /v1/invoices?companyId=…Lista/busca notas por empresa e período