Pregunta:
Fecha: 04-09-2018 02:18:01
(En Español)
curl -X GET \
'https://api.enviopack.com/cotizar/costo?access_token=[TU_ACCESS_TOKEN]
&provincia=C
&codigo_postal=1405
&peso=1.5
&paquetes=20x3x5
&direccion_envio=22'
El ACCESS TOKEN ya lo obtengo pero al pasar los parámetros me da error.
Gracias Votos: 0 - Respuestas: 6 - Vistas: 10 Compartir en: Google Facebook Twitter LinkedIn Link
GET Con Curl[No resuelta]
Hola quiero hacer una consulta ya que de la manera que lo hago en mercadolibre no me funciona, quiero consultar con PHP mediante CURL. Tampoco puedo con Restclient de Firefox. Esto es el esquema que dan para consultar.curl -X GET \
'https://api.enviopack.com/cotizar/costo?access_token=[TU_ACCESS_TOKEN]
&provincia=C
&codigo_postal=1405
&peso=1.5
&paquetes=20x3x5
&direccion_envio=22'
El ACCESS TOKEN ya lo obtengo pero al pasar los parámetros me da error.
Gracias Votos: 0 - Respuestas: 6 - Vistas: 10 Compartir en: Google Facebook Twitter LinkedIn Link
Respuestas:
-
Fecha: 04-09-2018 09:39:18 Obviamente para que te ayudemos deberías indicar el error que te da y el código php que usas. Votos: 0 - Link respuesta
-
Fecha: 04-09-2018 15:03:04 Hola adjunto el codigo. No me trae nada solo me muestra [].
<?php $Acces_Token="eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXUyJ9.eyJleHAiOjE1MzYxMTk4NDMsInVzZXJuYW1lIjoiNjQyMmZkNDFmMzI3ZjcyNGU4NTlkNTk0N2U0YTY5MzM0MzM4Njk5YiIsImlhdCI6IjE1MzYxMDU0NDMifQ.dwfno00ggDjyv2laNTTbxKWWm80VGoKKf1B6NWFuq8sXu5q0BqJRGM0rHt6wjX_GZCZX4WHydU7ydYBX3xJQy6jqoclDWaWD9I6F0Bq8IUA-lKNSPjBLDnlGo5diDNpbgJLupo6zRax_Y-uLOqml6TVNS830LUCj0lgJsvA-T3U_HBuyyHchkl1zHOMM1wuYKHpdxhwHYncDoyvJlHaVN5AAoMmGLbeSm1ORXYDZBVKZniHiYfIG5O3mtOgK2a5LfvwlpEby9m3LKsdRotmI-2IhWjPuovXInFrosiIsw-_Z1v_wc_REY-nQd_9vOgp4OiS0OMHwpoGhJnRW1jZpquLOxe6ssekGKVH-_wWzelcoBV7Qd3QMDnXe4I3H0amW6FT43NvaK1GoY54PrcWN-ZyDm2CzXxQ7SOEORNMF-_7uWiHdlNknog6hhiQ-DhMV166LOWvQCB_5C_s0ANVG36QCKxc2v9H-fL0uP9DSVaRwQ8ZZ-VTxRRSlZJuFxU56WChfjx6iy2zLNwxKMQa1yyHKCnAH4j3etcMt20AsNcb22UEg_4ctTtJOB5qYuOMZUicOUIIL2Q3TFOHAOtSY6-4VtYzk2wpbzR9XWC10DvNejLQ2kyouVjGSgG1b_gVJw7vgzcyPDKB1oBOmhhXy0udylJWN3ShtinxilSf1Quc"; $Provincia="C"; $CP="1754"; $peso="1.5"; $paquetes="20x3x5"; $direccion_envio="22"; $ch = curl_init(); // definimos la URL a la que hacemos la petición curl_setopt($ch, CURLOPT_URL,"https://api.enviopack.com/cotizar/costo?access_token=".$Acces_Token); // definimos cada uno de los parámetros curl_setopt($ch, CURLOPT_POSTFIELDS, "provincia=".$Provincia."&codigo_postal=".$CP."&peso=".$peso."&paquetes=".$paquetes."&direccion_envio=".$direccion_envio); // recibimos la respuesta y la guardamos en una variable curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'GET'); $respuesta = curl_exec ($ch); // cerramos la sesión cURL curl_close ($ch); //mostramos TODOS CON LA LINEA SIGUIENTE print_r($respuesta).'<br>'; echo '<br>'.'<br>'; // CON ESTO TRAEMOS LOS DATOS QUE QUEREMOS //$getData = json_decode($respuesta,true); // CON ESTO TRAEMOS LOS DATOS QUE QUEREMOS ?>
Votos: 0 - Link respuesta -
Fecha: 04-09-2018 19:31:24 No muestra el error, pero ha de ser por como agregas los campos adickionales, prueba de esta manera a ver:
$Acces_Token="AQUI EL TOKEN"; $data = array("provincia" => "C","codigo_postal"=>"1754","peso"=>"1.5","paquetes"=>"20x3x5","direccion_envio"=>"22"); $ch = curl_init("https://api.enviopack.com/cotizar/costo?access_token=".$Acces_Token); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET"); curl_setopt($ch, CURLOPT_POSTFIELDS,http_build_query($data)); $respuesta = curl_exec($ch); curl_close($ch);
también puesdes configurarlo de esta manera:
$Acces_Token="Tu TOKEN"; $data = array("provincia" => "C","codigo_postal"=>"1754","peso"=>"1.5","paquetes"=>"20x3x5","direccion_envio"=>"22"); $ch = curl_init("https://api.enviopack.com/cotizar/costo?access_token=".$Acces_Token); $options = array( CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => array('accept: application/json'), CURLOPT_SSL_VERIFYPEER => false, CURLOPT_POSTFIELDS => http_build_query($data), CURLOPT_CUSTOMREQUEST => "GET" ); curl_setopt_array( $ch, $options ); $respuesta = curl_exec($ch); curl_close($ch); var_dump($respuesta);
Me da esta respuesta porque imagino no es un token válido:
string(104) "{"code":401,"message":"Acceso denegado. El access_token es inv\u00e1lido o esta vencido.","errors":null}"
prueba a ver como te va Votos: 0 - Link respuesta -
Fecha: 05-09-2018 01:20:34 Hola Carlos gracias por responder, con la primera opción da el mismo resultado [].
COn la segunda Opción da como resultado:
string(2) "[]" []
acces_Token =eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXUyJ9.eyJleHAiOjE1MzYxNTY3ODUsInVzZXJuYW1lIjoiNjQyMmZkNDFmMzI3ZjcyNGU4NTlkNTk0N2U0YTY5MzM0MzM4Njk5YiIsImlhdCI6IjE1MzYxNDIzODUifQ.AwA8FRmsSKy58SfKTeUdkLxpdg149Tlx8PlRt2jLq5eK989Uou_QHoWKW2PUQW6MseQNVOArVERKkKy5fqGBZWFf3o3er512RT4LNOc_LjffY27eafFalwedMAN5RXUJxgYaUbTUgFXEdM2alhIPY0h4MIJlDjYT7Y05ttMCQ7Vk3gYU0Ch7Fus7bkod2bdLmY7SgC6bXBiH02Mig0oVfBuMw-jJ6q2TOgW0ho3xIJfJkhS5Oy91HyXOa15qSXYefo9ns2Gd7IXzWbb6qe9fcuX00mcz_RVN23HAYP86Bc-sf0V9tkyeBToD9KB5zS7L7TP_h4d2mrtuMd0WX2RVgTj2PVtsBZp35d6UztF9FA3xFDz6lKwWBlJ3RcIUrXTiONzS4HVJlhNrpnTcmbmvB8n5TRxLUMDYxzvFzuHJtxetabrnfkrDzaOOKiNMvZJd-QGBhBMw8ERIpp8Jeo3_jB8TS-paU30JApXmxENXH48oabx0-tJPzEngBXYZhbs_3Hqw9jANuQTuutby7KFxCPUNMGFH3QlingbUiDPeG1kRCVm_CLzOZ9g8VqLwBaIek_jj1TrtnIx3BmKeJkaCflFoXyob08bT1qzC-qBiemix67F-huJYLD73W7YYz8XfP8dvo-8me11ysIr7yuBJ-J6q34dtsAdjplvCwjErx8Q
Este es el nuevo Acces Token solo que dura 4 horas. La verdad técnicamente no se lo que ocurre.
Saludos Votos: 0 - Link respuesta -
Fecha: 06-09-2018 14:54:21 Primero deberias probar con POSTMan a ver si todo funciona,
despues deberias hacer peticiones con algo como https://requests.ryanmccue.info/ por que algunos servers no aceptan peticiones curl desde PHP. Votos: 0 - Link respuesta -
Fecha: 07-09-2018 03:10:19 Me da que "técnicamente" lo que ocurre es que debes definir el método de envío, get o post, que es distinto de CURLOPT_CUSTOMREQUEST, y el token debe ir en la query string, no en la $url.
$ch = curl_init($url);
curl_setopt ($ch, CURLOPT_POST, 1); // Método POST
curl_setopt ($ch, CURLOPT_POSTFIELDS, 'variable1=valor1&...');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$respuesta = curl_exec ($ch);
Asimismo revisa que la query string esté bien construida, y sobretodo lo más básico: la documentación de esa API. Votos: 0 - Link respuesta
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
