Atualizado em: 23 de Abril de 2026
Guia rápido para programadores que desejam usar este plugin como base em seus projetos.
Aviso importante
Este plugin pode mudar funcionalidades sem aviso prévio para acompanhar atualizações do WooCommerce.
Toda customização é de responsabilidade do desenvolvedor. Não edite os arquivos originais do plugin. Faça suas alterações em código externo:
Este plugin adiciona rastreio de pedidos ao WooCommerce em duas frentes principais: uma interface administrativa dentro do pedido para cadastrar transportadora e código de rastreio, e uma interface pública de consulta via shortcode no frontend.
A integração confirmada no código é centrada em WooCommerce, metadados de pedido, um shortcode público e um endpoint AJAX público usado pela consulta de rastreio. Também existe suporte a múltiplos rastreios por pedido, o que permite cenário de entrega dividida.
Para desenvolvedores, o uso mais seguro do plugin é integrar com a estrutura atual de metadados do pedido, reaproveitar o shortcode público quando possível e, quando necessário, consumir o endpoint AJAX já existente para montar experiências próprias no frontend.
Requisitos confirmados no plugin:
O fluxo confirmado no plugin é este:
1. O plugin carrega um bootstrap próprio em plugins_loaded.
2. No admin:
3. No frontend:
Pontos públicos confirmados para integração:
Limites entre público e interno:
wootatitas_rp_bootstrap
Tipo: Action
Quando é executado: Em plugins_loaded, prioridade 5, no bootstrap mínimo do plugin.
Parâmetros: Nenhum
Retorno: Não se aplica
Exemplo de uso:
add_action( ‘wootatitas_rp_bootstrap’, function () {
if ( shortcode_exists( ‘rastreio_de_pedidos’ ) ) {
// Seu código complementar aqui.
}
} );
[rastreio_de_pedidos]
Finalidade: Exibir o formulário público de consulta de rastreio.
Como usar: Insira o shortcode em uma página, post ou bloco de shortcode. O plugin renderiza o formulário e, quando o usuário envia os dados, consulta o pedido via AJAX.
Parâmetros: Nenhum
Retorno: HTML do formulário de rastreio, com integração ao JS do plugin
Exemplo de uso:
echo do_shortcode( ‘[rastreio_de_pedidos]’ );
get_order_status
Tipo: AJAX
Finalidade: Consultar o status do pedido e os rastreios vinculados a ele no frontend.
Método: POST
Parâmetros aceito:
Resposta esperada:
Autenticação necessária:
Exemplo de requisição:
jQuery.ajax({
url: WootatitasData.ajaxurl,
type: ‘POST’,
dataType: ‘json’,
data: {
action: ‘get_order_status’,
order_id: 1234,
phone_last_4: ‘7890’,
nonce: WootatitasData.nonce
}
});
Exemplo de resposta:
{
“success”: true,
“data”: {
“order_status”: “Processando”,
“status_title”: “Será entregue para:”,
“address_html”: “Rua Exemplo, 123
Bairro Exemplo
São Paulo – SP”,
“items”: [
{
“transportadora”: “Correios”,
“rastreio”: “AB123456789BR”
},
{
“transportadora”: “Jadlog”,
“rastreio”: “987654321”
}
]
}
}
7.1. Shortcode público
| Item | Valor |
|---|---|
| Shortcode | [rastreio_de_pedidos] |
| Finalidade | consulta pública de rastreio |
| Dependência | WooCommerce + licença válida |
7.2. Objeto JS localizado no frontend
Quando o shortcode está presente, o plugin localiza o objeto global WootatitasData:
| Chave | Tipo | Descrição |
|---|---|---|
ajaxurl | string | URL de admin-ajax.php |
error_message | string | mensagem genérica de erro |
nonce | string | nonce para a action AJAX pública |
7.3. Metadado principal do pedido
array(
‘Correios’ => array(
‘AB123456789BR’,
‘CD987654321BR’,
),
‘Jadlog’ => array(
‘987654321’,
),
)
| Meta key | Tipo | Uso |
|---|---|---|
_rastreio_info | array | estrutura principal de rastreios por transportadora |
Observação importante: a UI do admin normaliza formatos antigos apenas para exibição. Para integrações novas, grave o formato atual acima.
7.4 Metadados legados usados em recuperação
A tela de configurações possui uma rotina de recuperação baseada em dados antigos ou incompletos. Os seguintes metas são lidos nessa rotina:
| Meta key | Uso |
|---|---|
_transportadora_responsavel | dado legado de transportadora |
_numero_rastreio | dado legado de rastreio |
Esses dois campos não são a estrutura principal atual do plugin.
7.5 Option de transportadoras habilitadas
O plugin salva as transportadoras em uma única option:
| Option name | Tipo | Uso |
|---|---|---|
wootatitas_transportadoras_options | array | flags de transportadoras habilitadas |
Chaves confirmadas nessa option:
| Chave | Tipo |
|---|---|
azulcargo_enabled | int |
buslog_enabled | int |
correios_enabled | int |
dhl_enabled | int |
jadlog_enabled | int |
jtexpress_enabled | int |
latamcargo_enabled | int |
loggi_enabled | int |
transmariano_enabled | int |
totalexpress_enabled | int |
uber_enabled | int |
| Slug interno | Nome exibido |
|---|---|
azulcargo | Azul Cargo |
buslog | Buslog |
correios | Correios |
dhl | DHL |
jadlog | Jadlog |
jtexpress | J&T Express |
latamcargo | Latam Cargo |
loggi | Loggi |
transmariano | Transmariano |
totalexpress | Total Express |
uber | Uber |
Quando o rastreio é salvo pela tela administrativa do pedido, o plugin:
Exemplo 1: renderizar o formulário de rastreio em template PHP
if ( shortcode_exists( ‘rastreio_de_pedidos’ ) ) {
echo do_shortcode( ‘[rastreio_de_pedidos]’ );
}
Exemplo 2: consultar o rastreio em uma interface JS própria
jQuery.ajax({
url: WootatitasData.ajaxurl,
type: ‘POST’,
dataType: ‘json’,
data: {
action: ‘get_order_status’,
order_id: 1234,
phone_last_4: ‘7890’,
nonce: WootatitasData.nonce
}
}).done(function(response) {
if (!response.success) {
console.warn(response.data);
return;
}
console.log(response.data.items);
});
Exemplo 3: gravar rastreio programaticamente no formato atual
$order_id = 1234;
$rastreio_info = array(
‘Correios’ => array(
‘AB123456789BR’,
),
‘Jadlog’ => array(
‘987654321’,
),
);
update_post_meta( $order_id, ‘_rastreio_info’, $rastreio_info );
Exemplo 4: ler os rastreios já salvos em um pedido
$order_id = 1234;
$rastreio_info = get_post_meta( $order_id, ‘_rastreio_info’, true );
if ( is_array( $rastreio_info ) ) {
foreach ( $rastreio_info as $transportadora => $codigos ) {
foreach ( (array) $codigos as $codigo ) {
echo esc_html( $transportadora . ‘: ‘ . $codigo ) . ‘
‘;
}
}
}
Exemplo 5: habilitar transportadoras por código
update_option(
‘wootatitas_transportadoras_options’,
array(
‘correios_enabled’ => 1,
‘jadlog_enabled’ => 1,
‘loggi_enabled’ => 1,
‘azulcargo_enabled’ => 0,
‘buslog_enabled’ => 0,
‘dhl_enabled’ => 0,
‘jtexpress_enabled’ => 0,
‘latamcargo_enabled’ => 0,
‘transmariano_enabled’ => 0,
‘totalexpress_enabled’ => 0,
‘uber_enabled’ => 0,
)
);
O plugin permite integrar:
Até o momento, não foram identificados no código:
O RP expõe uma superfície de integração enxuta e objetiva: shortcode público, AJAX público de consulta, uma option de transportadoras e um metadado principal no pedido.
O nível de extensibilidade é suficiente para integrar páginas de rastreio, frontends personalizados e automações que gravem rastreio diretamente no pedido, mas não há uma API pública ampla em REST, webhook ou helpers dedicados para escrita.
Os principais cuidados são: usar _rastreio_info no formato atual, tratar corretamente a consulta AJAX, não depender dos campos legados como estrutura principal e evitar integração com partes internas que não foram feitas para consumo externo.
Gostou do que viu? Compre o nosso plugin:
Comercializamos plugins na esperança de que seja útil, porém, é importante observar que ele é fornecido SEM NENHUMA GARANTIA inclusive sem a garantia implícita de ADEQUAÇÃO A UM DETERMINADO FIM.
Estamos sempre prontos para aprimorar nosso plugin e personalizá-lo de acordo com suas necessidades específicas. Não hesite em nos contatar a qualquer momento, estamos aqui para ajudá-lo.
Seus dados estão protegidos conosco.
Leia nossa Proteção de Dados.
© 2026 | Feito com ♥
39.840.429/0001-22