Consultar Canceladas
curl --request POST \
--url https://api.validanfe.com/GuardaNFe/NFesCanceladas \
--header 'Content-Type: application/json' \
--data '
{
"periodMonths": 123,
"cnpj": "<string>"
}
'import requests
url = "https://api.validanfe.com/GuardaNFe/NFesCanceladas"
payload = {
"periodMonths": 123,
"cnpj": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({periodMonths: 123, cnpj: '<string>'})
};
fetch('https://api.validanfe.com/GuardaNFe/NFesCanceladas', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.validanfe.com/GuardaNFe/NFesCanceladas",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'periodMonths' => 123,
'cnpj' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.validanfe.com/GuardaNFe/NFesCanceladas"
payload := strings.NewReader("{\n \"periodMonths\": 123,\n \"cnpj\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.validanfe.com/GuardaNFe/NFesCanceladas")
.header("Content-Type", "application/json")
.body("{\n \"periodMonths\": 123,\n \"cnpj\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.validanfe.com/GuardaNFe/NFesCanceladas")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"periodMonths\": 123,\n \"cnpj\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyAPI Guarda
Consultar Canceladas
Consulte NFes canceladas por raiz CNPJ no GuardaNFe
POST
/
GuardaNFe
/
NFesCanceladas
Consultar Canceladas
curl --request POST \
--url https://api.validanfe.com/GuardaNFe/NFesCanceladas \
--header 'Content-Type: application/json' \
--data '
{
"periodMonths": 123,
"cnpj": "<string>"
}
'import requests
url = "https://api.validanfe.com/GuardaNFe/NFesCanceladas"
payload = {
"periodMonths": 123,
"cnpj": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({periodMonths: 123, cnpj: '<string>'})
};
fetch('https://api.validanfe.com/GuardaNFe/NFesCanceladas', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.validanfe.com/GuardaNFe/NFesCanceladas",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'periodMonths' => 123,
'cnpj' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.validanfe.com/GuardaNFe/NFesCanceladas"
payload := strings.NewReader("{\n \"periodMonths\": 123,\n \"cnpj\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.validanfe.com/GuardaNFe/NFesCanceladas")
.header("Content-Type", "application/json")
.body("{\n \"periodMonths\": 123,\n \"cnpj\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.validanfe.com/GuardaNFe/NFesCanceladas")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"periodMonths\": 123,\n \"cnpj\": \"<string>\"\n}"
response = http.request(request)
puts response.read_bodyConsultar NFes Canceladas por Raiz CNPJ
Este endpoint permite consultar NFes canceladas armazenadas no GuardaNFe utilizando raiz CNPJ (8 dígitos) para buscar todas as empresas de um mesmo grupo empresarial.Funcionalidade AvançadaA consulta por raiz CNPJ permite encontrar NFes canceladas de todas as filiais de um grupo empresarial usando apenas os 8 primeiros dígitos do CNPJ.
Endpoint
POST https://api.validanfe.com/GuardaNFe/NFesCanceladas
Headers
| Header | Valor | Obrigatório |
|---|---|---|
X-API-KEY | Seu token de API | ✅ Sim |
Content-Type | application/json | ✅ Sim |
Parâmetros de Entrada
integer
default:"12"
Período em meses para buscar NFes canceladas (máximo: 24)
string
required
CNPJ ou raiz CNPJ para filtrar:
- 8 dígitos: Raiz CNPJ (busca todas as filiais)
- 14 dígitos: CNPJ específico
Exemplo de Requisição com Raiz CNPJ
curl --location 'https://api.validanfe.com/GuardaNFe/NFesCanceladas' \
--header 'X-API-KEY: VNFE-ce0e1-596ba288-fc80-4e72-8856-2ec533b0829a' \
--header 'Content-Type: application/json' \
--data '{
"periodMonths": 12,
"cnpj": "10989834"
}'
{
"periodMonths": 12,
"cnpj": "10989834"
}
Raiz CNPJ (8 dígitos)Ao informar apenas 8 dígitos (ex: “10989834”), o sistema buscará todas as empresas cujo CNPJ inicie com estes dígitos, incluindo todas as filiais do grupo empresarial.
Resposta
Exemplo de Resposta
{
"totalCount": 15,
"periodoAnalisado": 12,
"dataConsulta": "2024-01-15T10:30:00Z",
"nfes": [
{
"chaveNFe": "35240110989834000123550010000001234567890123",
"cnpjEmitente": "10989834000123",
"razaoSocialEmitente": "EMPRESA MATRIZ LTDA",
"cnpjDestinatario": "12345678000190",
"razaoSocialDestinatario": "CLIENTE EXEMPLO LTDA",
"dataEmissao": "2024-01-10T14:20:00Z",
"valorTotal": 1500.00,
"numeroNFe": "123456",
"serieNFe": "1",
"ufEmitente": "SP",
"ufDestinatario": "RJ",
"totalEventos": 2,
"eventos": [
{
"cnpjAutor": "10989834000123",
"nomeAutor": "EMPRESA MATRIZ LTDA",
"justificativa": "Erro no valor do produto",
"protocolo": "135240001234567",
"status": "Autorizado"
}
]
},
{
"chaveNFe": "35240110989834000456550010000002345678901234",
"cnpjEmitente": "10989834000456",
"razaoSocialEmitente": "EMPRESA FILIAL 01 LTDA",
"cnpjDestinatario": "98765432000111",
"razaoSocialDestinatario": "OUTRO CLIENTE LTDA",
"dataEmissao": "2024-01-12T09:15:00Z",
"valorTotal": 850.00,
"numeroNFe": "234567",
"serieNFe": "1",
"ufEmitente": "SP",
"ufDestinatario": "MG",
"totalEventos": 1,
"eventos": [
{
"cnpjAutor": "10989834000456",
"nomeAutor": "EMPRESA FILIAL 01 LTDA",
"justificativa": "Cancelamento por duplicidade",
"protocolo": "135240001234568",
"status": "Autorizado"
}
]
}
],
"resumoEventos": {
"Cancelamento": 10,
"Operação não Realizada": 5
}
}
Campos de Resposta
Cabeçalho da Resposta
| Campo | Tipo | Descrição |
|---|---|---|
totalCount | integer | Total de NFes canceladas encontradas |
periodoAnalisado | integer | Período analisado em meses |
dataConsulta | datetime | Data e hora da consulta |
nfes | array | Lista de NFes canceladas |
resumoEventos | object | Resumo por tipo de evento |
NFes Canceladas
| Campo | Tipo | Descrição |
|---|---|---|
chaveNFe | string | Chave de acesso da NFe |
cnpjEmitente | string | CNPJ do emitente |
razaoSocialEmitente | string | Razão social do emitente |
cnpjDestinatario | string | CNPJ do destinatário |
razaoSocialDestinatario | string | Razão social do destinatário |
dataEmissao | datetime | Data de emissão da NFe |
valorTotal | decimal | Valor total da NFe |
numeroNFe | string | Número da NFe |
serieNFe | string | Série da NFe |
ufEmitente | string | UF do emitente |
ufDestinatario | string | UF do destinatário |
totalEventos | integer | Total de eventos da NFe |
eventos | array | Lista de eventos de cancelamento |
Eventos de Cancelamento
| Campo | Tipo | Descrição |
|---|---|---|
cnpjAutor | string | CNPJ de quem executou o cancelamento |
nomeAutor | string | Nome/Razão social do autor |
justificativa | string | Justificativa do cancelamento |
protocolo | string | Protocolo do evento na SEFAZ |
status | string | Status do evento |
Casos de Uso
Auditoria Empresarial
Análise de Grupo EmpresarialUse a raiz CNPJ para auditar cancelamentos de todas as empresas do mesmo grupo
Análise de Risco
Comportamento FiscalAvalie padrões de cancelamento para análise de risco de crédito
Tipos de Busca
- Raiz CNPJ (8 dígitos)
- CNPJ Específico (14 dígitos)
{
"cnpj": "10989834"
}
- 10989834000123 (Matriz)
- 10989834000456 (Filial 1)
- 10989834000789 (Filial 2)
{
"cnpj": "10989834000123"
}
Códigos de Erro
| Código | Descrição |
|---|---|
400 | Parâmetros inválidos (período maior que 24 meses) |
401 | Token de API inválido ou ausente |
404 | Nenhuma NFe cancelada encontrada |
500 | Erro interno do servidor |
Serviço Sob DemandaO GuardaNFe deve estar ativado em sua conta. Entre em contato com o suporte se não tiver acesso.
Dica de PerformanceUse raiz CNPJ (8 dígitos) para análises amplas de grupos empresariais e CNPJ completo (14 dígitos) para consultas específicas.