Notas fiscais (NF-e)
Baixar o XML da NF-e
GET https://apifiscal.weesy.com.br/v1/nfe/{chaveAcesso}/xml
Abrir na referência interativaO XML da nota com o protocolo de autorização (nfeProc), exatamente como foi guardado. Nota cancelada continua com o XML da autorização; a situação está no resumo.
Parâmetros
| Nome | Onde | Tipo | Descrição |
|---|---|---|---|
| chaveAcesso obrigatório | caminho | string | A chave de acesso da NF-e, 44 posições, sem espaços. |
Exemplo de chamada
cURL
curl --request GET \
--url "https://apifiscal.weesy.com.br/v1/nfe/35261054763582000197550010000002811000002810/xml" \
--header "Authorization: Bearer $WEESY_TOKEN" \
--output arquivo.xmlNode.js
import { writeFile } from "node:fs/promises";
const resposta = await fetch("https://apifiscal.weesy.com.br/v1/nfe/35261054763582000197550010000002811000002810/xml", {
method: "GET",
headers: {
Authorization: `Bearer ${process.env.WEESY_TOKEN}`,
},
});
if (resposta.ok) await writeFile("arquivo.xml", Buffer.from(await resposta.arrayBuffer()));
console.log(resposta.status);Python
import os
import requests
resposta = requests.get(
"https://apifiscal.weesy.com.br/v1/nfe/35261054763582000197550010000002811000002810/xml",
headers={"Authorization": f"Bearer {os.environ['WEESY_TOKEN']}"},
timeout=30,
)
if resposta.ok:
with open("arquivo.xml", "wb") as arquivo:
arquivo.write(resposta.content)
print(resposta.status_code)PHP
<?php
$contexto = stream_context_create(["http" => [
"method" => "GET",
"header" => implode("\r\n", ["Authorization: Bearer " . getenv("WEESY_TOKEN")]),
"ignore_errors" => true, // lê o corpo também nas respostas de erro
]]);
$resposta = file_get_contents("https://apifiscal.weesy.com.br/v1/nfe/35261054763582000197550010000002811000002810/xml", false, $contexto);
if (strpos($http_response_header[0], " 200 ") !== false) {
file_put_contents("arquivo.xml", $resposta);
}
echo $http_response_header[0], PHP_EOL;C#
using System.Net.Http.Headers;
using var http = new HttpClient();
http.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue("Bearer", Environment.GetEnvironmentVariable("WEESY_TOKEN"));
using var resposta = await http.GetAsync("https://apifiscal.weesy.com.br/v1/nfe/35261054763582000197550010000002811000002810/xml");
if (resposta.IsSuccessStatusCode)
await File.WriteAllBytesAsync("arquivo.xml", await resposta.Content.ReadAsByteArrayAsync());
Console.WriteLine((int)resposta.StatusCode);Respostas
- 200: O XML.
- 401: Token ausente, errado ou revogado (credencialinvalida). Confira o cabeçalho Authorization. (formato de erro)
- 403: Você não tem permissão para esta operação com este tipo de token (escopoinsuficiente). Exemplo: o token de API de uma empresa tentando mudar o webhook do integrador. Regra geral: 404 quando o registro não existe ou não é seu; 403 quando a operação existe, mas o seu tipo de token não pode usá-la. (formato de erro)
- 404: Não encontrado. Pode ser que não exista ou que pertença a outra empresa — por segurança, os dois casos respondem igual. (formato de erro)
- 503: erpindisponivel — a leitura está fora do ar. Tente de novo em alguns minutos. (formato de erro)