O Correios Updater expõe algumas funções e classes utilitárias pra usar dentro de actions, filtros, ou código custom da sua loja.
get_correios_updater_settings()
Retorna um array com todas as configurações do plugin, já com defaults aplicados.
Localização: includes/core-functions.php
$settings = get_correios_updater_settings();
echo $settings['cws_login'];
echo $settings['status_after_delivery'];
echo $settings['enable_log']; // 'yes' ou ''
Chaves disponíveis
[
'status_to_check' => '',
'status_after_add_tracking' => '',
'status_after_delivery' => '',
'status_waiting_pickup' => '',
'status_not_delivered' => '',
'status_delivery_route' => '',
'cws_login' => '',
'cws_password' => '',
'post_card' => '',
'enable_log' => '',
'code_test' => '',
'any_shipping_notify' => 'no',
'infixs_correios' => 'no',
]
Em vez de modificar diretamente o resultado, considere usar o filtro wc_correios_status_updater_settings (veja Filtros disponíveis) — assim o valor permanece consistente em todo o plugin.
correios_updater_get_order_tracking_codes( $order, $settings = false )
Retorna o array final de códigos de rastreio pra um pedido. Aplica todas as fontes habilitadas (WC Correios, Any Shipping, Infixs, filtros custom) e normaliza pra uppercase.
Localização: includes/core-functions.php
Parâmetros:
$order—WC_Orderou ID do pedido.$settings— opcional, array de settings. Sefalse, usa o resultado deget_correios_updater_settings().
Retorna: array de strings.
$order = wc_get_order( 123 );
$codes = correios_updater_get_order_tracking_codes( $order );
// ['AA123456789BR', 'BB987654321BR']
Quando usar
- Debugar se um código está sendo lido como esperado.
- Em código custom que precisa saber quais códigos serão consultados.
- Em integrações externas (ex: enviar pra um sistema de SAC).
Trait Logger
Permite que classes do seu código custom escrevam nos logs do WooCommerce usando a mesma fonte (correios-updater) que o plugin usa.
Localização: src/Traits/Logger.php
use WC_Correios_Updater\Traits\Logger;
class Minha_Integracao {
use Logger;
public function processar( $order_id ) {
$this->set_logger_source( 'correios-updater' );
$this->log( 'Iniciando processamento do pedido ' . $order_id );
try {
// ... lógica
$this->log( 'OK', 'info' );
} catch ( \Exception $e ) {
$this->log( 'Erro: ' . $e->getMessage(), 'error' );
}
}
}
Métodos
set_logger_source( $source, $critical_only = false )— define a fonte (corresponde ao nome do arquivo de log no WooCommerce). Se$critical_onlyfortrue, só registra mensagens com nívelerrorou superior.get_logger_source()— retorna a fonte atual.log( $message, $level = 'info' )— registra uma mensagem.
Níveis aceitos
emergency, alert, critical, error, warning, notice, info (padrão), debug.
Os logs aparecem em WooCommerce → Status → Logs, fonte correios-updater.
Verificar se o plugin está ativo no seu código
if ( function_exists( 'get_correios_updater_settings' ) ) {
// Plugin ativo
}
Use isso em integrações que devem se comportar diferente quando o plugin está presente vs ausente.