Vue d'ensemble des utilisateurs
Les utilisateurs désignent les utilisateurs finaux qui initient des conversations avec les Agents/workflows. GPTBots permet aux développeurs d'attribuer des identifiants uniques à différents utilisateurs. Grâce à cet ID utilisateur (user_id), les identités peuvent être reliées entre différents canaux, permettant la consolidation d'identité cross-canal, les requêtes métier via les Outils, ainsi que la gestion des attributs et historiques de discussion des utilisateurs.
Les informations CDP (Customer Data Platform) de l'utilisateur sont stockées sous chaque Agent/workflow, les données étant isolées pour un même utilisateur sur différents Agents/Workflows.
用户体系示意图
flowchart LR
subgraph Col1["Plateforme source"]
LC["Livechat"]
IC["Intercom"]
WG[" Widget "]
TG["Telegram"]
end
subgraph Col2_5["Sous-canal de la plateforme source"]
tgb01["TGBOT01"]
tgb02["TGBOT02"]
end
subgraph Col2["ID anonyme"]
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 -- Générer un ID anonyme --> a1
IC -- Générer un ID anonyme --> a2
WG -- Générer un ID anonyme --> a3
TG -- Utilisateur du sous-canal --> tgb01 & tgb02
tgb01 -- Générer un ID anonyme --> tga1
tgb02 -- Générer un ID anonyme --> tga2
a1 -- Définir user_id --> U1
a2 -- Définir user_id --> U1
a3 -- Définir user_id --> U2
tga1 -- Définir user_id --> U2
tga2 -- Définir user_id --> U2
U1 -- Générer un nouvel ID de conversation --> c1
U1 -- Générer un nouvel ID de conversation --> c2
U2 -- Générer un nouvel ID de conversation --> c3
U2 -- Utiliser l'ID de conversation existant --> c4
c4 -- Si expiré (>60 minutes)
Générer un nouvel ID de conversation --> 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
- L'ID anonyme (
anonymous_id) est généré automatiquement par le service système GPTBots en fonction de la plateforme source de l'utilisateur. - La définition d'un
user_idest facultative. Les développeurs peuvent choisir de définir unuser_idselon leurs besoins métier pour permettre l'association d'identité et le partage d'attributs entre différents canaux.
Définitions
Utilisateur
Un utilisateur désigne un utilisateur final qui interagit avec un Agent.
ID utilisateur (user_id)
Identifiant unique attribué aux utilisateurs finaux par les développeurs d'entreprise. Via l'API, les développeurs peuvent définir un UserId pour un anonymous_id. Pour les scénarios d'utilisation et les applications avancées de UserId, veuillez consulter Définir l'ID utilisateur.
- Le
user_idprévaut sur leanonymous_id - Plusieurs valeurs
anonymous_idpeuvent être associées simultanément à un mêmeuser_id
ID anonyme (anonymous_id)
Lorsque les utilisateurs interagissent avec un Agent via des plateformes tierces (telles que Telegram, WhatsApp, LINE, etc.), GPTBots utilise l'identifiant unique de la plateforme comme anonymous_id. Pour plus de détails sur la logique de génération des IDs anonymes, veuillez consulter [Logique de génération des IDs anonymes](## Anonymous ID Generation Logic).
Plateformes tierces
La plateforme GPTBots prend actuellement en charge l'intégration des Agents avec de nombreuses plateformes tierces, dont Intercom, Webchat, LiveChat, Telegram, WhatsApp, etc.
ID de conversation (conversation_id)
L'ID de conversation (conversation_id) est un identifiant unique généré conjointement par l'Agent, le type de conversation et le user_id (ou anonymous_id). Il sert d'unité minimale pour isoler différents scénarios métier (contenant généralement plusieurs IDs de message).
- Le
conversation_idexpire automatiquement après 60 minutes, sauf pour ceux générés via le canal API, qui n'ont pas de limite de temps. - Pour les plateformes tierces et les canaux widget, lorsqu'un
conversation_idexpire, un nouveau est généré pour démarrer une nouvelle conversation.
ID de message (message_id)
L'ID de message (message_id) identifie un échange de message unique entre un Agent et un utilisateur, représentant l'unité minimale de conversation.
- Le
message_idest généré par la plateforme GPTBots et ne peut pas être personnalisé par les développeurs. - Le
message_idappartient à unconversation_id, un mêmeconversation_idcontenant généralement plusieursmessage_id.
Type de conversation
Le type de conversation (conversation_type) identifie le scénario dans lequel un utilisateur initie une conversation, tel que Espace de travail-Workflow, WhatsApp, API, Espace de travail-Recherche, etc.
Principe de génération de l'ID de conversation
Lorsque les utilisateurs initient des conversations avec un Agent via des plateformes tierces, le système génère un anonymous_id basé sur la plateforme de l'utilisateur, puis crée automatiquement un conversation_id basé sur cet anonymous_id pour contenir un échange de dialogue entre l'utilisateur et l'Agent.
- Lors de l'utilisation de l'API, les développeurs doivent d'abord générer un
conversation_idavant d'initier des conversations avec un Agent/Workflow. - Pour les canaux hors API, GPTBots génère automatiquement le
conversation_id.
Logique de génération des IDs anonymes
Les IDs anonymes servent à identifier de façon unique les utilisateurs sur les différentes plateformes et canaux intégrés. Le tableau suivant décrit la logique de génération des IDs anonymes pour chaque plateforme :
| Plateforme/Canal | Logique de l'ID anonyme | Description |
|---|---|---|
| Telegram | anonymous_id = tg_user_id | tg_user_id : Identifiant unique pour les utilisateurs Telegram |
| Groupe Telegram | anonymous_id = tg_chat_id + tg_user_id | tg_chat_id : ID unique du groupe ; tg_user_id : ID unique de l'utilisateur |
| LINE | anonymous_id = line_user_id | Identifiant unique pour les utilisateurs LINE |
| LiveChat | anonymous_id = lc_thread_id | Identifiant unique pour les fils de discussion LiveChat |
| Slack | anonymous_id = slack_user_id | Identifiant unique pour les utilisateurs Slack |
| Canal public Slack | anonymous_id = slack_team_id + slack_channel_id + slack_user_id | Combinaison des IDs d'équipe, de canal et d'utilisateur pour une identification unique dans les canaux publics |
| Intercom | anonymous_id = intercom_user_id | Identifiant unique pour les utilisateurs Intercom |
| DingTalk | anonymous_id = dd_user_id | Identifiant unique pour les utilisateurs DingTalk |
| Groupe DingTalk | anonymous_id = dd_chat_id + dd_senderId | Combinaison des IDs de groupe et d'expéditeur pour une identification unique |
| WhatsApp par Meta | anonymous_id = wa_user_id | Identifiant unique pour les utilisateurs WhatsApp, généralement basé sur le numéro de téléphone (ex. : suffixe @c.us) |
| WhatsApp par EngageLab | anonymous_id = wa_user_id | Idem ci-dessus |
| Discord | anonymous_id = discord_user_id | Identifiant numérique unique pour les utilisateurs Discord |
| anonymous_id = instagram_user_id | Identifiant unique attribué aux expéditeurs de messages Instagram | |
| anonymous_id = facebook_user_id | Identifiant unique attribué aux expéditeurs de messages Facebook | |
| Sobot | anonymous_id = sobot_memberId | ID utilisateur Sobot |
| Sobot Groupe @User | anonymous_id = sobot_guildId + sobot_channelId + sobot_memberId | Identifiant unique pour les interactions de groupe Sobot |
| Zoho Sales IQ | anonymous_id = zoho_sales_iq_conversationId | Identifiant unique pour les conversations Zoho Sales IQ |
| Service client WeChat | anonymous_id = wechat_customer_service_user_id | ID utilisateur du service client WeChat |
Logique de l'ID anonyme pour les canaux intégrés GPTBots
Pour les canaux intégrés GPTBots, les IDs anonymes sont générés à partir de l'empreinte du navigateur :
| Canal | Logique de l'ID anonyme | Description |
|---|---|---|
| API | Aucun ID anonyme | Seul le user_id est utilisé pour générer les IDs de conversation |
| Espace de travail | anonymous_id = ID d'empreinte navigateur | ID aléatoire généré à partir de l'empreinte du navigateur ; peut changer si le cache est vidé ou en navigation privée |
| Partage | anonymous_id = ID d'empreinte navigateur | Idem ci-dessus |
| Iframe | anonymous_id = ID d'empreinte navigateur | Idem ci-dessus |
| Recherche IA | anonymous_id = ID d'empreinte navigateur | Idem ci-dessus |
| Recherche IA (iframe) | anonymous_id = ID d'empreinte navigateur | Idem ci-dessus |
| Widget | anonymous_id = ID d'empreinte navigateur | Idem ci-dessus |
Lorsqu'un utilisateur est connecté à la plateforme GPTBots, son ID de compte GPTBots est automatiquement défini comme
user_idet lié à l'anonymous_id(ID d'empreinte navigateur).
Types de conversation et IDs de source
- Type de conversation (
conversation_type) : Identifie le canal d'intégration par lequel une conversation est initiée (ex. : Espace de travail, API, Iframe, WhatsApp, LINE, etc.). Ce champ permet de filtrer les données de logs par type de canal. - ID de source (
source_id) : Identifie le sous-type du canal d'intégration (ex. : différents IDs de canal LINE, différents IDs de bot Telegram). Ce champ permet de filtrer les logs par sous-canal.
| Type de conversation | conversation_type | Description |
|---|---|---|
| Tous | ALL | Conversations de tous les canaux intégrés |
| Espace de travail - Recherche | C | Conversations issues de l'Agent Espace de travail |
| Espace de travail - Agent | CHAT | Conversations issues de la Recherche Espace de travail |
| Espace de travail - Workflow | C_WORKFLOW | Conversations issues du Workflow Espace de travail |
| Espace de travail - Apps | C_APPS | Conversations issues des Apps IA du Marché Espace de travail |
| API | API | Conversations issues de l'intégration API |
| Iframe | EMBED | Conversations issues de l'intégration Iframe |
| Widget Bubble | WIDGET | Conversations issues de l'intégration Widget |
| Recherche IA | AI_SEARCH | Conversations issues de l'intégration Recherche IA |
| Partage | SHARE | Conversations issues de l'intégration Partage |
| WhatsApp par Meta | WHATSAPP_META | Conversations issues de l'intégration WhatsApp par Meta |
| WhatsApp par EngageLab | WHATSAPP_ENGAGELAB | Conversations issues de l'intégration WhatsApp par EngageLab |
| Bot DingTalk | DINGTALK | Conversations issues de l'intégration Bot DingTalk |
| Discord | DISCORD | Conversations issues de l'intégration Discord |
| Slack | SLACK | Conversations issues de l'intégration Slack |
| Zapier | ZAPIER | Conversations issues de l'intégration Zapier |
| Service client WeChat | WXKF | Conversations issues de l'intégration Service client WeChat |
| Telegram | TELEGRAM | Conversations issues de l'intégration Telegram |
| LiveChat | LIVECHAT | Conversations issues de l'intégration LiveChat |
| LINE | LINE | Conversations issues de l'intégration LINE ; plusieurs canaux pris en charge |
| Conversations issues de l'intégration Instagram | ||
| Conversations issues de l'intégration Facebook | ||
| Sobot | SO_BOT | Conversations issues de l'intégration Sobot |
| Zoho Sales IQ | ZOHO_SALES_IQ | Conversations issues de l'intégration Zoho Sales IQ |
| Intercom | INTERCOM | Conversations issues de l'intégration Intercom |
| Livedesk | LIVEDESK | Conversations issues de l'intégration Livedesk |
⚠️ Remarque : Les valeurs de champ dans les tableaux ci-dessus peuvent être utilisées comme critères de filtre lors de la consultation des données de conversation via l'API : Obtenir la liste des conversations.
Pour les plateformes tierces telles que LINE et Telegram prenant en charge plusieurs sous-canaux, l'"Agent-Log" permet un filtrage à deux niveaux par type de conversation.
