聯絡人 (Contact) 串接

聯絡人串接流程

使用說明

Contact 對話權限功能主要用於以下場景:

  • 企業內部權限管理:透過 Contact 設定,管理不同用戶的對話權限範圍

  • Web Chat 嵌入:當 Web Chat 嵌入至企業網站後,在沒有 MaiAgent 會員資料的情況下,企業可透過 contact 的串接設定來達到對話的權限管理目的

  • 跳過會員建立:可略過 MaiAgent 成員的建立與角色分配,直接透過 Contact ID 管理對話權限

此功能特別適用於需要細緻權限控制的企業應用場景。

系統架構概述

  • 企業系統:主要系統,負責用戶管理和 Web Chat 整合

  • MaiAgent:提供 Web Chat 功能的服務方

  • 通訊協定:RESTful API

對接流程

步驟 1:用戶身份檢查

企業系統需要檢查當前用戶是否已在 MaiAgent 系統中註冊過 Contact。

步驟 2:建立或更新 Contact

如果用戶尚未在 MaiAgent 系統註冊,需要調用 Create Contact API;如果已存在但需要更新資料,則調用 Update Contact API。

創建聯絡人 API 端點 POST /api/contacts

更新聯絡人 API 端點 PUT /api/contacts/{contact_id}

聯絡人 Contact 所設定的身份資訊,將用於查詢時產生對應的 query_metadata 條件組合

👉 了解 Query Metadata

處理邏輯:

  • 企業系統需要妥善保存回傳的 contact_id(Create 時)

  • 建議將 contact_id 與企業系統的用戶 ID 進行關聯存儲

  • Update 時需要在 URL 路徑中提供現有的 contact_id

步驟 3:初始化 Web Chat

在確認 contact_id 存在後,初始化 MaiAgent 的 Web Chat:

配置方式:

<script>
  window.maiagentChatbotConfig = {
    webChatId: '從 Admin 嵌入視窗中獲得的 Web Chat ID',
    baseUrl: 'https://chat.maiagent.ai/web-chats',
    primaryColor: '#3854d8',
    allowDrag: true,
    contactId: '從步驟2獲得的contact_id'  // 整合 contact_id
  };
</script>
<script
  src="https://chat.maiagent.ai/js/embed.min.js"
  defer>
</script>

初始化說明:

嵌入腳本載入後會自動註冊 document.body.onload 事件處理器來執行 Web Chat 初始化。若需要控制初始化時機(例如等待其他資源載入完成或延遲渲染),可採用以下方式:

  1. 延遲載入腳本:控制 embed.min.js 的載入時機

  2. 手動觸發初始化:在適當時機調用 document.body.onload() 方法

此機制允許開發者將 DOM 渲染與 Web Chat 初始化解耦,提供更靈活的整合方式。

實作建議

  1. 建議在企業系統中建立 Contact ID 管理表,包含:

    • 企業用戶 ID

    • MaiAgent Contact ID

    • 創建時間

    • 最後更新時間

  2. 實作冪等性檢查,避免重複創建 Contact

  3. 建立日誌記錄機制,追蹤 API 調用狀況

  4. 考慮實作異步處理,提升用戶體驗

Last updated

Was this helpful?