即時通訊轉錄稿中繼資料

本文說明用於建構即時通訊記錄中繼資料的 JSON 結構定義。這個結構定義是準確呈現及處理即時通訊對話的必要條件。

即時通訊轉錄稿中繼資料結構定義

這個結構定義說明瞭對話記錄的資料結構。以下各節將說明核心元件:

核心轉錄稿資訊

下列屬性提供轉錄稿本身的基本資訊:

  • comm_type (字串)。這份轉錄稿所屬的通訊類型。 如果是具備混合式 SMS 功能的通話,則可以是即時通訊或通話。

  • comm_id (整數)。通訊的 ID,例如與這份轉錄稿相關的即時通訊或通話。

  • transcript_version (字串)。轉錄稿格式的版本。剖析轉錄稿時,必須提供這項資訊,才能確保回溯相容性。

  • assigned_at (字串,日期時間)。指派即時通訊的時間戳記。

  • timezone (字串)。進行對話的時區。

訊息定義

definitions」部分包含可重複使用的結構定義元件,用於定義轉錄稿中不同訊息類型的結構。這樣一來,您就能彈性處理各種內容格式:

  • text (物件):代表文字訊息

    • type (字串):必須是「text」

    • content (字串):訊息的實際文字內容

    • lang (字串):文字內容的語言

  • text_template (物件):代表範本文字訊息

    • type (字串):必須為 text_template

    • content (字串):文字範本內容,可能包含預留位置

  • markdown (物件):以 Markdown 格式表示訊息

    • type (字串):必須為 Markdown

    • content (字串):Markdown 範本內容

  • markdown_template (物件):代表範本化的 Markdown 訊息

    • type (字串):必須為 markdown_template

    • content (字串):Markdown 範本內容,可能含有預留位置

  • photo (物件):代表含有相片的訊息

    • type (字串):必須為 photo

    • media_id (整數):相片的媒體檔案 ID

  • video (物件):代表包含影片的訊息

    • title (字串):影片標題

    • video (物件):影片詳細資料

      • url (字串):影片網址

      • text (字串):影片網址的替代文字

    • media_id (整數):如未直接提供影片網址,則為擷取影片網址的媒體 ID

  • image (物件):代表含有圖片的訊息

    • title (字串):圖片標題

    • image (物件):圖片詳細資料

      • url (字串):圖片網址

      • text (字串):圖片網址的替代文字

  • document (物件):代表含有文件的訊息

    • title (字串):文件標題

    • document (物件):文件詳細資料

      • url (字串):文件網址。

      • text (字串):文件網址的替代文字

  • inline_button (物件):代表一組內嵌按鈕

    • title (字串):內嵌按鈕集的標題

    • buttons (陣列):按鈕物件陣列

      • title (字串):按鈕標題

      • action (字串):按鈕所指動作的名稱

      • link (字串):快速回覆連結動作的網址連結

  • sticky_button (物件):代表一組固定按鈕

    • title (字串):固定按鈕組合的標題

    • buttons (陣列):按鈕物件陣列

      • title (字串):按鈕標題

      • action (字串):按鈕所指動作的名稱

      • link (字串):快速回覆連結動作的網址連結

  • content_card (物件):代表內容資訊卡

    • cards (陣列):內容資訊卡物件的陣列

      • title (字串):內容資訊卡的標題

      • body (字串):內容資訊卡的內文

  • server_message (物件):代表從伺服器擷取的訊息

    • message_id (整數):儲存的伺服器訊息 ID

    • content (字串):從伺服器擷取的訊息內容

  • action (物件):代表在對話期間執行的動作。可以是下列其中一項:

    • action_escalation (物件):代表升級動作

      • action (字串):必須是「escalation」

      • escalation_reason (字串):提報原因。

      • menu_id (整數):應將通訊內容轉送至的 ID

      • language (字串):要轉送的佇列 ISO 689 語言代碼

    • action_deflection (物件):代表轉移動作

      • action (字串):必須為 deflection

      • deflection_type (字串):偏轉類型

      • sip_parameters (物件或空值):要轉送的 SIP 參數 (如有),做為轉接的一部分

    • action_end (物件):代表結束動作

      • action (字串):必須為 end
  • noti (物件):代表通知訊息。可以是各種通知類型:

    • noti_transfer_started (物件):轉移作業開始時的通知。

      • type (字串):必須為 noti

      • event (字串):必須是「transferStarted」

      • target (字串):轉移的目標目的地,例如選單或服務專員。

      • agent (物件):啟動轉移作業的代理程式

        • id (整數):代理的 ID

        • email (字串):服務專員的電子郵件地址

        • name (字串):代理名稱

    • noti_verification_requested (物件):驗證要求通知

    • type (字串):必須為 noti

    • event (字串):必須為 verificationRequested

    • agent (物件):要求驗證的代理商

      • id (整數):要求驗證的代理商 ID

      • email (字串):要求驗證的代理商電子郵件地址

      • name (字串):要求驗證的代理商名稱

    • noti_end_user_verified (物件):使用者通過驗證時的通知

      • type (字串):必須為 noti

      • event (字串):必須為 endUserVerified

    • 其他 noti_\* 類型則定義各種事件的通知,例如相片要求、影片要求、共同瀏覽事件、工作虛擬代理程式事件、代理程式加入,以及轉移或升級狀態變更。

    • noti_custom (物件):代表自訂通知。

      • type (字串):必須為 noti

      • event (字串):必須為 custom

      • detail (物件):自訂事件詳細資料

      • key (字串):代表自訂事件詳細資料的鍵

      • data (物件):自訂事件酬載

轉錄稿項目

  • entries (陣列):物件陣列,每個物件代表在即時通訊中傳送的個別訊息。

    • timestamp (字串):傳送訊息時的時間戳記

    • type (字串):訊息類型,參照先前說明的其中一個定義,例如 textphotonoti

    • body (物件):訊息內容,符合訊息類型定義的結構。它使用 oneOf 允許不同的主體類型。

    • role (字串):傳送訊息的參與者角色。可能的值包括 end_useragentmanagervirtual_agentexternal_agenttask_virtual_agentsystem

    • user_data (物件):傳送訊息的使用者資料,除非是 end_user 或系統訊息。

      • name (字串):使用者名稱

      • id (整數):使用者的專屬 ID

    • avatar_url (字串):使用者顯示圖片的儲存空間網址