Pular para o conteúdo
PHP

TotalExpress / Rastreamento de Encomendas

Atualizado em
Capa do artigo: TotalExpress / Rastreamento de Encomendas

Olá Gente!

Por vários dias busquei uma forma de rastrear o envio de um pedido enviado via TotalExpress, porem a API deles não me mostrava nada, e minhas buscas não me retornaram opções funcionais.

Conversando com a TotalExpress eles me deram a resolução, uma API especial para rastreamento.

Esta API requer que você tenha as credenciais de acesso a API deles (Usuário, Senha e Código da Empresa).

Segue exemplo de consulta do rastreamento:

<?
$curl 		                = curl_init();

curl_setopt_array($curl, array(
CURLOPT_URL 				=> "https://edi.totalexpress.com.br/previsao_entrega_atualizada.php",
CURLOPT_RETURNTRANSFER 		=> true,
CURLOPT_MAXREDIRS 			=> 10,
CURLOPT_TIMEOUT 			=> 30,
CURLOPT_SSL_VERIFYHOST 		=> false,
CURLOPT_SSL_VERIFYPEER 		=> false,
CURLOPT_USERPWD				=> "USUARIO:SENHA",
CURLOPT_CUSTOMREQUEST		=> "POST",
CURLOPT_POSTFIELDS 			=> json_encode(array("remetenteId" => "XXXXXXXX", "pedido" => "XXXXXXXX")),
CURLOPT_HTTPHEADER 			=> array(
                            "Content-Type: application/json"
                            ),
));

$response 	                = curl_exec($curl);
$response2                  = json_decode($response, true);
$httpcode	                = curl_getinfo($curl, CURLINFO_HTTP_CODE);

curl_close($curl);

if( $httpcode == 200 )
{
    
    $StatusMov                  = $response2["detalhes"]["statusDeEncomenda"];
    $StatusMov                  = array_reverse($StatusMov);
    $StatusMov                  = $StatusMov[0];

    echo "Ultima Movimentacao";
    echo "<br>";
    echo $StatusMov["status"];

    echo "<br>";
    echo "<br>";
    echo "<br>";
    echo "<br>";

    echo "Data";
    echo "<br>";
    echo $StatusMov["data"];

}
?>

Onde precisamos preencher:

  • Usuário e senha de acesso a API (Na autenticação básica)
  • remetenteId: O Código da Empresa
  • pedido: Código do pedido informado ao enviar o pedido para a TotalExpress

O retorno indica todas as movimentações, porem, podemos pegar a última movimentação no último elemento do array “detalhes/statusDeEncomenda”:

<? 
$StatusMov                  = $response2["detalhes"]["statusDeEncomenda"]; 
$StatusMov                  = array_reverse($StatusMov); 
$StatusMov                  = $StatusMov[0]; 
 
echo "Ultima Movimentacao"; 
echo "<br>"; 
echo $StatusMov["status"]; 
 
echo "<br>"; 
echo "<br>"; 
echo "<br>"; 
echo "<br>"; 
 
echo "Data"; 
echo "<br>"; 
echo $StatusMov["data"]; 
?>

Por hoje é isso, queridos desenvolvedores! 🚀

Até logo! 👋

PHP

Leia também