Documentação
API de NF-e
Basehttps://api.apisimples.com/v1
Visão geral
A emissão usa o emitente da chave. Razão social, endereço, inscrição estadual, regime e certificado A1 ficam no cadastro. O JSON descreve a operação, o destinatário e os itens. A API monta o XML, assina e envia à SEFAZ.
/nfeEnvia a NF-e à SEFAZ e grava a nota quando ela é autorizada./nfe/{id}Consulta a NF-e pelo id ou pela identificação./nfe/{id}/cancelarCancela a NF-e autorizada deste emitente na SEFAZ./nfe/carta_correcaoRegistra uma carta de correção da NF-e autorizada na SEFAZ./nfe/interessadoAutoriza ou remove o transportador como ator interessado da NF-e./nfe/comprovanteRegistra ou cancela o comprovante de entrega da NF-e./nfe/{id}/eventosLista os eventos gravados para a nota./nfe/{id}/pdfGera o DANFE em PDF a partir do XML autorizado./nfe/{id}/pdf/simplesGera o DANFE simplificado./nfe/{id}/pdf/etiquetaGera o DANFE em etiqueta.Testar
Cole a chave do emitente e envie a requisição nesta página. A chave fica neste navegador e segue somente para a API, no header Authorization.
Autenticação
Use a chave do emitente, a que começa com apse_. A chave geral da conta não autoriza estas rotas.
Authorization: Bearer apse_sua_chave_do_emitente
Content-Type: application/json
Accept: application/jsonSem chave, ou com chave inválida, a resposta é HTTP 401. Conta inativa ou emitente sem NF-e habilitada responde HTTP 403.
Ambientes
A URL é a mesma. No cadastro do emitente ficam o ambiente da SEFAZ e o certificado A1.
| Cadastro | Valores | Efeito na emissão |
|---|---|---|
| Ambiente | 2 homologação, 1 produção | Homologação fala com o ambiente de testes. Produção autoriza NF-e com valor fiscal. Sem a escolha, a API usa homologação. |
| Certificado | A1 e senha | Obrigatório para assinar e transmitir. Sem ele, o POST responde 422. |
Em homologação, o XML troca o nome do destinatário pelo texto exigido pela SEFAZ. Quando o JSON traz contingencia, a nota sai em SVC-AN.
Emitir
https://api.apisimples.com/v1/nfeHTTP 201 devolve a nota autorizada, com chave, protocolo e xml em base64. O número com a série, e a identificação, são únicos por emitente. Repetir um dos dois responde HTTP 409.
Se a SEFAZ recusar, a nota não é gravada e a resposta é HTTP 422. Se denegar, o número fica gravado com status denegada.
{
"identificacao": "pedido-1042",
"natureza_operacao": "Venda de mercadoria",
"numero": "15",
"serie": "1",
"data_emissao": "2026-10-10T14:30:00-03:00",
"tipo_operacao": "1",
"finalidade_emissao": "1",
"consumidor_final": "1",
"presenca_comprador": "1",
"destinatario": {
"cnpj": "19131243000197",
"nome": "Cliente Exemplo Ltda",
"indicador_inscricao_estadual": "9",
"endereco": {
"logradouro": "Rua das Acácias",
"numero": "120",
"bairro": "Centro",
"codigo_municipio": "3550308",
"nome_municipio": "São Paulo",
"uf": "SP",
"cep": "01001000"
}
},
"itens": [
{
"numero_item": "1",
"codigo_produto": "SKU-1",
"descricao": "Camiseta algodão",
"codigo_ncm": "61091000",
"cfop": "5102",
"unidade_comercial": "UN",
"quantidade_comercial": "1",
"valor_unitario_comercial": "150.00",
"valor_bruto": "150.00",
"inclui_no_total": "1",
"origem": "0",
"imposto": {
"icms": {
"situacao_tributaria": "00",
"modalidade_base_calculo": "3",
"valor_base_calculo": "150.00",
"aliquota": "18.00",
"valor": "27.00"
},
"pis": {
"situacao_tributaria": "07"
},
"cofins": {
"situacao_tributaria": "07"
}
}
}
],
"frete": {
"modalidade_frete": "9"
},
"pagamento": {
"formas_pagamento": [
{
"meio_pagamento": "01",
"valor": "150.00"
}
]
}
}curl -X POST https://api.apisimples.com/v1/nfe \
-H "Authorization: Bearer apse_sua_chave_do_emitente" \
-H "Content-Type: application/json" \
-H "Accept: application/json" \
-d '{
"identificacao": "pedido-1042",
"natureza_operacao": "Venda de mercadoria",
"numero": "15",
"serie": "1",
"data_emissao": "2026-10-10T14:30:00-03:00",
"tipo_operacao": "1",
"finalidade_emissao": "1",
"consumidor_final": "1",
"presenca_comprador": "1",
"destinatario": {
"cnpj": "19131243000197",
"nome": "Cliente Exemplo Ltda",
"indicador_inscricao_estadual": "9",
"endereco": {
"logradouro": "Rua das Acácias",
"numero": "120",
"bairro": "Centro",
"codigo_municipio": "3550308",
"nome_municipio": "São Paulo",
"uf": "SP",
"cep": "01001000"
}
},
"itens": [
{
"numero_item": "1",
"codigo_produto": "SKU-1",
"descricao": "Camiseta algodão",
"codigo_ncm": "61091000",
"cfop": "5102",
"unidade_comercial": "UN",
"quantidade_comercial": "1",
"valor_unitario_comercial": "150.00",
"valor_bruto": "150.00",
"inclui_no_total": "1",
"origem": "0",
"imposto": {
"icms": {
"situacao_tributaria": "00",
"modalidade_base_calculo": "3",
"valor_base_calculo": "150.00",
"aliquota": "18.00",
"valor": "27.00"
},
"pis": {
"situacao_tributaria": "07"
},
"cofins": {
"situacao_tributaria": "07"
}
}
}
],
"frete": {
"modalidade_frete": "9"
},
"pagamento": {
"formas_pagamento": [
{
"meio_pagamento": "01",
"valor": "150.00"
}
]
}
}'{
"id": "8f3c2a10-6b4e-4d2a-9c11-2e5a7b9d0f31",
"status": "autorizada",
"identificacao": "pedido-1042",
"numero": "15",
"serie": "1",
"chave": "35261000000000000000550010000000151000000015",
"protocolo": "135260000000001"
}Se omitir, a API preenche local_destino, o código de barras com SEM GTIN, a unidade tributável com a comercial e, sem pagamento, envia a forma 90 com valor zero.
Consultar
https://api.apisimples.com/v1/nfe/{id}https://api.apisimples.com/v1/nfe/{identificacao}O segundo caminho usa o valor de identificacao. HTTP 200 devolve o JSON gravado, mais status, chave, protocolo e xml em base64. Cartas de correção, atores interessados e comprovantes de entrega voltam nas listas cartas_correcao, atores_interessados e comprovantes_entrega. HTTP 404 se a nota não for deste emitente.
Cancelar
https://api.apisimples.com/v1/nfe/{id}/cancelarO caminho aceita o id da nota ou a identificação. A nota precisa estar autorizada. HTTP 200 devolve a nota com status cancelada e o XML do evento em cancelamento.xml, em base64. Se ela já estiver cancelada, a resposta é HTTP 409.
{
"justificativa": "Nota emitida com destinatário incorreto."
}| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| justificativa | string | Sim | De 15 a 255 caracteres. |
Carta de correção
https://api.apisimples.com/v1/nfe/carta_correcaoA nota precisa estar autorizada. O campo id é o uuid devolvido na emissão ou na consulta. A identificação da nota não entra aqui. A API usa a chave de 44 dígitos já gravada, assina o evento e envia à SEFAZ. HTTP 200 devolve a nota com a lista cartas_correcao. Cada item traz sequencial, justificativa, protocolo, data e xml em base64. O status da nota continua autorizada.
Uma carta nova substitui a anterior. O texto precisa repetir todas as correções que continuam valendo, e o sequencial sobe de 1 até 20. Sem sequencial, a API usa o próximo número. A carta não serve para mudar valor de imposto, remetente, destinatário ou data de emissão.
{
"id": "8f3c2a10-6b4e-4d2a-9c11-2e5a7b9d0f31",
"justificativa": "Teste de carta de correcao"
}| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| id | string | Sim | Uuid da nota devolvido pela API. A identificação não serve neste campo. |
| sequencial | integer | Não | De 1 a 20. Precisa ser o próximo número desta nota. |
| justificativa | string | Sim | De 15 a 1000 caracteres. É o texto da correção. |
Ator interessado
https://api.apisimples.com/v1/nfe/interessadoA nota precisa estar autorizada. O campo id é o uuid devolvido na emissão ou na consulta. A API usa a chave de 44 dígitos já gravada, assina o evento 110150 e envia ao Ambiente Nacional. O certificado do emitente assina o evento. HTTP 200 devolve a nota com a lista atores_interessados. O status da nota continua autorizada.
tipo_autor 1 é o emitente, 2 o destinatário e 3 o transportador. permite true autoriza o CPF ou CNPJ informado a baixar o XML. permite false remove essa autorização. Sem numero_evento, a API usa o próximo número, de 1 a 20. Informe o CPF ou o CNPJ do transportador, um dos dois.
{
"id": "8f3c2a10-6b4e-4d2a-9c11-2e5a7b9d0f31",
"tipo_autor": "1",
"permite": true,
"cpf": "01234567890"
}| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| id | string | Sim | Uuid da nota devolvido pela API. A identificação não serve neste campo. |
| tipo_autor | string | Sim | 1 emitente, 2 destinatário ou 3 transportador. |
| permite | boolean | Sim | true autoriza o download do XML. false remove a autorização. |
| numero_evento | integer | Não | De 1 a 20. Precisa ser o próximo número desta nota. |
| cpf | string | Não | CPF do transportador, com 11 dígitos. Use no lugar do CNPJ. |
| cnpj | string | Não | CNPJ do transportador, com 14 dígitos. Use no lugar do CPF. |
Comprovante de entrega
https://api.apisimples.com/v1/nfe/comprovanteA nota precisa estar autorizada. O campo id é o uuid devolvido na emissão ou na consulta. A API usa a chave de 44 dígitos já gravada. O certificado do emitente assina o evento e envia ao Ambiente Nacional. HTTP 200 devolve a nota com a lista comprovantes_entrega. O status da nota continua autorizada.
Com registra, a API envia o evento 110130. A imagem entra só no hash SHA1 junto com a chave e não volta na resposta. As coordenadas são opcionais. Sem elas, o evento segue sem GPS. Com cancela, a API envia o evento 110131 e usa o protocolo do comprovante já gravado. O número do evento sobe sozinho, de 1 a 20.
{
"id": "8f3c2a10-6b4e-4d2a-9c11-2e5a7b9d0f31",
"registra": {
"data": "2021-09-16T16:22:33-03:00",
"imagem": "",
"recebedor_documento": "123456789",
"recebedor_nome": "Fulano de Tal",
"coordenadas": {
"latitude": "-3.717355",
"longitude": "-53.740541"
}
}
}{
"id": "8f3c2a10-6b4e-4d2a-9c11-2e5a7b9d0f31",
"cancela": {
"protocolo": "891190004733543"
}
}| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| id | string | Sim | Uuid da nota devolvido pela API. A identificação não serve neste campo. |
| registra.data | string | Sim | Data e hora da entrega, no formato 2021-09-16T16:22:33-03:00. O fuso precisa terminar em :00. |
| registra.imagem | string | Não | Texto ou base64 usado no hash do comprovante. Até 1200000 caracteres. |
| registra.recebedor_documento | string | Sim | Documento de quem recebeu. De 2 a 20 caracteres. |
| registra.recebedor_nome | string | Sim | Nome de quem recebeu. De 2 a 60 caracteres. |
| registra.coordenadas.latitude | string | Não | De -90 a 90. Envie junto com a longitude. |
| registra.coordenadas.longitude | string | Não | De -180 a 180. Envie junto com a latitude. |
| cancela.protocolo | string | Sim | Protocolo do comprovante que será cancelado. 15 ou 17 dígitos. |
Eventos
https://api.apisimples.com/v1/nfe/{id}/eventosO caminho usa o id da nota devolvido pela API, ou a identificação. HTTP 200 devolve os eventos que esta API gravou para a nota. O cancelamento entra com tipo cancelamento. Cada carta de correção entra com tipo carta_correcao. Cada ator interessado entra com tipo ator_interessado. O comprovante de entrega entra com tipo comprovante_entrega, e o cancelamento desse comprovante com comprovante_cancelado. A lista vem em ordem de data. Sem eventos, eventos volta vazio.
{
"id": "8f3c2a10-6b4e-4d2a-9c11-2e5a7b9d0f31",
"chave": "35261000000000000000550010000000151000000015",
"eventos": [
{
"tipo": "carta_correcao",
"sequencial": 1,
"justificativa": "Teste de carta de correcao",
"protocolo": "135260000000002",
"data": "2026-10-12T14:00:00-03:00",
"xml": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4="
},
{
"tipo": "cancelamento",
"sequencial": 1,
"justificativa": "Nota emitida com destinatário incorreto.",
"protocolo": "135260000000003",
"data": "2026-10-12T15:00:00-03:00",
"xml": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4="
}
]
}| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| id | string | Sim | Uuid da nota, ou a identificação, no caminho da URL. |
| eventos.tipo | string | Sim | cancelamento, carta_correcao, ator_interessado, comprovante_entrega ou comprovante_cancelado. |
| eventos.sequencial | integer | Sim | 1 no cancelamento. Na carta e no ator, o número de 1 a 20. |
| eventos.justificativa | string | Não | Texto do cancelamento ou da carta de correção. |
| eventos.tipo_autor | string | Não | No ator interessado: 1, 2 ou 3. |
| eventos.permite | boolean | Não | No ator interessado: true autoriza o download, false remove. |
| eventos.cpf | string | Não | CPF do transportador, quando o evento for ator interessado. |
| eventos.cnpj | string | Não | CNPJ do transportador, quando o evento for ator interessado. |
| eventos.data_entrega | string | Não | Data da entrega, no comprovante. |
| eventos.recebedor_documento | string | Não | Documento de quem recebeu. |
| eventos.recebedor_nome | string | Não | Nome de quem recebeu. |
| eventos.latitude | string | Não | Latitude do ponto de entrega, quando informada. |
| eventos.longitude | string | Não | Longitude do ponto de entrega, quando informada. |
| eventos.protocolo_entrega | string | Não | Protocolo do comprovante cancelado. |
| eventos.protocolo | string | Não | Protocolo do evento na SEFAZ, quando houver. |
| eventos.data | string | Não | Data e hora do registro. |
| eventos.xml | string | Não | XML do evento em base64. |
Imprimir
https://api.apisimples.com/v1/nfe/{id}/pdfhttps://api.apisimples.com/v1/nfe/{id}/pdf/simpleshttps://api.apisimples.com/v1/nfe/{id}/pdf/etiqueta
O caminho usa o id da nota devolvido pela API, ou a identificação. Sem complemento, a resposta é o DANFE em A4. /simples gera o DANFE simplificado. /etiqueta gera a etiqueta de 100 por 150 mm, com margem de 3 mm e o e-mail do emitente quando ele está no cadastro. HTTP 200 devolve modelo e pdf em base64. A logo do cadastro entra no DANFE e na etiqueta quando for JPG ou PNG. Nota cancelada sai com a tarja de cancelamento no DANFE. Nota denegada ou ainda não autorizada responde HTTP 422.
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| id | string | Sim | Uuid da nota, ou a identificação, no caminho da URL. |
Nota
Campos da raiz do JSON. O emitente sai do cadastro. O objeto emitente só substitui inscrição, nome e endereço quando você precisa de um valor diferente nesta nota.
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| identificacao | string | Não | Até 40 caracteres. Serve para consultar a nota depois. |
| natureza_operacao | string | Sim | Até 60 caracteres. |
| numero | string | Sim | De 1 a 9 dígitos. |
| serie | string | Sim | De 1 a 3 dígitos. |
| data_emissao | string | Sim | Data e hora com fuso, no formato 2026-10-10T14:30:00-03:00. |
| data_entrada_saida | string | Não | Mesmo formato de data_emissao, no mesmo fuso. |
| data_previsao_entrega | string | Não | Data e hora com fuso. O XML usa só o dia. |
| tipo_operacao | string | Sim | 0 entrada ou 1 saída. |
| local_destino | string | Não | 1 interna, 2 interestadual ou 3 exterior. Sem o campo, a API calcula pela UF. |
| finalidade_emissao | string | Sim | 1 normal, 2 complementar, 3 ajuste, 4 devolução, 5 crédito ou 6 débito. |
| consumidor_final | string | Sim | 0 normal ou 1 consumidor final. |
| presenca_comprador | string | Sim | 0 a 5, ou 9. Com 2, 3, 4 ou 9 e sem intermediário, a API envia indicador 0. |
| codigo_municipio_ibs | string | Com presença 5 | IBGE de 7 dígitos. |
| nota_fiscal_debito | string | Não | 01 a 08, quando a finalidade for débito. |
| nota_fiscal_credito | string | Não | 01 a 06, quando a finalidade for crédito. |
Destinatário
Opcional. Se enviar, o endereço entra junto.
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| cnpj, cpf ou id_estrangeiro | string | Um dos três | CNPJ ou CPF só com números. No exterior, use id_estrangeiro. |
| nome | string | Sim | De 2 a 60 caracteres. Em homologação, a SEFAZ recebe o nome de teste. |
| indicador_inscricao_estadual | string | Sim | 1 contribuinte, 2 isento ou 9 não contribuinte. |
| inscricao_estadual | string | Não | De 2 a 14 dígitos. |
| string | Não | Até 60 caracteres. | |
| endereco | objeto | Sim | logradouro, numero, bairro, codigo_municipio e nome_municipio. uf é obrigatória fora do exterior. |
Itens
De 1 a 990 itens. O imposto do item fica em imposto.
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| numero_item | string | Sim | De 1 a 990, sem repetir. |
| codigo_produto | string | Sim | De 1 a 60 caracteres. |
| descricao | string | Sim | De 1 a 120 caracteres. |
| codigo_ncm | string | Sim | 2 ou 8 dígitos. |
| cfop | string | Sim | 4 dígitos. |
| unidade_comercial | string | Sim | De 1 a 6 caracteres. |
| quantidade_comercial | número | Sim | Até 4 casas. |
| valor_unitario_comercial | número | Sim | Até 10 casas. |
| valor_bruto | número | Sim | Quantidade vezes o valor unitário, com tolerância de um centavo. |
| inclui_no_total | string | Sim | 1 soma no total da nota ou 0 não soma. |
| origem | string | Não | 0 a 8. Sem o campo, a API usa 0. |
| imposto.icms.situacao_tributaria | string | No grupo | CST de 2 dígitos ou CSOSN de 3 dígitos. |
| imposto.pis e imposto.cofins | objeto | Não | Cada um leva situacao_tributaria. Base, alíquota e valor entram quando o CST pedir. |
| imposto.ipi | objeto | Não | situacao_tributaria e codigo_enquadramento_legal. |
Frete e pagamento
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| frete.modalidade_frete | string | Sim | 0 a 4, ou 9 sem transporte. |
| frete.transportador | objeto | Não | cnpj ou cpf, nome, inscrição, endereço, município e UF. |
| frete.veiculo | objeto | Não | placa, uf, rntc e até 5 reboques. |
| frete.volumes | lista | Não | quantidade, espécie, marca, número, pesos e lacres. |
| pagamento.formas_pagamento | lista | Não | meio_pagamento e valor. Sem o grupo, a API envia 90 com valor zero. |
| pagamento.valor_troco | número | Não | Troco da operação. |
| cobranca.fatura | objeto | Não | numero, valor_original, valor_desconto e valor_liquido. |
| cobranca.duplicatas | lista | Não | Cada uma tem data_vencimento e valor. A API numera 001, 002 e assim por diante. |
Meio 99 precisa de descricao_pagamento. Integração 1 precisa de cartao.cnpj_credenciadora e cartao.numero_autorizacao.
Opcionais
Envie o grupo só quando a nota precisar dele.
Emitente, referências e intermediário
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| emitente | objeto | Não | inscricao_estadual, inscricao_estadual_st, razao_social, nome e endereco. O documento continua sendo o do cadastro. |
| contingencia | objeto | Não | data e motivo, de 15 a 256 caracteres. A nota segue em SVC-AN. |
| notas_referenciadas | lista | Não | Uma chave por item: nfe, cte, nf, nota_produtor_rural ou cupom_fiscal. |
| intermediario | objeto | Não | indicador 0 ou 1. Com 1, informe cnpj e identificacao. |
| pessoas_autorizadas | lista | Não | Até 10, cada uma com cnpj ou cpf. |
| local_retirada e local_entrega | objeto | Não | cnpj ou cpf e endereco. |
Importação, exportação e informações da nota
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| itens.documentos_importacao | lista | Não | DI, adições, via de transporte e exportador. |
| itens.documentos_exportacao | lista | Não | Drawback e, se houver, a exportação indireta. |
| exportacao | objeto | Não | uf_local_embarque, local_embarque e local_despacho. |
| informacoes_adicionais_contribuinte | string | Não | Até 5000 caracteres. |
| informacoes_adicionais_fisco | string | Não | Até 2000 caracteres. |
| observacoes_contribuinte e observacoes_fisco | lista | Não | Cada item tem campo e texto. |
Produto específico, IBS, CBS e agropecuário
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
| itens.veiculos_novos, medicamentos, armamentos ou combustiveis | objeto | Não | Um desses grupos por item, com os dados do produto específico. |
| imposto.ibs_cbs | objeto | Não | situacao_tributaria, classificacao_tributaria e os grupos de IBS, CBS, monofasia e crédito. |
| imposto.is | objeto | Não | Imposto seletivo do item. |
| compra_governamental | objeto | Não | tipo_entidade, percentual_redutor e tipo_operacao. |
| agropecuario | objeto | Não | guia_transito_animal e a lista defensivo. |
responsavel_tecnico com valor true responde 422: o responsável técnico ainda não está configurado. O grupo de incentivo CBS da ALC/ZFM também responde 422.
Erros
Toda resposta de erro traz codigo e mensagem. O código é estável: use ele no sistema e a mensagem para mostrar ao usuário.
| HTTP | Código | Quando |
|---|---|---|
| 400 | json_invalido | O corpo não é um objeto JSON. |
| 401 | autenticacao_ausente | O header Authorization não veio. |
| 401 | autenticacao_invalida | A chave do emitente não existe. |
| 403 | conta_inativa | A conta está inativa. |
| 403 | nfe_desabilitada | O emitente não tem NF-e habilitada. |
| 404 | nfe_nao_encontrada | A nota não é deste emitente. |
| 404 | rota_nao_encontrada | A rota não existe. |
| 409 | nfe_duplicada | Número e série, ou identificação, já usados. |
| 409 | nfe_ja_cancelada | A nota já está cancelada. |
| 422 | validacao | Um ou mais campos foram recusados. A lista erros traz campo, código e mensagem. |
| 422 | xml | O XML não pôde ser montado ou assinado. |
| 422 | sefaz | A SEFAZ recusou. A mensagem traz o motivo e o cStat. |
| 422 | sefaz_denegada | A SEFAZ denegou. A nota fica gravada com status denegada. |
| 422 | cancelamento_invalido | O status da nota não permite cancelar, ou falta o protocolo. |
| 422 | carta_correcao_invalida | A nota não está autorizada, não tem chave, o sequencial não é o próximo ou já chegou a 20. |
| 409 | carta_correcao_duplicada | Esse sequencial já foi gravado para a nota. |
| 422 | ator_interessado_invalido | A nota não está autorizada, não tem chave, o número do evento não é o próximo ou já chegou a 20. |
| 409 | ator_interessado_duplicado | Esse número de evento já foi gravado para a nota. |
| 422 | comprovante_invalido | A nota não está autorizada, não tem chave, o protocolo não existe, o comprovante já foi cancelado ou já chegou a 20. |
| 409 | comprovante_duplicado | Esse número de evento já foi gravado para a nota. |
| 422 | pdf_indisponivel | A nota não está autorizada nem cancelada, ou não tem XML. |
| 500 | O DANFE não pôde ser gerado. | |
| 500 | gravacao | A nota autorizada não foi gravada. |
| 502 | sefaz_indisponivel | A SEFAZ não concluiu a autorização, o cancelamento, a carta de correção, o ator interessado ou o comprovante de entrega. |
{
"codigo": "validacao",
"mensagem": "A requisição foi recusada.",
"erros": [
{
"campo": "itens.0.cfop",
"codigo": "obrigatorio",
"mensagem": "Campo obrigatório."
}
]
}{
"codigo": "sefaz",
"mensagem": "Rejeição: Duplicidade de NF-e (539)"
}