ภาพรวมผู้ใช้

ภาพรวมผู้ใช้

ผู้ใช้ หมายถึง ผู้ใช้ปลายทางที่เริ่มต้นสนทนากับ Agent หรือ workflow GPTBots อนุญาตให้นักพัฒนากำหนดรหัสประจำตัวเฉพาะ (user ID) ให้กับผู้ใช้แต่ละราย โดยผ่าน user ID (user_id) นี้ จะสามารถเชื่อมโยงตัวตนผู้ใช้ข้ามช่องทางต่าง ๆ ได้ ช่วยให้สามารถรวมตัวตนข้ามช่องทาง สืบค้นข้อมูลธุรกิจผ่าน Tools และบริหารจัดการคุณสมบัติผู้ใช้และประวัติการสนทนาได้

ข้อมูล CDP (Customer Data Platform) ของผู้ใช้จะถูกจัดเก็บแยกภายใต้แต่ละ Agent หรือ workflow โดยข้อมูลของผู้ใช้คนเดียวกันจะถูกแยกออกจากกันในแต่ละ Agent/workflow

แผนผังระบบผู้ใช้

loading...
flowchart LR
 subgraph Col1["แพลตฟอร์มต้นทาง"]
        LC["Livechat"]
        IC["Intercom"]
        WG[" Widget "]
        TG["Telegram"]
  end
 subgraph Col2_5["ซับ-แชนแนลของแพลตฟอร์มต้นทาง"]
        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 -- สร้าง Anonymous ID --> a1
    IC -- สร้าง Anonymous ID --> a2
    WG -- สร้าง Anonymous ID --> a3
    TG -- ผู้ใช้จากซับ-แชนแนล --> tgb01 & tgb02
    tgb01 -- สร้าง Anonymous ID --> tga1
    tgb02 -- สร้าง Anonymous ID --> tga2
    a1 -- กำหนด user_id --> U1
    a2 -- กำหนด user_id --> U1
    a3 -- กำหนด user_id --> U2
    tga1 -- กำหนด user_id --> U2
    tga2 -- กำหนด user_id --> U2
    U1 -- สร้าง conversation ID ใหม่ --> c1
    U1 -- สร้าง conversation ID ใหม่ --> c2
    U2 -- สร้าง conversation ID ใหม่ --> c3
    U2 -- ใช้ conversation ID เดิม --> c4
    c4 -- หากหมดอายุ (>60 นาที)
    สร้าง 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
  • Anonymous ID (anonymous_id) จะถูกสร้างโดยบริการระบบ GPTBots อัตโนมัติตามแพลตฟอร์มต้นทางของผู้ใช้
  • การกำหนด user_id เป็นทางเลือก นักพัฒนาสามารถเลือกกำหนด user_id ตามความต้องการทางธุรกิจ เพื่อให้สามารถเชื่อมโยงตัวตนและแบ่งปันคุณสมบัติผู้ใช้ข้ามช่องทางต่าง ๆ

คำจำกัดความ

ผู้ใช้

ผู้ใช้ หมายถึง ผู้ใช้ปลายทางที่มีปฏิสัมพันธ์หรือสนทนากับ Agent

User ID (user_id)

รหัสประจำตัวเฉพาะที่นักพัฒนาองค์กรกำหนดให้กับผู้ใช้ปลายทาง โดยผ่าน API นักพัฒนาสามารถกำหนด user_id ให้กับ anonymous_id ได้ ดูรายละเอียดการใช้งานและตัวอย่างการประยุกต์ใช้เพิ่มเติมได้ที่ Set User ID

  • user_id จะมีลำดับความสำคัญเหนือ anonymous_id
  • สามารถเชื่อมโยง anonymous_id หลายค่าเข้ากับ user_id เดียวกันได้พร้อมกัน

Anonymous ID (anonymous_id)

เมื่อผู้ใช้โต้ตอบกับ Agent ผ่านแพลตฟอร์ดภายนอก (เช่น Telegram, WhatsApp, LINE ฯลฯ) GPTBots จะใช้รหัสผู้ใช้เฉพาะของแพลตฟอร์มนั้นเป็น anonymous_id ดูรายละเอียดตรรกะการสร้าง anonymous ID ได้ที่ [ตรรกะการสร้าง Anonymous ID](## Anonymous ID Generation Logic)

แพลตฟอร์มภายนอก

GPTBots รองรับการเชื่อมต่อ Agent กับแพลตฟอร์มภายนอกมากมาย เช่น Intercom, Webchat, LiveChat, Telegram, WhatsApp และอื่น ๆ

Conversation ID (conversation_id)

Conversation ID (conversation_id) คือรหัสเฉพาะที่สร้างขึ้นจาก Agent, ประเภทการสนทนา และ user_id (หรือ anonymous_id) ใช้สำหรับแยกบริบททางธุรกิจแต่ละกรณี (โดยปกติจะมี message ID หลายรายการในหนึ่ง conversation)

  • conversation_id จะหมดอายุอัตโนมัติภายใน 60 นาที ยกเว้นที่สร้างผ่าน API ซึ่งจะไม่มีวันหมดอายุ
  • สำหรับแพลตฟอร์มภายนอกและ widget เมื่อ conversation_id หมดอายุ ระบบจะสร้างใหม่เพื่อเริ่มต้นสนทนาใหม่

Message ID (message_id)

Message ID (message_id) คือรหัสเฉพาะของแต่ละข้อความที่แลกเปลี่ยนระหว่าง Agent กับผู้ใช้ เป็นหน่วยย่อยที่สุดของการสนทนา

  • message_id จะถูกสร้างโดย GPTBots ไม่สามารถกำหนดเองได้
  • message_id จะอยู่ภายใน conversation ID โดย 1 conversation อาจมี message ID หลายรายการ

ประเภทการสนทนา (Conversation Type)

Conversation Type (conversation_type) ใช้ระบุบริบทหรือช่องทางที่ผู้ใช้เริ่มต้นสนทนา เช่น Workspace-Workflow, WhatsApp, API, Workspace-Search ฯลฯ

หลักการสร้าง Conversation ID

เมื่อผู้ใช้เริ่มต้นสนทนากับ Agent ผ่านแพลตฟอร์มภายนอก ระบบจะสร้าง anonymous_id ตามแพลตฟอร์มของผู้ใช้ และสร้าง conversation_id อัตโนมัติโดยอิงจาก anonymous_id เพื่อรองรับการสนทนา 1 รอบระหว่างผู้ใช้กับ Agent

  • หากใช้ API นักพัฒนาต้องสร้าง conversation_id ก่อนเริ่มสนทนากับ Agent/Workflow
  • สำหรับช่องทางที่ไม่ใช่ API GPTBots จะสร้าง conversation_id ให้อัตโนมัติ

ตรรกะการสร้าง Anonymous ID

Anonymous ID ใช้เพื่อระบุตัวตนผู้ใช้เฉพาะรายในแต่ละแพลตฟอร์มและช่องทางที่เชื่อมต่อ ตารางด้านล่างนี้แสดงตรรกะการสร้าง Anonymous ID ของแต่ละแพลตฟอร์ม

แพลตฟอร์ม/ช่องทาง ตรรกะ Anonymous ID คำอธิบาย
Telegram anonymous_id = tg_user_id tg_user_id: รหัสผู้ใช้เฉพาะของ Telegram
Telegram Group Chat anonymous_id = tg_chat_id + tg_user_id tg_chat_id: รหัสกลุ่ม; tg_user_id: รหัสผู้ใช้เฉพาะ
LINE anonymous_id = line_user_id รหัสผู้ใช้เฉพาะของ LINE
LiveChat anonymous_id = lc_thread_id รหัสเฉพาะของเธรดสนทนา LiveChat
Slack anonymous_id = slack_user_id รหัสผู้ใช้เฉพาะของ Slack
Slack Public Channel anonymous_id = slack_team_id + slack_channel_id + slack_user_id รวมรหัสทีม, ช่อง, ผู้ใช้ เพื่อระบุตัวตนในช่องสาธารณะ
Intercom anonymous_id = intercom_user_id รหัสผู้ใช้เฉพาะของ Intercom
DingTalk anonymous_id = dd_user_id รหัสผู้ใช้เฉพาะของ DingTalk
DingTalk Group Chat anonymous_id = dd_chat_id + dd_senderId รวมรหัสกลุ่มและผู้ส่งเพื่อระบุตัวตนเฉพาะ
WhatsApp by Meta anonymous_id = wa_user_id รหัสผู้ใช้ WhatsApp (โดยปกติอิงเบอร์โทรศัพท์ เช่น @c.us)
WhatsApp by EngageLab anonymous_id = wa_user_id เช่นเดียวกับด้านบน
Discord anonymous_id = discord_user_id รหัสตัวเลขเฉพาะของ Discord
Instagram anonymous_id = instagram_user_id รหัสเฉพาะที่กำหนดให้ผู้ส่งข้อความ Instagram
Facebook anonymous_id = facebook_user_id รหัสเฉพาะที่กำหนดให้ผู้ส่งข้อความ Facebook
Sobot anonymous_id = sobot_memberId รหัสสมาชิก Sobot
Sobot Group Chat @User anonymous_id = sobot_guildId + sobot_channelId + sobot_memberId รหัสเฉพาะสำหรับการสนทนากลุ่มใน Sobot
Zoho Sales IQ anonymous_id = zoho_sales_iq_conversationId รหัสเฉพาะของการสนทนา Zoho Sales IQ
WeChat Customer Service anonymous_id = wechat_customer_service_user_id รหัสผู้ใช้ WeChat Customer Service

ตรรกะ Anonymous ID ของช่องทางในตัว GPTBots

สำหรับช่องทางในตัว GPTBots จะใช้ browser fingerprint ในการสร้าง anonymous ID

ช่องทาง ตรรกะ Anonymous ID คำอธิบาย
API ไม่มี anonymous ID ใช้เฉพาะ user_id ในการสร้าง conversation ID
Workspace anonymous_id = browser fingerprint ID สุ่มรหัสจาก browser fingerprint; อาจเปลี่ยนหากลบ cache หรือใช้ incognito mode
Share anonymous_id = browser fingerprint ID เช่นเดียวกับด้านบน
Iframe anonymous_id = browser fingerprint ID เช่นเดียวกับด้านบน
AI Search anonymous_id = browser fingerprint ID เช่นเดียวกับด้านบน
AI Search (iframe) anonymous_id = browser fingerprint ID เช่นเดียวกับด้านบน
Widget anonymous_id = browser fingerprint ID เช่นเดียวกับด้านบน

เมื่อผู้ใช้ล็อกอินเข้า GPTBots ระบบจะกำหนด account ID ของ GPTBots เป็น user_id และเชื่อมโยงกับ anonymous_id (browser fingerprint ID) โดยอัตโนมัติ

ประเภทการสนทนาและ Source ID

  • Conversation Type (conversation_type): ใช้ระบุช่องทางที่เริ่มต้นสนทนา (เช่น Workspace, API, Iframe, WhatsApp, LINE ฯลฯ) สามารถใช้ฟิลด์นี้กรอง log ตามประเภทช่องทางได้
  • Source ID (source_id): ใช้ระบุซับไทป์ของช่องทาง (เช่น LINE Channel ID ต่าง ๆ, Telegram Bot ID ต่าง ๆ) สามารถใช้ฟิลด์นี้กรอง log ตามซับ-แชนแนลได้
ประเภทการสนทนา conversation_type คำอธิบาย
ทั้งหมด ALL สนทนาจากทุกช่องทางที่เชื่อมต่อ
Workspace - Search C สนทนาจาก Workspace Agent
Workspace - Agent CHAT สนทนาจาก Workspace Search
Workspace - Workflow C_WORKFLOW สนทนาจาก Workspace Workflow
Workspace - Apps C_APPS สนทนาจาก Workspace Market AI Apps
API API สนทนาจากการเชื่อมต่อ API
Iframe EMBED สนทนาจากการเชื่อมต่อ Iframe
Widget Bubble WIDGET สนทนาจากการเชื่อมต่อ Widget
AI Search AI_SEARCH สนทนาจากการเชื่อมต่อ AI Search
Share SHARE สนทนาจากการเชื่อมต่อ Share
WhatsApp by Meta WHATSAPP_META สนทนาจากการเชื่อมต่อ WhatsApp by Meta
WhatsApp by EngageLab WHATSAPP_ENGAGELAB สนทนาจากการเชื่อมต่อ WhatsApp by EngageLab
DingTalk Bot DINGTALK สนทนาจากการเชื่อมต่อ DingTalk Bot
Discord DISCORD สนทนาจากการเชื่อมต่อ Discord
Slack SLACK สนทนาจากการเชื่อมต่อ Slack
Zapier ZAPIER สนทนาจากการเชื่อมต่อ Zapier
WeChat Customer Service WXKF สนทนาจากการเชื่อมต่อ WeChat Customer Service
Telegram TELEGRAM สนทนาจากการเชื่อมต่อ Telegram
LiveChat LIVECHAT สนทนาจากการเชื่อมต่อ LiveChat
LINE LINE สนทนาจากการเชื่อมต่อ LINE; รองรับหลาย channel
Instagram INSTAGRAM สนทนาจากการเชื่อมต่อ Instagram
Facebook FACEBOOK สนทนาจากการเชื่อมต่อ Facebook
Sobot SO_BOT สนทนาจากการเชื่อมต่อ Sobot
Zoho Sales IQ ZOHO_SALES_IQ สนทนาจากการเชื่อมต่อ Zoho Sales IQ
Intercom INTERCOM สนทนาจากการเชื่อมต่อ Intercom
Livedesk LIVEDESK สนทนาจากการเชื่อมต่อ Livedesk

⚠️ หมายเหตุ: ค่าฟิลด์ในตารางข้างต้นสามารถใช้เป็นเงื่อนไขกรองข้อมูลเมื่อเรียกดูรายการสนทนาผ่าน API: Get Conversation List
สำหรับแพลตฟอร์มภายนอก เช่น LINE และ Telegram ที่รองรับหลายซับ-แชนแนล "Agent-Log" รองรับการกรอง 2 ชั้นตามประเภทการสนทนา