NFe / NFCe
Endpoints para emissão, cancelamento, carta de correção e inutilização de numeração de NFe (modelo 55) e NFCe (modelo 65).
POST /api/v1/nfe/emitir
Emite uma NFe ou NFCe via integração com o acbrcmd. O corpo da requisição deve ser um JSON no formato esperado pelo acbrcmd.
Campos obrigatórios no corpo (raiz)
acao— use"emitir"modeloDocumento— use"nfe"certificadoDigital— conteúdo do certificado A1 em hexadecimalsenhaCertificadoDigital— senha do certificadoambiente—"1"produção ou"2"homologaçãomodelo—"55"NFe ou"65"NFCeufEmitente— UF do emitente (ex.:"SP")nfe— objeto com os dados da nota (emitente, destinatário, itens, etc.)
Exemplos de código
curl -X POST "https://nfe.geranet.net/api/v1/nfe/emitir" \
-H "Authorization: Bearer SUA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"acao":"emitir","modeloDocumento":"nfe","certificadoDigital":"...","senhaCertificadoDigital":"...","ambiente":"2","modelo":"55","ufEmitente":"SP","nfe":{...}}'Exemplo de payload
Escolha entre exemplo simples (NFe ou NFCe) ou a estrutura completa (NFe). O certificado deve ser enviado em certificadoDigital em hexadecimal. Para NFCe use modelo = "65".
{
"acao": "emitir",
"modeloDocumento": "nfe",
"certificadoDigital": "(conteúdo do certificado A1 em hexadecimal)",
"senhaCertificadoDigital": "sua_senha",
"ambiente": "2",
"modelo": "55",
"ufEmitente": "SP",
"nfe": {
"empresa": {
"cnpj": "00000000000191",
"inscricaoEstadual": "123456789",
"razaoSocial": "COMERCIAL EXEMPLO LTDA",
"nomeFantasia": "COMERCIAL EXEMPLO",
"telefone": "63900000000",
"email": "financeiro@exemplo.com.br",
"logradouro": "Rua das Flores",
"numero": "100",
"bairro": "Centro",
"municipio": "ARAGUAINA - TO",
"codigoMunicipio": "170210",
"uf": "TO",
"cep": "77800000",
"codigoRegimeTributario": "1",
"tipoAtividade": "3",
"serie": "2",
"contingencia": "nao"
},
"cliente": {
"cpf": "12345678909",
"razaoSocial": "João da Silva",
"consumidorFinal": "1",
"indicadorIEdestinatario": "9",
"telefone": "11900000000",
"email": "cliente@exemplo.com.br",
"logradouro": "Av. Brasil",
"numero": "500",
"bairro": "Vila Nova",
"municipio": "ARAGUAINA - TO",
"codigoMunicipio": "170210",
"codigoPais": "1058",
"nomePais": "Brasil",
"uf": "TO",
"cep": "77800001"
},
"indicativoIntermediador": "0",
"dataSaida": "2026-02-16 00:24:07",
"dataEmissao": "2026-02-16 00:24:07",
"modelo": "55",
"ambiente": "2",
"tipo": "1",
"frete": "9",
"finalidade": "1",
"naturezaOperacao": "Venda de Produtos ou Servicos",
"itens": [
{
"quantidade": "1.00000000",
"valorUnitario": "20.00000000",
"valorTotal": "20.00",
"ncmProduto": "07099911",
"tipoItem": "00",
"codigoProduto": "1",
"nomeProduto": "Produto",
"cfop": "5102",
"unidadeMedidaProduto": "UNID",
"origemProduto": "0",
"icmsCst": "102",
"pisCst": "8",
"pisAliquota": "0.65",
"cofinsCst": "8",
"cofinsAliquota": "3.0"
}
]
}
}
{
"acao": "emitir",
"modeloDocumento": "nfe",
"certificadoDigital": "(conteúdo do certificado A1 em hexadecimal)",
"senhaCertificadoDigital": "sua_senha",
"ambiente": "2",
"modelo": "55",
"ufEmitente": "SP",
"nfe": {
"transportador": {
"cnpj": "",
"cpf": "",
"razaoSocial": "",
"inscricaoEstadual": "",
"endereco": "",
"municipio": "",
"uf": ""
},
"volumes": [
{
"quantidade": "0",
"descricao": "",
"marca": "",
"pesoLiquido": "0.0000",
"pesoBruto": "0.0000"
}
],
"exportacao": {
"ufEmbarque": "",
"localEmbarque": ""
},
"empresa": {
"cnpj": "00000000000199",
"cpf": "",
"inscricaoEstadual": "0000000000",
"inscricaoMunicipal": "",
"inscricaoSuframa": "",
"telefone": "",
"email": "",
"municipio": "SAO PAULO",
"codigoMunicipio": "3550308",
"uf": "SP",
"cnae": "",
"tipoAtividade": "3",
"serie": "1",
"idCodigoSegurancaContribuinte": "",
"codigoSegurancaContribuinte": "",
"versaoNfe": "4.0",
"contingencia": "nao",
"aliquotaIss": "",
"aliquotaFunrural": "0.00",
"ibptAutomatico": "sim",
"codigoRegimeTributarioIssqn": "7",
"razaoSocial": "RAZAO SOCIAL EMITENTE",
"nomeFantasia": "NOME FANTASIA",
"logradouro": "Rua Exemplo",
"numero": "100",
"complemento": "",
"bairro": "Centro",
"cep": "00000000",
"codigoRegimeTributario": "3",
"informacaoAdicionalFisco": "",
"informacaoComplementar": "",
"cpfContador": "",
"cnpjContador": "",
"logomarca": "",
"numeroNotaAtual": "1",
"aliquotaInterestadualIcms": "7.00",
"aliquotaInternaIcms": ""
},
"cliente": {
"cnpj": "",
"cpf": "00000000000",
"inscricaoEstadual": "",
"consumidorFinal": "1",
"indicadorIEdestinatario": "9",
"inscricaoMunicipal": "",
"inscricaoSuframa": "",
"telefone": "",
"email": "",
"logradouro": "Rua Destinatario",
"numero": "1",
"complemento": "",
"bairro": "Bairro",
"municipio": "CIDADE",
"codigoMunicipio": "1702109",
"codigoPais": "1058",
"nomePais": "Brasil",
"uf": "TO",
"cep": "00000000",
"razaoSocial": "NOME DESTINATARIO",
"nomeFantasia": "",
"codigoRegimeTributario": "0",
"entrega": {
"nome": "",
"telefone": "",
"cnpj": "",
"cpf": "",
"inscricaoEstadual": "",
"logradouro": "",
"numero": "",
"complemento": "",
"bairro": "",
"codigoMunicipio": "",
"municipio": "",
"codigoPais": "1058",
"nomePais": "Brasil",
"uf": "",
"cep": "",
"email": ""
},
"aliquotaInternaIcms": "18.00"
},
"autorizadosXml": [],
"indicadorPresenca": "1",
"indicativoIntermediador": "0",
"numero": "",
"codigoNumerico": "",
"dataSaida": "2026-01-31 12:00:00",
"dataEmissao": "2026-01-31 12:00:00",
"fusoHorario": "-03:00",
"modelo": "55",
"chave": "",
"protocolo": "",
"ambiente": "2",
"tipo": "1",
"frete": "9",
"finalidade": "1",
"informacaoAdicionalFisco": "",
"informacaoComplementar": "",
"notaFiscalReferencia": "",
"idNaturezaOperacao": "1",
"naturezaOperacao": "Venda",
"numeroPedido": "",
"numeroVenda": "",
"usarValorTotalInformado": "",
"valorTotal": "100.00",
"fatura": {
"numero": "1",
"valor": "100.00",
"desconto": "0.00",
"valorLiquido": "100.00",
"duplicatas": [
{
"numero": "001",
"dataVencimento": "2026-02-28",
"valor": "100.00",
"codigoPagamento": "01"
}
]
},
"pagamento": {
"troco": 0,
"detalhamento": [
{
"tipo": "01",
"valor": 100,
"cnpjCredenciadora": "",
"tipoBandeira": "",
"autorizacao": "",
"tipoIntegracao": "",
"indicadorPagamento": "0"
}
]
},
"responsavelTecnico": {
"cnpj": "",
"contato": "",
"email": "",
"fone": "",
"idCSRT": "",
"CSRT": ""
},
"itens": [
{
"numeroPedido": "",
"numeroItemPedido": "",
"desconto": "0.00000000",
"frete": "0.00000000",
"seguro": "0.00000000",
"outro": "0.00000000",
"quantidade": "1.00000000",
"valorUnitario": "100.00000000",
"valorTotal": "100.00",
"informacaoAdicional": "",
"ncmProduto": "61091000",
"cest": "",
"itemListaServico": "",
"codigoServico": "",
"codigoNBS": "",
"cnaeProduto": "",
"tipoItem": "00",
"eanProduto": "SEM GTIN",
"codigoProduto": "1",
"idProduto": "",
"nomeProduto": "Produto Exemplo",
"cfop": "6102",
"codigoAnp": "",
"nomeAnp": "",
"ufAnp": "",
"pGLP": "0.0000",
"pGNn": "0.0000",
"pGNi": "0.0000",
"vPart": "0.00",
"CODIF": "000000",
"qTemp": "0.0000",
"qBCProd": "0.00000000",
"vAliqProd": "0.00000000",
"vCIDE": "0.00000000",
"unidadeMedidaProduto": "UNID",
"origemProduto": "0",
"diNumero": "",
"diData": "",
"diLocalDesembaraco": "",
"diUfDesembaraco": "",
"diTipoVia": "1",
"diDataDesembaraco": "",
"diAfrmm": "0.00000000",
"diTipoIntermedio": "1",
"diExportador": "",
"diAdicoes": [],
"rastro": [],
"detExport": [],
"nomeExportador": "",
"icmsCst": "00",
"icmsModBc": "3",
"icmsBc": "100.00000000",
"icmsRedBc": "0.00000000",
"icmsAliquota": "18.00000000",
"icmsValor": "18.00000000",
"icmsModBcSt": "4",
"icmsMva": "0.00000000",
"icmsRedBcSt": "0.00000000",
"icmsBcSt": "0.00000000",
"icmsCredito": "0.00000000",
"codigoBeneficio": "",
"icmsStAliquota": "0.00000000",
"icmsStValor": "0.00000000",
"icmsBcStRet": "",
"icmsStRetValor": "",
"icmsSubstitutoValor": "",
"icmsMotivoDesoneracao": "",
"icmsValorDesonerado": "0.00000000",
"ipiCst": "",
"ipiBc": "0.00000000",
"ipiAliquota": "0.00000000",
"ipiEnquadramento": "",
"ipiValor": "0.00000000",
"ipiDevolucaoAliquota": "0.00000000",
"ipiDevolucaoValor": "0.00000000",
"iiBc": "0.00000000",
"iiDespAdu": "0.00000000",
"iiValor": "0.00000000",
"iiIof": "0.00000000",
"pisCst": "01",
"pisAliquota": "0.65000000",
"pisBc": "100.00000000",
"pisValor": "0.65000000",
"cofinsCst": "01",
"cofinsBc": "100.00000000",
"cofinsValor": "3.00000000",
"cofinsAliquota": "3.00000000",
"iss": "",
"issAliquota": "",
"issItemListaServico": "",
"issRetido": "",
"issIndicador": "",
"issCodigoServico": "",
"issIndicadorIncentivo": "",
"icmsManual": "0",
"icmsStManual": "0",
"ipiManual": "0",
"pisManual": "0",
"cofinsManual": "0",
"iiManual": "0",
"cstIbscbs": "000",
"cClassTribIbscbs": "000001",
"aliquotaIbsUf": "0.1000",
"aliquotaIbsMun": "0.0000",
"aliquotaCbs": "0.9000",
"ibscbsManual": "0",
"cstIs": "",
"cClassTribIs": "",
"aliquotaIs": "0.0000",
"isManual": "0",
"vBCUFDest": "100.00",
"vBCFCPUFDest": "100.00",
"pFCPUFDest": "0.0000",
"pICMSUFDest": "18.0000",
"pICMSInter": "7.00",
"pICMSInterPart": "100",
"vFCPUFDest": "0.00",
"vICMSUFDest": "0.00",
"vICMSUFRemet": "0.00",
"vTotTrib": ""
}
],
"idVenda": "0",
"numeroNotaEmitir": "1"
}
}
{
"acao": "emitir",
"modeloDocumento": "nfe",
"certificadoDigital": "(conteúdo do certificado A1 em hexadecimal)",
"senhaCertificadoDigital": "sua_senha",
"ambiente": "2",
"modelo": "65",
"ufEmitente": "TO",
"nfe": {
"empresa": {
"cnpj": "00000000000191",
"inscricaoEstadual": "123456789",
"telefone": "63900000000",
"email": "financeiro@exemplo.com.br",
"municipio": "ARAGUAINA - TO",
"codigoMunicipio": "170210",
"uf": "TO",
"tipoAtividade": "3",
"serie": "2",
"contingencia": "nao",
"razaoSocial": "COMERCIAL EXEMPLO LTDA",
"nomeFantasia": "COMERCIAL EXEMPLO",
"logradouro": "Rua das Flores",
"numero": "100",
"bairro": "Centro",
"cep": "77800000",
"codigoRegimeTributario": "1"
},
"cliente": {
"cpf": "12345678909",
"razaoSocial": "João da Silva",
"consumidorFinal": "1",
"indicadorIEdestinatario": "9",
"telefone": "11900000000",
"email": "cliente@exemplo.com.br",
"logradouro": "Av. Brasil",
"numero": "500",
"bairro": "Vila Nova",
"codigoMunicipio": "170210",
"municipio": "ARAGUAINA - TO",
"codigoPais": "1058",
"nomePais": "Brasil",
"uf": "TO",
"cep": "77800001"
},
"indicativoIntermediador": "0",
"dataSaida": "2026-02-16 00:24:07",
"dataEmissao": "2026-02-16 00:24:07",
"modelo": "65",
"ambiente": "2",
"tipo": "1",
"frete": "9",
"finalidade": "1",
"naturezaOperacao": "Venda de Produtos ou Servicos",
"itens": [
{
"quantidade": "1.00000000",
"valorUnitario": "20.00000000",
"valorTotal": "20.00",
"ncmProduto": "07099911",
"tipoItem": "00",
"eanProduto": "2005965311527",
"codigoProduto": "1",
"nomeProduto": "Produto",
"cfop": "5102",
"unidadeMedidaProduto": "UNID",
"origemProduto": "0",
"icmsCst": "102",
"pisCst": "8",
"pisAliquota": "0.65",
"cofinsCst": "8",
"cofinsAliquota": "3.0"
}
]
}
}
Exemplo em PHP (NFCe – adaptado para Geranet NFe API):
$client = new \GuzzleHttp\Client();
$certHex = bin2hex(file_get_contents('caminho/arquivo.pfx'));
$nfe = [
'empresa' => [
'cnpj' => '00000000000191',
'inscricaoEstadual' => '123456789',
'razaoSocial' => 'COMERCIAL EXEMPLO LTDA',
'nomeFantasia' => 'COMERCIAL EXEMPLO',
'logradouro' => 'Rua das Flores', 'numero' => '100', 'bairro' => 'Centro',
'municipio' => 'ARAGUAINA - TO', 'codigoMunicipio' => '170210', 'uf' => 'TO', 'cep' => '77800000',
'telefone' => '63900000000', 'email' => 'financeiro@exemplo.com.br',
'codigoRegimeTributario' => '1', 'tipoAtividade' => '3', 'serie' => '2', 'contingencia' => 'nao',
],
'cliente' => [
'cpf' => '12345678909', 'razaoSocial' => 'João da Silva', 'consumidorFinal' => '1',
'indicadorIEdestinatario' => '9', 'logradouro' => 'Av. Brasil', 'numero' => '500',
'bairro' => 'Vila Nova', 'municipio' => 'ARAGUAINA - TO',
'codigoMunicipio' => '170210', 'codigoPais' => '1058', 'nomePais' => 'Brasil', 'uf' => 'TO',
'cep' => '77800001', 'telefone' => '11900000000', 'email' => 'cliente@exemplo.com.br',
],
'indicativoIntermediador' => '0', 'dataSaida' => date('Y-m-d H:i:s'), 'dataEmissao' => date('Y-m-d H:i:s'),
'modelo' => '65', 'ambiente' => '2', 'tipo' => '1', 'frete' => '9', 'finalidade' => '1',
'naturezaOperacao' => 'Venda de Produtos ou Servicos',
'itens' => [
['quantidade' => '1.00000000', 'valorUnitario' => '20.00000000', 'valorTotal' => '20.00',
'ncmProduto' => '07099911', 'tipoItem' => '00', 'codigoProduto' => '1', 'nomeProduto' => 'Produto',
'cfop' => '5102', 'unidadeMedidaProduto' => 'UNID', 'origemProduto' => '0',
'icmsCst' => '102', 'pisCst' => '8', 'pisAliquota' => '0.65', 'cofinsCst' => '8', 'cofinsAliquota' => '3.0'],
],
];
$payload = [
'acao' => 'emitir', 'modeloDocumento' => 'nfe', 'certificadoDigital' => $certHex,
'senhaCertificadoDigital' => 'sua_senha', 'ambiente' => '2', 'modelo' => '65', 'ufEmitente' => 'TO',
'nfe' => $nfe,
];
$response = $client->post('https://nfe.geranet.net/api/v1/nfe/emitir', [
'headers' => ['Authorization' => 'Bearer ' . $apiKey, 'Content-Type' => 'application/json'],
'json' => $payload,
]);
$dados = json_decode($response->getBody()->getContents(), true);
Respostas
A API retorna JSON com a estrutura abaixo. Em emissão vêm também numero, chave e protocolo.
Sucesso (HTTP 200)
{
"situacao": "sucesso",
"mensagem": "NFe emitida com sucesso.",
"xml": "(conteúdo do XML em hexadecimal)",
"pdf": "(conteúdo do PDF em hexadecimal)",
"numero": "000001",
"chave": "35260218612608000132550020000000031369409922",
"protocolo": "135260000368176"
}
Erro (HTTP 422)
{
"situacao": "erro",
"mensagem": "Rejeição 204: Duplicidade de NF-e. Chave já existente na base da SEFAZ.",
"xml": "",
"pdf": ""
}
POST /api/v1/nfe/cancelar
Cancela uma NFe ou NFCe já autorizada. Campos obrigatórios: chave, protocolo, justificativa (mín. 15 caracteres), certificadoDigital, senhaCertificadoDigital, ambiente, modelo, ufEmitente.
Exemplos de código
# corpo enviado como JSON (-d):
# {"acao":"cancelar","modeloDocumento":"nfe","chave":"44 dígitos","protocolo":"...","justificativa":"mín. 15 caracteres","certificadoDigital":"hex","senhaCertificadoDigital":"...","ambiente":"2","modelo":"55","ufEmitente":"SP"}
curl -X POST "https://nfe.geranet.net/api/v1/nfe/cancelar" \
-H "Authorization: Bearer SUA_API_KEY" -H "Content-Type: application/json" \
-d '{"acao":"cancelar","modeloDocumento":"nfe","chave":"...","protocolo":"...","justificativa":"Nota emitida com erro","certificadoDigital":"...","senhaCertificadoDigital":"...","ambiente":"2","modelo":"55","ufEmitente":"SP"}'Exemplo de payload
{
"acao": "cancelar",
"modeloDocumento": "nfe",
"chave": "35260218612608000132550020000000031369409922",
"protocolo": "135260000368176",
"justificativa": "Nota fiscal emitida com erro nos valores",
"certificadoDigital": "...",
"senhaCertificadoDigital": "...",
"ambiente": "2",
"modelo": "55",
"ufEmitente": "SP"
}
Estrutura da resposta:
Sucesso (200)
{
"situacao": "sucesso",
"mensagem": "NFe cancelada com sucesso.",
"xml": "...",
"pdf": "..."
}
Erro (422)
{
"situacao": "erro",
"mensagem": "Justificativa inválida ou chave não encontrada.",
"xml": "",
"pdf": ""
}
POST /api/v1/nfe/carta-correcao
Registra carta de correção eletrônica (CCe) para NFe. Campos obrigatórios: chave, numeroCorrecao, textoCorrecao, certificadoDigital, senhaCertificadoDigital, ambiente, modelo, ufEmitente.
Exemplos de código
# corpo (-d): {"acao":"cartaCorrecao","modeloDocumento":"nfe","chave":"...","numeroCorrecao":"1","textoCorrecao":"...","certificadoDigital":"...","senhaCertificadoDigital":"...","ambiente":"2","modelo":"55","ufEmitente":"SP"}
curl -X POST "https://nfe.geranet.net/api/v1/nfe/carta-correcao" \
-H "Authorization: Bearer SUA_API_KEY" -H "Content-Type: application/json" \
-d '{"acao":"cartaCorrecao","modeloDocumento":"nfe","chave":"...","numeroCorrecao":"1","textoCorrecao":"Correção do frete","certificadoDigital":"...","senhaCertificadoDigital":"...","ambiente":"2","modelo":"55","ufEmitente":"SP"}'Exemplo de payload
{
"acao": "cartaCorrecao",
"modeloDocumento": "nfe",
"chave": "35260118612608000132550020000000011121595597",
"numeroCorrecao": "1",
"textoCorrecao": "Correção do valor do frete informado na nota fiscal.",
"certificadoDigital": "...",
"senhaCertificadoDigital": "...",
"ambiente": "2",
"modelo": "55",
"ufEmitente": "SP"
}
Estrutura da resposta:
Sucesso (200)
{
"situacao": "sucesso",
"mensagem": "Carta de correção registrada.",
"xml": "...",
"pdf": "..."
}
Erro (422)
{
"situacao": "erro",
"mensagem": "Chave inválida ou correção já utilizada.",
"xml": "",
"pdf": ""
}
POST /api/v1/nfe/inutilizar-numeracao
Inutiliza uma faixa de numeração de NFe/NFCe. Campos obrigatórios: cnpj, serie, ano, numeroInicial, numeroFinal, justificativa (mín. 15 caracteres), certificadoDigital, senhaCertificadoDigital, ambiente, modelo, ufEmitente.
Exemplos de código
# corpo (-d): {"acao":"inutilizarNumeracao","modeloDocumento":"nfe","cnpj":"...","serie":"2","ano":"2026","numeroInicial":"4","numeroFinal":"4","justificativa":"mín. 15 caracteres","certificadoDigital":"...","senhaCertificadoDigital":"...","ambiente":"2","modelo":"55","ufEmitente":"SP"}
curl -X POST "https://nfe.geranet.net/api/v1/nfe/inutilizar-numeracao" \
-H "Authorization: Bearer SUA_API_KEY" -H "Content-Type: application/json" \
-d '{"acao":"inutilizarNumeracao","modeloDocumento":"nfe","cnpj":"...","serie":"2","ano":"2026","numeroInicial":"4","numeroFinal":"4","justificativa":"Números não utilizados","certificadoDigital":"...","senhaCertificadoDigital":"...","ambiente":"2","modelo":"55","ufEmitente":"SP"}'Exemplo de payload
{
"acao": "inutilizarNumeracao",
"modeloDocumento": "nfe",
"cnpj": "18612608000132",
"serie": "2",
"ano": "2026",
"numeroInicial": "4",
"numeroFinal": "4",
"justificativa": "Números não utilizados devido a erro de operação do sistema",
"certificadoDigital": "...",
"senhaCertificadoDigital": "...",
"ambiente": "2",
"modelo": "55",
"ufEmitente": "SP"
}
Estrutura da resposta:
Sucesso (200)
{
"situacao": "sucesso",
"mensagem": "Numeração inutilizada.",
"xml": "...",
"pdf": "..."
}
Erro (422)
{
"situacao": "erro",
"mensagem": "Faixa já utilizada ou justificativa insuficiente.",
"xml": "",
"pdf": ""
}