Activar Disponibilidad
Exportar contenido
Marca al agente como disponible para recibir chats entrantes.
- En la barra superior del chat, cambia el estado a “Disponible”
- El sistema comenzará a asignar chats automáticamente
Detalles técnicos — Activar disponibilidad
Arquitectura de tiempo real
Sección titulada «Arquitectura de tiempo real»// Servidor: Supabase Realtime channelsconst chatChannel = supabase.channel(`chat:${sessionId}`) .on('broadcast', { event: 'message' }, (payload) => { appendMessage(payload.message); }) .subscribe();
// Enviar mensajeasync function sendMessage(sessionId: string, content: string) { await supabase.channel(`chat:${sessionId}`) .send({ type: 'broadcast', event: 'message', payload: { id: crypto.randomUUID(), content, sender_id: currentUser.id, sender_name: currentUser.name, timestamp: new Date().toISOString(), } });
// Persistir en DB await supabase.from('chat_messages').insert({ session_id: sessionId, sender_id: currentUser.id, content, type: 'text', });}Asignación automática de agentes
Sección titulada «Asignación automática de agentes»-- Función para asignar el agente con menos chats activosCREATE OR REPLACE FUNCTION assign_chat_agent(p_team_id UUID)RETURNS UUID AS $$ SELECT user_id FROM support_agent_status WHERE team_id = p_team_id AND status = 'available' ORDER BY active_chats ASC, last_assigned_at ASC LIMIT 1;$$ LANGUAGE sql;