w295416
(W295416)
Março 13, 2024, 8:34pm
1
Boa tarde,
Estou tendo dificuldades em baixar o XML de um MDF-e, consigo baixar normalmente…
Ambiente de Homologação
ID = mdf_3a115057f7a94abf941a149adf7bd047
Segue código :
if (isset($_GET[“mdfe_id”])) {
//Buscando o TOKEN ----------------------
include_once '../db/funcoes.php';
include_once '../certificados/token.php';
//---------------------
$token = gerar_token();
//---------------------
$MDFE = $_GET["mdfe_id"];
if ( $token != '' ) {
$headers = [
'Authorization: Bearer '.$token,
'Content-Type: application/json'
];
$url = "https://api.sandbox.nuvemfiscal.com.br/mdfe/{$MDFE}/xml/manifesto";
$ch2 = curl_init();
curl_setopt($ch2, CURLOPT_HTTPHEADER, $headers );
curl_setopt($ch2, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt($ch2, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch2, CURLOPT_URL, $url);
$dados = curl_exec($ch2);
curl_close($ch2);
echo $url.''.$dados;
};
Desde já
Agradeço
wlandgraf
(Wagner Landgraf)
Março 13, 2024, 9:49pm
2
Olá @w295416 ,
Não entendi. Consegue, ou não consegue baixar normalmente?
Qual é o problema que está tendo?
w295416
(W295416)
Março 14, 2024, 12:04am
3
Só consigo baixar o PDF…
O XML não veem nada… código usado acima
wlandgraf
(Wagner Landgraf)
Março 14, 2024, 12:49am
4
Você está verificando o status code? Note que pode vir uma resposta de redirect, aí você tem que tratar (ou configurar o curl para fazer isso.
Segue tópicos correspondentes:
Novidades da API da Nuvem Fiscal
Os endpoints de baixa de XML e DANFE da API da Nuvem Fiscal sofrerão algumas mudanças importantes.
Os endpoints BaixarXmlNfce e BaixarPdfNfce , que permitem o download do XML e do DANFCE de uma NFC-e, são alguns exemplos dos endpoints afetados, mas a mudança afeta todos os endpints de download de documentos (XML, PDF, de todo tipo de documento fiscal, de todo tipo de evento).
São duas mudanças importantes:
Esses endpoints agora poderão retornar código de stat…
Bom dia, @nilton .
Aparentemente, você está recebendo o erro na requisição da URL de redirecionamento.
Para mais informações, favor ler o seguinte tópico:
w295416
(W295416)
Março 14, 2024, 12:28pm
5
Olá Wagner,
O status code = 200 … usei no Postman e retornou 200 + não tive nada no response.
arimateia
(Arimateia Jr)
Março 14, 2024, 1:59pm
7
Bom dia, @w295416 .
O XML do MDF-e autorizado (endpoint GET /mdfe/mdf_3a115057f7a94abf941a149adf7bd047/xml
) também está com o mesmo problema?
w295416
(W295416)
Março 14, 2024, 2:31pm
8
Não…
Esse ID (mdf_3a115057f7a94abf941a149adf7bd047) já é do MDF-e autorizado, eu consigo baixar o PDF normalmente…
Apenas o XML que esta com essa bronca…
O código p baixar o PDF e XML são identico… penas muda o ENDPOINT…
Segue código usado :
$MDFE = $_GET["mdfe_id"];
if ( $token != '' ) {
$headers = [
'Authorization: Bearer '.$token,
'Content-Type: application/json'
];
$url = "https://api.sandbox.nuvemfiscal.com.br/mdfe/{$ID_MDFE}/xml/manifesto";
$ch2 = curl_init();
curl_setopt($ch2, CURLOPT_HTTPHEADER, $headers );
curl_setopt($ch2, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt($ch2, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch2, CURLOPT_URL, $url);
$dados = curl_exec($ch2);
curl_close($ch2);
echo $dados;
};
arimateia
(Arimateia Jr)
Março 14, 2024, 2:51pm
9
Você está fazendo a requisição para o endpoint:
GET /mdfe/{id}/xml/manifesto
O que acontece se você fazer a requisição para:
GET /mdfe/{id}/xml
Mesmo erro? Se sim, poderia enviar prints mostrando todos os dados relevantes (status code, cabeçalhos e conteúdo) da requisição e resposta feitas no Postman?
w295416
(W295416)
Março 14, 2024, 8:27pm
10
A mesma coisa
Estou te enviando o mesmo código p buscar a DANFE
arimateia
(Arimateia Jr)
Março 14, 2024, 8:32pm
11
Pelo que entendi, a requisição que está retornando status code 200 é a que o navegador faz para a sua aplicação. Onde está a requisição para a API da Nuvem Fiscal?
w295416
(W295416)
Março 14, 2024, 9:07pm
12
Amigo,
Acabei de teste no POSTMAN e dar certo…
Mas no PHP não vai…
Segue o código q estou usando
if (isset($_GET[“mdfe_id”])) {
if ( $token != '' ) {
$headers = [
'Authorization: Bearer '.$token,
'Content-Type: application/json'
];
$url = "https://api.sandbox.nuvemfiscal.com.br/mdfe/mdf_3a115057f7a94abf941a149adf7bd047/xml";
$ch2 = curl_init();
curl_setopt($ch2, CURLOPT_HTTPHEADER, $headers );
curl_setopt($ch2, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt($ch2, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($ch2, CURLOPT_URL, $url);
$dados = curl_exec($ch2);
curl_close($ch2);
var_dump($dados);
};
};
arimateia
(Arimateia Jr)
Março 14, 2024, 9:08pm
13
W295416:
var_dump($dados);
Qual o resultado do var_dump($dados)
?
w295416
(W295416)
Março 14, 2024, 9:23pm
14
String vazia
Se faço a requisição direto pela javascript… sou barrado pelo CORS
arimateia
(Arimateia Jr)
Março 14, 2024, 9:35pm
17
W295416:
Poderia rolar essa tela mais pra baixo e mostrar a seção “Request Headers” de forma completa? Manda também a aba “Response”, por favor.
arimateia
(Arimateia Jr)
Março 14, 2024, 9:39pm
20
@w295416
Não veio a seção “Request Headers” e nem a aba “Response”.
Poderia enviá-las?
w295416
(W295416)
Março 14, 2024, 9:42pm
21
Lembrando q essa é pelo JAVASCRIPT… ok
w295416
(W295416)
Março 14, 2024, 9:47pm
22
Segue código
var token = '';
$.ajax({
type: "GET",
url: 'https://api.sandbox.nuvemfiscal.com.br/mdfe/mdf_3a115057f7a94abf941a149adf7bd047/xml',
contentType: "application/json",
data:"1",
headers: {'Authorization': 'Bearer '+token},
success: function(dados) {
// console.log(dados);
},
error: function(err) {
console.log(err)
}
});
wlandgraf
(Wagner Landgraf)
Março 14, 2024, 9:50pm
24
Token removido da mensagem, não publique seu token nem nenhuma outra credencial aqui na Central de Suporte .
wlandgraf
(Wagner Landgraf)
Março 14, 2024, 9:50pm
25
Pelo JavaScript está mostrando erro 403, o que significa token inválido.