• 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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now