• 0
Lenharo

Incluir Rastreio (Tracking Number) em Order

Question

Olá pessoal.

 

Tentei de várias formas incluir o rastreio em uma compra (NÃO UTILIZO MERCADO ENVIO), mas todas as vezes aparece a mensagem abaixo:

Array ( [statusCode] => 401 [body] => {"message":"Unauthorized receiver_id for order_id: xxxxxxx","error":"invalid_user_id_for_order","status":401,"cause":null} [headers] => Array ( [Status-Code] => 401 [Date] => Fri, 03 Oct 2014 08 [Content-Type] => application/json;charset=UTF-8 [Transfer-Encoding] => chunked [Connection] => keep-alive [X-MLAPI-Version] => 2.0.34 [Vary] => Accept,Accept-Encoding [Cache-Control] => max-age=0 [X-Libra-UpstreamHost] => xxxxxx [X-GAV] => master [X-Nginx-Host] => e-000071fd [X-Nginx-Pool] => shipping-api-primary-write-master [X-Nginx-UpstreamHost] => xxxxxx [X-Request-Id] => 4bd6b92f-7e6c-4265-a5f1-fb1a5ea16ed6 [Access-Control-Allow-Origin] => * [Access-Control-Allow-Headers] => Content-Type [Access-Control-Allow-Methods] => PUT, GET, POST, DELETE, OPTIONS [Access-Control-Max-Age] => 86400 ) [json] => Array ( [message] => Unauthorized receiver_id for order_id: xxxxx [error] => invalid_user_id_for_order [status] => 401 [cause] => ) )

Estou utilizando o código abaixo para tentar incluir:

        $response2 = $meli -> postWithAccessToken('/orders/'.$ID_COMPRA.'/shipments', 
array('user_id' => $ID_USUARIO, 'status' => 'shipped', "tracking_number" => $rastreio, "tracking_method" => "Correios",
receiver_id" => $ID_USUARIO, 'seller' => $_nosso_codigo));

Desde já agradeço a todos.

 

Lenharo

Share this post


Link to post
Share on other sites

9 answers to this question

Recommended Posts

  • 0

Oi Lenharo, boa tarde.

 

Nâo está permitido incluir o tracking number se você nâo usa MercadoEnvíos, por isso não são referidos outros casos na documentação.

Share this post


Link to post
Share on other sites
  • 0

A indicação é que está faltando o userid (seller_id), você inseriu o receiver_id

Está usando a versão antiga do SDK-MELI, se não me engano esta versão já deveria estar sem condições de uso.

Share this post


Link to post
Share on other sites
  • 0

Boa tarde.

 

Obrigado pela resposta.

 

Mas tentei também incluir o seller_id e continua o mesmo erro.

 

Por gentileza, qual seria a forma correta de se fazer no SDK atual ?

 

Desde já agradeço a todos.

 

Lenharo

Share this post


Link to post
Share on other sites
  • 0

Boa tarde.

 

Realmente há discussão, mas todas sem resposta para este tipo de caso.

 

Na documentação da API as informações são pobres e incompletas, e creio que o pessoal responsável também não faz muita força para melhorar.

 

Infelizmente não há ajuda para ninguém como acontecia no fórum antigo.

Share this post


Link to post
Share on other sites
  • 0

Solari,

 

isto é sem pé nem cabeça, pois quem usa o ME2 não precisa inserir o tracking number. Isto já deveria ter sido disponibilizado há muito tempo para os que não usam o ME.

 

Até mais

Share this post


Link to post
Share on other sites
  • 0

Estou enfrentando o mesmo problema citado nesse tópico, sou usuário ME2, porém não utilizo mercado envios em todos anúncios, quando a venda tem o shipping id, sem problemas, consigo fazer o put conforme orientado na documentação:

Modifies shipment data.
PUT:/shipments/:id

Agora quando a venda está com o Shipping -> status = to_be_agreed, não tem o shipping ID, então a documentação cita para fazer um post para criar o shippiment para uma venda.

Creates a shipment for a given order.
POST:/orders/:id/shipments

Porém tenho o mesmo retorno:

[message] => Unauthorized receiver_id for order_id: xxxxxxxx
            [error] => invalid_user_id_for_order
            [status] => 401
            [cause] => 

Já coloquei os dados conforme abaixo e sempre o mesmo erro, o ID do receiver id estão corretos, fiz da seguinte forma:

$params = array('access_token' => $access_token);
  $body = array(
  'order_id' => 'ORDER ID',
  'sender_id' => 'SENDER ID',*/
  'receiver_id' => 'RECEIVER ID',
  'tracking_number' => 'CÓDIGO RASTREAMENTO',
  'status' => 'shipped',
  'tracking_method' => 'TIPO E ENVIO'
 
  );
	$informar_rastreamento = $meli->post('/orders/ORDER ID/shipments', $body, $params);
	

Sei que é possível fazer tal operação, pois tenho uma aplicação de terceiros paga no qual ela faz sem problemas para o meu usuário, outras que tive o mesmo problema ao fazer com a outra aplicação tive sucesso.

 

Agora qual o caminho correto?....essa é a dúvida.

Share this post


Link to post
Share on other sites
  • 0

Olá rfln, você está fazendo o put com o access_token do usuario vendedor?

Você pode me mostrar o Json e order_id, por favor?

 

Olá Fsolari, na realidade estou tentando efetuar um POST, conforme foi o que compreendi pela documentação, pois como está com a opção Shipping -> status = to_be_agreed, ele não tem um shipping_id válido para eu poder efetuar o PUT.

Creates a shipment for a given order.
POST:/orders/:id/shipments

Sim, estou utilizando um token válido do próprio usuário vendedor, como estou usando o php sdk meu código está assim:

$params = array('access_token' => $access_token);
  $body = array(
  'order_id' => '911710745',
  'receiver_id' => 'xxxx ID DO COMPRADOR',
  'sender_id' => 'xxx ID DO VENDEDOR',
  'tracking_number' => 'DGxxxxxxxxxBR',
  'status' => 'shipped',
  'tracking_method' => 'Sedex'
 
  );
	$informar_rastreamento = $meli->post('/orders/911710745/shipments', $body, $params);
	echo '<pre>';
	print_r($informar_rastreamento);
	echo '</pre>';

Recebo a seguinte resposta:

Array
(
    [body] => stdClass Object
        (
            [message] => Unauthorized receiver_id for order_id: 911710745
            [error] => invalid_user_id_for_order
            [status] => 401
            [cause] => 
        )

    [httpCode] => 401
)

Quando o order tem shipping_id, consigo adicionar as informações sem problemas com o put: 

Modifies shipment data.
PUT:/shipments/:id

Obrigado pela atenção!!

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