> ## Documentation Index
> Fetch the complete documentation index at: https://docs.validatech.com.br/llms.txt
> Use this file to discover all available pages before exploring further.

# Consulta Resumida

> Consulte informações básicas de uma NFe usando a chave de acesso

## Endpoint

<api-endpoint method="get" url="/NFe/ConsultarNFe/{chave}" />

## Parâmetros

<ParamField path="chave" type="string" required>
  Chave de acesso da NF-e (44 caracteres numéricos)

  **Exemplo:** `35170608530528000184550000000154301000771561`
</ParamField>

## Headers

<ParamField header="X-API-KEY" type="string" required>
  Token de autenticação da API
</ParamField>

<ParamField header="Accept" type="string" default="application/json">
  Tipo de conteúdo aceito na resposta
</ParamField>

## Exemplos de Requisição

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET "https://api.validanfe.com/NFe/ConsultarNFe/35170608530528000184550000000154301000771561" \
    -H "Accept: application/json" \
    -H "X-API-KEY: SEU_TOKEN_AQUI"
  ```

  ```javascript JavaScript theme={null}
  const response = await fetch(
    'https://api.validanfe.com/NFe/ConsultarNFe/35170608530528000184550000000154301000771561',
    {
      method: 'GET',
      headers: {
        'Accept': 'application/json',
        'X-API-KEY': 'SEU_TOKEN_AQUI'
      }
    }
  );

  const data = await response.json();
  ```

  ```python Python theme={null}
  import requests

  url = "https://api.validanfe.com/NFe/ConsultarNFe/35170608530528000184550000000154301000771561"
  headers = {
      "Accept": "application/json",
      "X-API-KEY": "SEU_TOKEN_AQUI"
  }

  response = requests.get(url, headers=headers)
  data = response.json()
  ```

  ```php PHP theme={null}
  <?php
  $ch = curl_init();

  curl_setopt($ch, CURLOPT_URL, 'https://api.validanfe.com/NFe/ConsultarNFe/35170608530528000184550000000154301000771561');
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_HTTPHEADER, [
      'Accept: application/json',
      'X-API-KEY: SEU_TOKEN_AQUI'
  ]);

  $response = curl_exec($ch);
  $data = json_decode($response, true);

  curl_close($ch);
  ?>
  ```
</CodeGroup>

## Códigos de Resposta

<ResponseField name="200" type="Success">
  NF-e encontrada e retornada com sucesso
</ResponseField>

<ResponseField name="400" type="Bad Request">
  Chave inválida ou mal formatada
</ResponseField>

<ResponseField name="401" type="Unauthorized">
  Token de autenticação ausente ou inválido
</ResponseField>

<ResponseField name="404" type="Not Found">
  NF-e não encontrada
</ResponseField>

<ResponseField name="429" type="Too Many Requests">
  Limite de requisições excedido (5/min)
</ResponseField>

<ResponseField name="500" type="Internal Server Error">
  Erro interno da API
</ResponseField>

## Exemplo de Resposta

<CodeGroup>
  ```json 200 - Sucesso theme={null}
  {
      "Versao": "4.00",
      "TpAmb": "1",
      "VerAplic": "SERPRO-API",
      "CStat": "100",
      "XMotivo": "Autorizado o uso da NF-e",
      "CUF": "35",
      "DhRecbto": "2024-03-10T12:34:56Z",
      "ChNFe": "35170608530528000184550000000154301000771561",
      "ProtNFe": {
          "Versao": "4.00",
          "InfProt": {
              "TpAmb": "1",
              "VerAplic": "SERPRO-API",
              "ChNFe": "35170608530528000184550000000154301000771561",
              "DhRecbto": "2024-03-10T12:34:56Z",
              "NProt": "123456789012345",
              "DigVal": "ABCDEFGHIJKLMNO",
              "CStat": "100",
              "XMotivo": "Autorizado o uso da NF-e"
          }
      },
      "Xml": "<xml_data_here>"
  }
  ```

  ```json 400 - Bad Request theme={null}
  {
      "error": "A chave da NF-e é obrigatória."
  }
  ```

  ```json 404 - Not Found theme={null}
  {
      "error": "NF-e não encontrada."
  }
  ```

  ```json 500 - Internal Server Error theme={null}
  {
      "error": "Erro interno do servidor."
  }
  ```
</CodeGroup>

## Campos da Resposta

<ResponseField name="Versao" type="string">
  Versão do layout da NF-e
</ResponseField>

<ResponseField name="TpAmb" type="string">
  Tipo de ambiente (1=Produção, 2=Homologação)
</ResponseField>

<ResponseField name="CStat" type="string">
  Código do status da consulta
</ResponseField>

<ResponseField name="XMotivo" type="string">
  Descrição do status
</ResponseField>

<ResponseField name="ChNFe" type="string">
  Chave de acesso da NF-e consultada
</ResponseField>

<ResponseField name="DhRecbto" type="string">
  Data e hora de recebimento da NF-e
</ResponseField>

<ResponseField name="ProtNFe" type="object">
  Protocolo de autorização da NF-e

  <Expandable title="Propriedades do ProtNFe">
    <ResponseField name="InfProt.NProt" type="string">
      Número do protocolo de autorização
    </ResponseField>

    <ResponseField name="InfProt.DigVal" type="string">
      Digest value da NF-e
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="Xml" type="string">
  XML completo da NF-e (se disponível)
</ResponseField>

<Tip>
  **Chaves de Teste**

  Use a chave `87878774456468954646464654654546545446579312` para testar este endpoint sem consumir créditos.
</Tip>
