funcional
This commit is contained in:
@@ -0,0 +1,82 @@
|
||||
<?php
|
||||
/**
|
||||
* API para obtener estadísticas de conversación de un usuario
|
||||
* Versión: 1.0
|
||||
*/
|
||||
|
||||
header('Content-Type: application/json');
|
||||
header('Access-Control-Allow-Origin: *');
|
||||
header('Access-Control-Allow-Methods: GET, POST, OPTIONS');
|
||||
header('Access-Control-Allow-Headers: Content-Type, Authorization');
|
||||
|
||||
// Manejar preflight requests
|
||||
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
|
||||
exit(0);
|
||||
}
|
||||
|
||||
try {
|
||||
// Obtener parámetros
|
||||
$user_id = isset($_GET['user_id']) ? intval($_GET['user_id']) : 0;
|
||||
$debug = isset($_GET['debug']) && $_GET['debug'] === 'true';
|
||||
|
||||
if ($debug) {
|
||||
error_log("=== GET CONVERSATION STATS DEBUG ===");
|
||||
error_log("User ID: " . $user_id);
|
||||
}
|
||||
|
||||
// Validar parámetros
|
||||
if ($user_id <= 0) {
|
||||
throw new Exception('ID de usuario inválido');
|
||||
}
|
||||
|
||||
// Por ahora, simular estadísticas
|
||||
// En el futuro, esto consultaría la base de datos real
|
||||
$stats = [
|
||||
'user_id' => $user_id,
|
||||
'total_messages' => rand(10, 100),
|
||||
'messages_today' => rand(0, 15),
|
||||
'messages_this_week' => rand(5, 50),
|
||||
'messages_this_month' => rand(20, 80),
|
||||
'first_message_date' => date('Y-m-d H:i:s', strtotime('-' . rand(1, 30) . ' days')),
|
||||
'last_message_date' => date('Y-m-d H:i:s', strtotime('-' . rand(1, 24) . ' hours')),
|
||||
'avg_response_time' => rand(5, 120) . ' minutos',
|
||||
'most_active_hour' => rand(9, 18) . ':00',
|
||||
'conversation_status' => 'active',
|
||||
'tags' => ['cliente', 'activo'],
|
||||
'notes' => 'Usuario activo con buena interacción'
|
||||
];
|
||||
|
||||
if ($debug) {
|
||||
error_log("Estadísticas simuladas: " . json_encode($stats));
|
||||
}
|
||||
|
||||
// Respuesta exitosa
|
||||
$response = [
|
||||
'success' => true,
|
||||
'data' => $stats,
|
||||
'message' => 'Estadísticas obtenidas correctamente',
|
||||
'debug' => $debug ? [
|
||||
'timestamp' => date('Y-m-d H:i:s'),
|
||||
'user_id' => $user_id,
|
||||
'simulated' => true
|
||||
] : null
|
||||
];
|
||||
|
||||
echo json_encode($response, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
|
||||
|
||||
} catch (Exception $e) {
|
||||
$error_response = [
|
||||
'success' => false,
|
||||
'error' => $e->getMessage(),
|
||||
'debug' => $debug ? [
|
||||
'timestamp' => date('Y-m-d H:i:s'),
|
||||
'file' => __FILE__,
|
||||
'line' => $e->getLine(),
|
||||
'trace' => $e->getTraceAsString()
|
||||
] : null
|
||||
];
|
||||
|
||||
http_response_code(500);
|
||||
echo json_encode($error_response, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT);
|
||||
}
|
||||
?>
|
||||
Reference in New Issue
Block a user