false, 'error' => 'Sesión no iniciada']); exit; } $pedido_id = trim((string) ($_POST['pedido_id'] ?? '')); $resultado = trim((string) ($_POST['resultado'] ?? 'Llamada iniciada')); $observacion = trim((string) ($_POST['observacion'] ?? '')); $asesor_id = (int) $_SESSION['user_id']; if ($pedido_id === '') { echo json_encode(['success' => false, 'error' => 'ID de pedido faltante']); exit; } if ($resultado === '') { $resultado = 'Llamada iniciada'; } try { $pdo = db(); cc_test_ensure_historial_llamadas_table($pdo); $stmt = $pdo->prepare('INSERT INTO historial_llamadas (pedido_id, asesor_id, resultado, observacion) VALUES (?, ?, ?, ?)'); $stmt->execute([$pedido_id, $asesor_id, $resultado, $observacion !== '' ? $observacion : null]); $countStmt = $pdo->prepare('SELECT COUNT(*) FROM historial_llamadas WHERE pedido_id = ?'); $countStmt->execute([$pedido_id]); $totalLlamadas = (int) $countStmt->fetchColumn(); echo json_encode(['success' => true, 'total_llamadas' => $totalLlamadas]); } catch (Throwable $e) { error_log('save_llamada.php: ' . $e->getMessage()); echo json_encode(['success' => false, 'error' => 'No se pudo registrar la llamada']); }