empty($errors) ? 'success' : 'error', 'message' => empty($errors) ? 'Configuración válida' : implode(', ', $errors), 'details' => empty($errors) ? 'Todos los tokens están configurados' : 'Completa la configuración en .env o config.php' ]; if (!empty($errors)) { return $results; // No continuar si la configuración es inválida } // Test 2: Probar conectividad básica try { $whatsappService = new WhatsAppService(); $results['connectivity'] = [ 'status' => 'success', 'message' => 'Servicio de WhatsApp inicializado correctamente', 'details' => 'La clase WhatsAppService está funcionando' ]; } catch (Exception $e) { $results['connectivity'] = [ 'status' => 'error', 'message' => 'Error inicializando servicio: ' . $e->getMessage(), 'details' => 'Verifica la configuración y conexión a base de datos' ]; return $results; } // Test 3: Verificar Phone Number ID try { $url = WHATSAPP_API_URL . WHATSAPP_PHONE_NUMBER_ID; $ch = curl_init(); curl_setopt_array($ch, [ CURLOPT_URL => $url, CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => [ 'Authorization: Bearer ' . WHATSAPP_TOKEN, 'Content-Type: application/json' ], CURLOPT_TIMEOUT => 10, CURLOPT_CONNECTTIMEOUT => 5 ]); $response = curl_exec($ch); $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); $error = curl_error($ch); curl_close($ch); if ($error) { $results['api_test'] = [ 'status' => 'error', 'message' => 'Error de conectividad: ' . $error, 'details' => 'Problema de red o configuración SSL' ]; } elseif ($httpCode === 200) { $results['api_test'] = [ 'status' => 'success', 'message' => 'API de WhatsApp respondió correctamente', 'details' => 'Token y Phone ID válidos' ]; } elseif ($httpCode === 401) { $results['api_test'] = [ 'status' => 'error', 'message' => 'Token de acceso inválido o expirado', 'details' => 'Genera un nuevo token en Facebook for Developers' ]; } elseif ($httpCode === 404) { $results['api_test'] = [ 'status' => 'error', 'message' => 'Phone Number ID no encontrado', 'details' => 'Verifica el Phone Number ID en la configuración' ]; } else { $results['api_test'] = [ 'status' => 'warning', 'message' => "Respuesta inesperada: HTTP $httpCode", 'details' => 'La API respondió pero con un código inusual' ]; } } catch (Exception $e) { $results['api_test'] = [ 'status' => 'error', 'message' => 'Error probando API: ' . $e->getMessage(), 'details' => 'Excepción durante la prueba de conectividad' ]; } return $results; } $testResults = testWhatsAppAPI(); ?> Test WhatsApp API - Bot Manager

Test de Conectividad WhatsApp API

Configuración Actual
Token:
Phone ID:
Webhook Token:
API URL:
$test): ?> 'fa-check-circle text-success', 'error' => 'fa-times-circle text-danger', 'warning' => 'fa-exclamation-triangle text-warning' ][$test['status']]; $testTitles = [ 'config' => 'Validación de Configuración', 'connectivity' => 'Inicialización del Servicio', 'api_test' => 'Conectividad con WhatsApp API' ]; ?>

Próximos Pasos
¡Perfecto!

Tu configuración de WhatsApp está funcionando correctamente.

Ya puedes:

  • Configurar el webhook en Facebook for Developers
  • Empezar a recibir y enviar mensajes
  • Usar el panel de administración
Configuración Requerida

Necesitas completar la configuración antes de continuar:

  1. Obtén tu token de WhatsApp Business API desde Facebook for Developers
  2. Configura los valores en tu archivo .env o config.php
  3. Vuelve a ejecutar esta prueba

Recargar página para volver a probar