O WC JadLog adiciona o campo jadlog_tracking_code ao endpoint padrão de pedidos do WooCommerce. Não há rotas próprias do plugin — você usa a REST API do WooCommerce com autenticação normal.
Autenticação
A autenticação é a padrão do WooCommerce: gere um par de chaves em WooCommerce → Configurações → Avançado → API REST e use Basic Auth ou query string ?consumer_key=...&consumer_secret=....
Ler um código de rastreio
GET /wp-json/wc/v3/orders/123
Resposta (campos relevantes):
{
"id": 123,
"status": "processing",
"jadlog_tracking_code": "12345678901234",
...
}
Se o pedido não tem código gravado, o campo vem vazio ("").
Definir ou atualizar
PUT /wp-json/wc/v3/orders/123
Content-Type: application/json
{
"jadlog_tracking_code": "12345678901234"
}
Setar o campo via API tem o mesmo efeito que adicionar manualmente pelo metabox:
- Dispara o e-mail "código de rastreio" pro cliente.
- Aplica Status após informar rastreio, se configurado.
- Registra uma nota interna no pedido.
- Inclui o pedido no cron de verificação de status.
Múltiplos códigos no mesmo pedido
Se o pedido tem mais de um pacote, separe os códigos por vírgula numa string só:
{
"jadlog_tracking_code": "12345678901234,98765432109876"
}
O plugin trata cada código independentemente. O pedido só vai para Status após entrega realizada quando todos forem reportados como entregues pela JadLog.
Remover um código
Mande o campo como string vazia:
PUT /wp-json/wc/v3/orders/123
Content-Type: application/json
{
"jadlog_tracking_code": ""
}
Exemplos
cURL
curl -u ck_xxx:cs_xxx \
-X PUT https://sua-loja.com/wp-json/wc/v3/orders/123 \
-H "Content-Type: application/json" \
-d '{"jadlog_tracking_code":"12345678901234"}'
PHP (cliente HTTP)
wp_remote_request( 'https://sua-loja.com/wp-json/wc/v3/orders/123', array(
'method' => 'PUT',
'headers' => array(
'Authorization' => 'Basic ' . base64_encode( 'ck_xxx:cs_xxx' ),
'Content-Type' => 'application/json',
),
'body' => wp_json_encode( array(
'jadlog_tracking_code' => '12345678901234',
) ),
) );
PHP (mesmo site, sem HTTP)
Se você está rodando dentro do mesmo WordPress, prefira a função utilitária:
wc_jadlog_update_tracking_code( 123, '12345678901234' );
Mais detalhes em funções utilitárias.
Casos de uso
- Integração com ERP: ao gerar etiqueta no ERP, faça PUT no pedido WooCommerce com o código retornado.
- Webhook reverso: quando seu sistema recebe um update de status da JadLog por outro canal, atualize o pedido via REST.
- Migração: ao importar pedidos antigos com códigos de rastreio existentes, popule o campo em massa via API.
Cada PUT dispara e-mail ao cliente. Em migração de muitos pedidos, considere desabilitar temporariamente os e-mails de rastreio em WooCommerce → Configurações → E-mails para evitar uma enxurrada de notificações.