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(); ?>
| Token: | = WHATSAPP_TOKEN !== 'TU_TOKEN_DE_WHATSAPP_AQUI' ? '***CONFIGURADO***' : 'NO CONFIGURADO' ?> |
| Phone ID: | = WHATSAPP_PHONE_NUMBER_ID !== 'TU_PHONE_ID_AQUI' ? WHATSAPP_PHONE_NUMBER_ID : 'NO CONFIGURADO' ?> |
| Webhook Token: | = WEBHOOK_VERIFY_TOKEN ?> |
| API URL: | = WHATSAPP_API_URL ?> |
= $test['message'] ?>
= $test['details'] ?>Tu configuración de WhatsApp está funcionando correctamente.
Ya puedes:
Necesitas completar la configuración antes de continuar:
.env o config.php