• 0
JonathanPHP

Como imprimir Etiquetas de envio en PHP

Question

Buenas a todos! como estan?

 

Les consulto este problema que tengo, estoy intentando imprimir las etiquetas de envio, si envio la URL siguiente funciona ok:

 

https://api.mercadolibre.com/shipment_labels?shipment_ids=".$_GET['id']."&response_type=pdf&access_token=".$_SESSION['access_token']

 

Pero como podria hacer para que imprima directamente el pdf sin ir a esta url, osea imprimiendo la respuesta al GET que guardo en una variable, o donde sea?

 

$params = array(
'shipment_ids' => $_GET['id'], 
'response_type' => 'pdf', 
'access_token' => $_SESSION['access_token'], 
);
 
echo $meli->get('/shipment_labels',$params);

 

mi intencion es que nadie tenga acceso al acces token...

 

 

espero puedan ayudarme, muchas gracias!

Share this post


Link to post
Share on other sites

5 answers to this question

Recommended Posts

  • 0

Caro Jonathan,

 

Para este recurso eu não uso o SDK, uso curl, pois há alguns parâmetros que devem ser indicados.
E mesmo assim não abro a URL para o usuário.

 

No caso das etiquetas de envio é possível enviar um lote de shipment_id e retornar diversas etiquetas no mesmo documento, no caso do Brasil a PLP.

Share this post


Link to post
Share on other sites
  • 0

Muchas gracias rodrigo! perfecto!

es esto lo que deberia hacer? no me esta funcionando, pero si podes indicarme si voy por buen camino seria buenisimo.

 

muchas gracias!

 

<?php 
session_start();
 
  $file= file_get_contents($url);
  header('Content-type: application/pdf');
  readfile($file);
 
 ?>

Share this post


Link to post
Share on other sites
  • 0
  • 0

Esta forma no me esta funcionando, saben que puedo estar haciendo mal?

<?php 
session_start();

  $url ="https://api.mercadolibre.com/shipment_labels?shipment_ids=".$_GET['id']."&response_type=pdf&access_token=".$_SESSION['access_token'];


$CurlConnect = curl_init();
curl_setopt($CurlConnect, CURLOPT_URL, $url);
curl_setopt($CurlConnect, CURLOPT_POST,   1);
curl_setopt($CurlConnect, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt($CurlConnect, CURLOPT_POSTFIELDS, $request);
$Result = curl_exec($CurlConnect);

header('Cache-Control: public'); 
header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename="new.pdf"');
header('Content-Length: '.strlen($Result));
echo $Result;

 ?>

me arroja este error:

{"message":"Resource /shipment_labels not found.","error":"not_found","status":404,"cause":[]}

Share this post


Link to post
Share on other sites
  • 0

está faltando uma variável: savePdf
Você está fazendo um POST? Está enviando informação?
Ou está requisitando?

A URL está certa. Então o erro é em outra coisa e a API está respondendo errado

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...