get_retry_stats(); $recent_retries = $retry_manager->get_recent_retries(20); $recent_logs = $this->get_recent_webhook_logs(20); ?>

SuperFrete Webhooks

Total (30 dias)

Pendentes

Completados

Falharam

Tentativas de Webhook (Últimas 20)

ID Pedido SuperFrete ID Evento Status Tentativas Próxima Tentativa Criado em
Nenhuma tentativa de webhook encontrada.
id); ?> order_id): ?> #order_id); ?> N/A superfrete_id); ?> event_type); ?> status)); ?> retry_count . '/' . $retry->max_retries); ?> next_retry_at && $retry->status === 'pending') { echo esc_html(date('d/m/Y H:i', strtotime($retry->next_retry_at))); } else { echo '-'; } ?> created_at))); ?>

Logs de Webhook (Últimos 20)

ID Webhook ID Pedido Evento Status HTTP Status Tempo (ms) Criado em
Nenhum log de webhook encontrado.
id); ?> webhook_id, 0, 8)); ?>... order_id): ?> #order_id); ?> N/A event_type); ?> status)); ?> http_status_code ?: '-'); ?> processing_time_ms ?: '-'); ?> created_at))); ?>
prefix . 'superfrete_webhook_logs'; return $wpdb->get_results($wpdb->prepare( "SELECT * FROM $table_name ORDER BY created_at DESC LIMIT %d", $limit )); } /** * Handle manual retry processing */ public function handle_manual_retry() { // Verify nonce if (!wp_verify_nonce($_POST['nonce'], 'superfrete_webhook_admin_nonce')) { wp_die('Security check failed'); } // Check permissions if (!current_user_can('manage_woocommerce')) { wp_die('Insufficient permissions'); } try { $retry_manager = new WebhookRetryManager(); $retry_manager->manual_process_retries(); wp_send_json_success('Tentativas processadas manualmente.'); } catch (Exception $e) { wp_send_json_error('Erro: ' . $e->getMessage()); } } /** * Handle clearing old logs */ public function handle_clear_logs() { // Verify nonce if (!wp_verify_nonce($_POST['nonce'], 'superfrete_webhook_admin_nonce')) { wp_die('Security check failed'); } // Check permissions if (!current_user_can('manage_woocommerce')) { wp_die('Insufficient permissions'); } try { global $wpdb; $logs_table = $wpdb->prefix . 'superfrete_webhook_logs'; $retries_table = $wpdb->prefix . 'superfrete_webhook_retries'; // Delete logs older than 7 days $deleted_logs = $wpdb->query($wpdb->prepare( "DELETE FROM $logs_table WHERE created_at < DATE_SUB(NOW(), INTERVAL 7 DAY)" )); // Delete completed retries older than 7 days $deleted_retries = $wpdb->query($wpdb->prepare( "DELETE FROM $retries_table WHERE status IN ('completed', 'failed') AND updated_at < DATE_SUB(NOW(), INTERVAL 7 DAY)" )); Logger::log('SuperFrete', "Manual cleanup: {$deleted_logs} logs and {$deleted_retries} retries deleted"); wp_send_json_success("Logs limpos: {$deleted_logs} logs e {$deleted_retries} tentativas removidos."); } catch (Exception $e) { wp_send_json_error('Erro: ' . $e->getMessage()); } } }