Gestión de usuarios: visión general
En GPTBots, los «usuarios» son los usuarios finales que inician conversaciones con agentes/recorridos (workflow). GPTBots permite a los desarrolladores asignar IDs de identidad únicos a diferentes usuarios. A través de este ID de usuario (user_id), las identidades de usuario se pueden vincular en diferentes canales, lo que permite la consolidación de identidad entre canales, consultas empresariales mediante herramientas (Tools) y la gestión de atributos de usuario e historiales de chat.
La información del CDP (Customer Data Platform) del usuario se almacena en cada agente/recorrido (workflow), y los datos se mantienen aislados para el mismo usuario entre diferentes agentes/recorridos (workflow).
Diagrama del sistema de usuarios
flowchart LR
subgraph Col1["Source Platform"]
LC["Livechat"]
IC["Intercom"]
WG[" Widget "]
TG["Telegram"]
end
subgraph Col2_5["Source Platform Sub-Channel"]
tgb01["TGBOT01"]
tgb02["TGBOT02"]
end
subgraph Col2["Anonymous ID"]
a1["lc0001"]
a2["ic0001"]
a3["wg0001"]
tga1["tb0001"]
tga2["tg0001"]
end
subgraph Col3["UserId"]
U1["ABC123"]
U2["ABC456"]
end
subgraph Col4["ConversationId"]
c1["c001"]
c2["c002"]
c3["c003"]
c4["c004"]
c5["c005"]
end
subgraph Col5["Agent/Workflow"]
Bot["Agent
Workflow"]
end
LC -- Generate Anonymous ID --> a1
IC -- Generate Anonymous ID --> a2
WG -- Generate Anonymous ID --> a3
TG -- User from sub-channel --> tgb01 & tgb02
tgb01 -- Generate Anonymous ID --> tga1
tgb02 -- Generate Anonymous ID --> tga2
a1 -- Set user_id --> U1
a2 -- Set user_id --> U1
a3 -- Set user_id --> U2
tga1 -- Set user_id --> U2
tga2 -- Set user_id --> U2
U1 -- Generate new conversation ID --> c1
U1 -- Generate new conversation ID --> c2
U2 -- Generate new conversation ID --> c3
U2 -- Use existing conversation ID --> c4
c4 -- If expired (>60 minutes)
Generate new conversation ID --> c5
c1 --> Bot
c2 --> Bot
c3 --> Bot
c4 --> Bot
c5 --> Bot
LC:::redStyle
IC:::blueStyle
WG:::greenStyle
TG:::purpleStyle
tgb01:::purpleStyle
tgb02:::purpleStyle
a1:::redStyle
a2:::blueStyle
a3:::greenStyle
tga1:::purpleStyle
tga2:::purpleStyle
U1:::userGray
U2:::userGray
c1:::redStyle
c2:::blueStyle
c3:::greenStyle
c4:::purpleStyle
c5:::purpleStyle
classDef userGray fill:#f5f5f5,stroke:#e6e6e6,color:#222
classDef redStyle fill:#ffd6d6,stroke:#ffbdbd,color:#222
classDef blueStyle fill:#dff0ff,stroke:#cfeaff,color:#222
classDef greenStyle fill:#ecffd9,stroke:#d5ffb3,color:#222
classDef purpleStyle fill:#f1e0ff,stroke:#e1c7ff,color:#222
style Col1 stroke:#757575
- El ID anónimo (
anonymous_id) se genera automáticamente mediante el servicio del sistema GPTBots en función de la plataforma de origen del usuario. - Configurar un
user_ides opcional. Los desarrolladores pueden decidir si se configura unuser_iden función de sus necesidades de negocio para habilitar la asociación de identidad de usuario y el uso compartido de atributos entre diferentes canales.
Definiciones
Usuario
Un usuario se refiere a un usuario final que participa en conversaciones con un agente o un recorrido (workflow).
ID de usuario (user_id)
Un identificador único asignado a los usuarios finales por los desarrolladores de la empresa. Mediante la interfaz de API, los desarrolladores pueden configurar un user_id para un anonymous_id. Para conocer escenarios de uso y aplicaciones avanzadas de UserId, consulte Configurar ID de usuario.
- El
user_idtiene prioridad sobre elanonymous_id - Varios valores de
anonymous_idse pueden asociar simultáneamente a un únicouser_id
ID anónimo (anonymous_id)
Cuando los usuarios interactúan con un agente a través de plataformas de terceros (como Telegram, WhatsApp, LINE, etc.), GPTBots utiliza el identificador único de usuario de dicha plataforma como anonymous_id. Para obtener detalles sobre la lógica de generación del ID anónimo, consulte Lógica de generación de ID anónimo.
Plataformas de terceros
La plataforma GPTBots actualmente admite la integración de agentes con numerosas plataformas de terceros, incluidas Intercom, webchat, LiveChat, Telegram, WhatsApp y más.
ID de conversación (conversation_id)
El ID de conversación (conversation_id) es un identificador único generado conjuntamente por el agente, el tipo de conversación y el user_id (o anonymous_id). Sirve como la unidad mínima para aislar diferentes escenarios de negocio (normalmente contiene varios ID de mensaje (message_id)).
- El
conversation_idcaduca automáticamente después de 60 minutos, salvo los generados a través del canal API, que no caducan. - Para plataformas de terceros y canales de widget, cuando un
conversation_idcaduca, se genera uno nuevo para iniciar una conversación nueva.
ID de mensaje (message_id)
El ID de mensaje (message_id) identifica un único intercambio de mensajes entre un agente y un usuario, y representa la unidad mínima de conversación.
- El
message_idlo genera la plataforma GPTBots y no puede ser personalizado por los desarrolladores. - El
message_idpertenece a unconversation_id; unconversation_idnormalmente contiene variosmessage_id.
Tipo de conversación
Tipo de conversación (conversation_type) identifica el contexto en el que un usuario inicia una conversación, como Workspace-Workflow, WhatsApp, API, Workspace-Search, etc.
Principio de generación del ID de conversación
Cuando los usuarios inician conversaciones con un agente a través de plataformas de terceros, el sistema genera un anonymous_id en función de la plataforma del usuario y crea automáticamente un conversation_id basado en este anonymous_id para agrupar una sesión de conversación entre el usuario y el agente.
- Al utilizar la API, primero se debe generar un
conversation_idantes de iniciar conversaciones con un agente/recorrido (workflow). - Para canales que no son de API, GPTBots genera automáticamente el
conversation_id.
Lógica de generación de ID anónimo
Los ID anónimos se utilizan para identificar de forma única a los usuarios en diversas plataformas y canales integrados. La siguiente tabla describe la lógica de generación de ID anónimos para cada plataforma:
| Plataforma/canal | Lógica del ID anónimo | Descripción |
|---|---|---|
| Teams | anonymous_id = teams_user_id | teams_user_id: Identificador único para los usuarios de la plataforma Teams |
| Teams Group Chat | anonymous_id = teams_channel_id + teams_user_id | Unido mediante un guion bajo (_); teams_channel_id suele terminar en @thread.tacv2 |
| Teams Channel | anonymous_id = teams_teams_id + teams_channel_id + teams_user_id | Unido mediante guiones bajos; tanto teams_teams_id como teams_channel_id suelen terminar en @thread.tacv2 |
| Telegram | anonymous_id = tg_user_id | tg_user_id: Identificador único para los usuarios de la plataforma Telegram |
| Telegram Group Chat (Passive Listening) | anonymous_id = tg_chat_id + tg_user_id | tg_chat_id: Identificador único para chats grupales de Telegram; tg_user_id: Identificador único para los usuarios de la plataforma Telegram |
| Telegram Group Chat (Active Listening) | anonymous_id = tg_chat_id | tg_chat_id: Identificador único para chats grupales de Telegram |
| LINE | anonymous_id = line_user_id | Identificador único para los usuarios de LINE |
| LiveChat | anonymous_id = lc_thread_id | Identificador único para los hilos de conversación de LiveChat |
| Slack | anonymous_id = slack_user_id | Identificador único para los usuarios de Slack |
| Slack Public Channel | anonymous_id = slack_team_id + slack_channel_id + slack_user_id | Combinación de los IDs de equipo, canal y usuario para una identificación única en canales públicos |
| Intercom | anonymous_id = intercom_user_id | Identificador único para los usuarios de Intercom |
| DingTalk | anonymous_id = dd_user_id | Identificador único para los usuarios de DingTalk |
| DingTalk Group Chat | anonymous_id = dd_chat_id + dd_senderId | Combinación del ID del chat grupal y el ID del remitente para una identificación única |
| WhatsApp by Meta | anonymous_id = wa_user_id | Identificador único para los usuarios de WhatsApp, normalmente basado en el número de teléfono (p. ej., sufijo @c.us) |
| WhatsApp by EngageLab | anonymous_id = wa_user_id | Igual que el anterior |
| Discord | anonymous_id = discord_user_id | Identificador numérico único para los usuarios de Discord |
| anonymous_id = instagram_user_id | Identificador único asignado a los remitentes de mensajes de Instagram | |
| anonymous_id = facebook_user_id | Identificador único asignado a los remitentes de mensajes de Facebook | |
| Sobot | anonymous_id = sobot_memberId | ID de usuario de Sobot |
| Sobot Group Chat @User | anonymous_id = sobot_guildId + sobot_channelId + sobot_memberId | Identificador único para interacciones de chat grupal de Sobot |
| Zoho Sales IQ | anonymous_id = zoho_sales_iq_conversationId | Identificador único para las conversaciones de Zoho Sales IQ |
| WeChat Customer Service | anonymous_id = wechat_customer_service_user_id | ID de usuario de WeChat Customer Service |
Lógica de ID anónimo para canales integrados de GPTBots
Para los canales integrados de GPTBots, los ID anónimos se generan en función de la huella del navegador:
| Canal | Lógica del ID anónimo | Descripción |
|---|---|---|
| API | No hay ID anónimo | Solo se utiliza user_id para generar IDs de conversación |
| Workspace | anonymous_id = browser fingerprint ID | ID aleatorio generado a partir de la huella del navegador; puede cambiar si se borra la caché o en modo incógnito |
| Share | anonymous_id = browser fingerprint ID | Igual que el anterior |
| Iframe | anonymous_id = browser fingerprint ID | Igual que el anterior |
| AI Search | anonymous_id = browser fingerprint ID | Igual que el anterior |
| AI Search (iframe) | anonymous_id = browser fingerprint ID | Igual que el anterior |
| Widget | anonymous_id = browser fingerprint ID | Igual que el anterior |
Cuando un usuario ha iniciado sesión en la plataforma GPTBots, su ID de cuenta de GPTBots se configura automáticamente como
user_idy se vincula alanonymous_id(ID de huella del navegador).
Tipos de conversación e IDs de origen
- Tipo de conversación (
conversation_type): Identifica el canal de integración a través del cual se inicia una conversación (p. ej., Workspace, API, Iframe, WhatsApp, LINE, etc.). Este campo permite filtrar datos de registros por tipo de canal. - ID de origen (
source_id): Identifica el subtipo del canal de integración (p. ej., distintos IDs de canal de LINE, distintos IDs de bot de Telegram). Este campo permite filtrar datos de registros por subcanal.
| Tipo de conversación | conversation_type | Descripción |
|---|---|---|
| Todo | ALL | Conversaciones de todos los canales integrados |
| Workspace - Search | C | Conversaciones de la búsqueda de Workspace |
| Workspace - Agent | CHAT | Conversaciones del agente de Workspace |
| Workspace - Workflow | C_WORKFLOW | Conversaciones del recorrido (workflow) de Workspace |
| Workspace - Apps | C_APPS | Conversaciones de las AI Apps de Workspace Market |
| API | API | Conversaciones de la integración de API |
| Iframe | EMBED | Conversaciones de la integración de Iframe |
| Widget Bubble | WIDGET | Conversaciones de la integración de Widget |
| AI Search | AI_SEARCH | Conversaciones de la integración de AI Search |
| Share | SHARE | Conversaciones de la integración de Share |
| WhatsApp by Meta | WHATSAPP_META | Conversaciones de la integración de WhatsApp by Meta |
| WhatsApp by EngageLab | WHATSAPP_ENGAGELAB | Conversaciones de la integración de WhatsApp by EngageLab |
| DingTalk Bot | DINGTALK | Conversaciones de la integración de DingTalk Bot |
| Discord | DISCORD | Conversaciones de la integración de Discord |
| Slack | SLACK | Conversaciones de la integración de Slack |
| Zapier | ZAPIER | Conversaciones de la integración de Zapier |
| WeChat Customer Service | WXKF | Conversaciones de la integración de WeChat Customer Service |
| Telegram | TELEGRAM | Conversaciones de la integración de Telegram |
| LiveChat | LIVECHAT | Conversaciones de la integración de LiveChat |
| LINE | LINE | Conversaciones de la integración de LINE; se admiten varios canales |
| Conversaciones de la integración de Instagram | ||
| Conversaciones de la integración de Facebook | ||
| Sobot | SO_BOT | Conversaciones de la integración de Sobot |
| Zoho Sales IQ | ZOHO_SALES_IQ | Conversaciones de la integración de Zoho Sales IQ |
| Intercom | INTERCOM | Conversaciones de la integración de Intercom |
| Livedesk | LIVEDESK | Conversaciones de la integración de Livedesk |
⚠️ Nota: Los valores de los campos en las tablas anteriores se pueden utilizar como criterios de filtrado al consultar datos de conversaciones mediante la API: Obtener lista de conversaciones.
Para plataformas de terceros como LINE y Telegram que admiten varios subcanales, «Agent-Log» admite el filtrado en dos niveles por tipo de conversación.
