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! 👋
Leia também
API Mágica: notificações Web Push no navegador com PHP
Web Push com a API Mágica em PHP puro: o navegador se inscreve, o seu site envia a notificação e a API conta o clique. Sem Composer e sem biblioteca.
IndexNow: avisando o Bing e o Yandex mais rápido
Como criar a chave do IndexNow e avisar Bing e Yandex das suas páginas novas com Node.js e PHP: as requisições, os erros reais e as armadilhas.
llms.txt: por que importa e como gerar em PHP
Por que o llms.txt importa para quem quer ser citado pela IA, e como gerar o seu em PHP puro lendo o sitemap.xml que voce ja tem.