w295416
(W295416)
Março 15, 2024, 12:49am
27
Wagner,
Estou usando o mesmo script php que uso para buscar o PDF que esta vindo normal… trocando apenas a url p xml e mesmo assim não esta vindo nada.
conforme abaixo :
if (isset($_GET[“mdfe_id”])) {
//Buscando o TOKEN ----------------------
include_once '../db/funcoes.php';
include_once '../certificados/token.php';
$token = gerar_token();
//---------------------------------------
$TIPO = $_GET["tipo"];
$MDFE = $_GET["mdfe_id"];
if ( $token != '' ) {
$headers = [
'Authorization: Bearer '.$token,
'Content-Type: application/json'
];
if ( $TIPO == 'DANFE') {
$url = "https://api.sandbox.nuvemfiscal.com.br/mdfe/{$MDFE}/pdf";
} else {
$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);
if ( $TIPO == 'DANFE') {
header('Content-Type: application/pdf');
header("Content-Disposition: inline; filename=doc.pdf");
};
echo $dados;
};
};
O PDF esta vindo normalmente…
arimateia
(Arimateia Jr)
Março 15, 2024, 10:16am
28
Bom dia, @w295416 .
Em uma mensagem acima, o @wlandgraf o orientou a tratar ou configurar o curl para seguir redirecionamentos. Você chegou a fazer isso?
Segue um exemplo de utilização da configuração CURLOPT_FOLLOWLOCATION
:
w295416
(W295416)
Março 15, 2024, 12:10pm
31
Esta retornando sim…
Desculpe minha ignorância, mas sou novo no PHP
Que tipo de retorno é esse ???
� �WY��ʲ�+���u_\�$3�k�o2�2Ȥ�"������@YUݷOw�O��"2��22&"�6���-.�4Ͼ~¿�O/q�Q�%_?������hhHJ��$���]U���������Z�i��_�l�eS�he Ѫ��B���/Ak��O-�
�$N����4�>�p8N�E�G�Q<��2"�!�>���6#b��Z˧��-���+�Yy�^��)�F47��簌�4n���0C���ÇXG���Strϔ�-f�h����'��>"A}�g��p���g���X/Ы[��[���"�WH�I��f��U|bO��W�,��!�S�����Lh-�y���뢈�u{����8Z[~�h>,Y���7ľ��:�ĝ�Es6}��!�1��<,X���h5l������9�tg���/�n�P��I� ee�U���B��1��(.zW7zR��h4��0�T�efE��G#"b��@�f�� �洂���@�Z�7�7�@�g#'�I�v�L���p�g��y�AV
y’g�}P�-��������< �<�;hz�h蘞#�h� H�@���}/�YU�+d���N������oq��4dۙ�{L�����;�_لsh��9� ����a�.�#�#��F�’�PzQ,� �Q�B�!��[�~U�u �����y�zQ-Cv�£:�Z�.�:����,�Vy�D����/�4׃/|��j�J��8Iqܫj�;HuvP�h#����ta�TN�G�b�/���;�Im��$Ũ|�}[4�(@���.�|!���u�a�T�l�����A��(^�j.�)�C�8���H� y�#QH��nO0O�{��0�����&EQ���oufh�G �_�Ha�՟fY�;�;���$ã/��9���8���J��?�"��8K�8E�8�+,�[{Y��"HT�p Ǒ)���_�E��b�,O�X$Ϣĥ���l!�_���7X��c!,�!������y졮�f~{.�~�-�˟�I~�e@�z�K3$��Ȱ�;$a�ezӿH�N�l��/�:K�q���Yt��’г�3��e�~D<�{Kᨄ�,�e��9�!8}��Q�r8�2�G9������,�cQ,�S��������c�ų4�p$�J�����"P!D��m��"{~}�8�r�1.�qP�y��j’���脛�����ŕU߱�o�;�HDe�-L���0�L�� ���허�z�V��he��k&�Y?���Rm�<�a�ڀh$�m[��Yޭ���-G]ͥ5��EGo�n�&��H��%:�4��=������j3�u��ϫ7szq�zm~�Sm����y�����U>Z��#���<{A8Ǽ|y��J���| �N{�G5�D���.����0?�-e���D�� ��~~T{��ކ4�zF{/��G���J4�I�s?�})oE��&��9�a݆��p�n��WF��Y����Mn_QȾ��Z���&ٺ�?=k�K^$XkX���4�ק~Wi�YL\gy��c�XWh�5�j�G/��EZ�N?���G����~q�Lt���O�a�~a�{Q���ܭ�ȉ�q�����w�����7&�n���ũ�@�5����s}.�k��M�_Z����&qY��=m�#���k<��WY ��X����2��� ��!�QMO[#�c��9��xSq�a�~\n�R�������j�E�tkn����̩I��{�X[y��ΛU�C�o�Ns�y!ajo��"�v��0�嫞�ٻ�K���uE,Պ�|WL�J���>����4�Z����[���h��-d��� Yz�zD5ȉ}Rl�y����W�c�,���I�&������e���%����c}3�Մ���o9����b 4q�ª:J��ѕ�f�9�K�4�L~������ed"M��$W���� HG�9���z���҆�$�Z���~�����i|�=�D_T M�=%�E�nQʢ�д�퉢��XkL4M���� ���k�&�|��n� mYlX/w&��㛱s�f������iC:� I� )� %oy��{��I6�N�s&���la�ܶ�r}��8��l��ci�e-��4��؎’��;6�����bu4��NN���`���|.o9/#�XoT9��~�<����{ 7>aI!aH�6<�P+�KX��qC���iuO�k@w��#�v&M>H[Gw� ,B�t֛��MW�q���������R&��\�G�_�dP���z4�{��W�E2?���l�� ��~Yq �0���&�͞��$��4O�����LK�z�j{�M,��^�&܁:�����@Ļ��SO�����b>�/����� �j���-�Oٹ� �k@�B����.�bla��t��� T�I2�Pn������1d�����ϑVہ!��b�]�]@1�I�nnU א�Sc(� ����,rR;{A��Y찆y@������~%һ�D18���K�7��vۨ�]'���|�ëhр�R(’L��MB��M��’ۮP�5�������h���¾�’e�v�g�|���?�q�H���^�iS���~��R1V�˝ȗ��$3ew�n�R��c�1����2����uW�Dhù.��X��3�’�����O�G��u�ej��B"�=���M�.4�M7���&[S;E�<ȶ��t.�g��e]L�˶��jF�-ͥ��F���$D{yji�.�aj�N�’�nv� Uo��ۭ���61��8H����֚�U�Y ���d㩱��jvs��Yx����.Ol=w���r"N��Ya9��u��o�֊�zuٜ(鲺b���Y���b��(~���`�K8�O�́��7L���p�j��C,kv;N���C��e� s#����d�k�ZN���85a@��K�Y��3[WRptiZ�$u��60t6�a�h�de��}%��9��Sxg���)sv�ur��Z\f��Tye2ۈ�r��>�e��{F��&Ċ=[ܛ@���r�I�b�it-B���f��T��r�2�Y�a+�kf��-ʋ�n���x����Z���� ;`t�MK�ajNr6��Cq ��puaMl�% ������D7�9%�d\�ԁ�4��� ���kRe�w;?\�URS��C�]4���N�t����;����k����zN��ao]�{?��n��7�7��
arimateia
(Arimateia Jr)
Março 15, 2024, 12:13pm
32
Provavelmente é um conteúdo compactado com gzip. Além de configurar o curl para seguir redirecionamentos, deve configurá-lo também para descompactar automaticamente gzip.
wlandgraf
(Wagner Landgraf)
Março 15, 2024, 12:32pm
34
@w295416 você pode tentar também nosso SDK para PHP. Está lá justamente pra ajudar.
w295416
(W295416)
Março 18, 2024, 5:10pm
35
Boa tarde Wagner,
Já modifiquei o Curl para receber e gravar o retorno… Mas, segundo o Arimateia Jr. este retorno é um arquivo zip.
Estou usando o código abaixo e não consigo abrir o arquivo.
curl_setopt($ch2, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch2, CURLOPT_ENCODING , 'gzip');
curl_setopt($ch2, CURLOPT_POST, true);
curl_setopt($ch2, CURLOPT_FILE, $zipResource);
$dados = curl_exec($ch2);
curl_close($ch2);
fclose($zipResource);
/* Open the Zip file */
$zip = new \ZipArchive;
$extractPath = '/xmls';
$res = $zip->open($zipFile);
if( $res != "true"){
echo "Error :- Unable to open the Zip File";
} else {
/* Extract Zip File */
$zip->extractTo($extractPath);
$zip->close();
};
w295416
(W295416)
Março 18, 2024, 5:12pm
36
Segue código completo
$zipFile = "xml_danfe.zip"; // Rename .zip file
$zipResource = fopen($zipFile, "w");
$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);
curl_setopt($ch2, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch2, CURLOPT_ENCODING , 'gzip');
curl_setopt($ch2, CURLOPT_POST, true);
curl_setopt($ch2, CURLOPT_FILE, $zipResource);
$dados = curl_exec($ch2);
curl_close($ch2);
fclose($zipResource);
/* Open the Zip file */
$zip = new \ZipArchive;
$extractPath = '/xmls';
$res = $zip->open($zipFile);
if( $res != "true"){
echo "Error :- Unable to open the Zip File";
} else {
/* Extract Zip File */
$zip->extractTo($extractPath);
$zip->close();
};
arimateia
(Arimateia Jr)
Março 18, 2024, 5:38pm
37
Boa tarde, @w295416 .
Eu mencionei gzip e não zip.
O código curl_setopt($ch2, CURLOPT_ENCODING, 'gzip')
não resolveu?
w295416
(W295416)
Março 18, 2024, 5:45pm
38
Não!!!
Agora ele baixa, mas não consigo abrir nem direto pelo DOS…
w295416
(W295416)
Março 18, 2024, 7:29pm
40
Pois é, acabei de baixar o SDK, mas estou com um problema, não sei se é falta de familiaridade com o PHP…
Baixei e instalei com o composer, criei o .ENV com a credencial e quando vou testar com o CEP, não encontra as classes…
wlandgraf
(Wagner Landgraf)
Março 18, 2024, 7:58pm
42
A função get_oauth2_token
é explicada aqui:
w295416
(W295416)
Março 18, 2024, 9:20pm
43
Obrigado, agora deu certinho.
system
(system)
Fechado
Março 19, 2024, 9:21pm
44
Este tópico foi fechado automaticamente 24 horas depois da última resposta. Novas respostas não são mais permitidas.