

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# Amazon Connect 中的客服人員事件串流資料模型
<a name="agent-event-stream-model"></a>

會以 JavaScript Object Notation (JSON) 格式建立客服人員事件串流。每個事件類型都會傳送 JSON blob 至 Kinesis 資料串流。客服人員事件串流包含了以下幾種事件類型：
+ LOGIN 客服人員登入聯絡中心。
+ LOGOUT 客服人員登出聯絡中心。
+ STATE\$1CHANGE 會變更為以下其中一項：
  + 客服人員在聯絡控制面板 (CCP) 中變更其狀態。例如，他們從可用變更為休息時間。
  + 客服人員與聯絡案例之間的對話狀態已變更。例如，他們已連上線，接著保留通話。
  + 客服人員組態的下列其中一個設定已變更：
    + 其路由設定檔
    + 其路由設定檔中的佇列
    + 自動接聽電話
    + Sip 地址
    + 客服人員階層群組
    + CCP 中的語言偏好設定設定
+ HEART\$1BEAT 在間隔期間內未發佈任何其他事件的情況下，此事件每 120 秒會發佈一次。
**注意**  
這些事件會在客服人員登出後一小時內繼續發佈。

**Topics**
+ [AgentEvent](#AgentEvent)
+ [AgentSnapshot](#AgentSnapshot)
+ [Configuration](#Configuration)
+ [聯絡物件](#Contact)
+ [HierarchyGroup 物件](#Hierarchygroup-object)
+ [AgentHierarchyGroups 物件](#Hierarchygroups-object)
+ [熟練度](#proficiency-object)
+ [佇列物件](#queue-object)
+ [RoutingProfile 物件](#routingprofile)

## AgentEvent
<a name="AgentEvent"></a>

`AgentEvent` 物件含有以下屬性：

**AgentARN**  
客服人員帳戶的 Amazon Resource Name (ARN)。  
類型：ARN

**AWSAccountId**  
與 Amazon Connect 執行個體相關聯之 AWS 帳戶的 12 位數 AWS 帳戶 ID。  
類型：字串

**CurrentAgentSnapshot**  
含有客服人員設定，例如使用者名稱、姓氏、名字、轉接設定檔、階層群組、客服人員狀態。  
類型：`AgentSnapshot` 物件

**EventId**  
事件的全域唯一識別符 (UUID)。  
類型：字串

**EventTimestamp**  
世界的時間戳記，採 ISO 8601 標準格式。  
類型：字串 (*yyyy*-*mm*-*dd*T*hh*:*mm*:*ss*:*sss*Z)

**EventType**  
事件的類型。  
有效值：`STATE_CHANGE` \$1 `HEART_BEAT` \$1 `LOGIN` \$1 `LOGOUT` 

**InstanceARN**  
Amazon Connect 執行個體的 Amazon Resource Name，會在其中建立客服人員的使用者帳戶。  
類型：ARN

**PreviousAgentSnapshot**  
含有客服人員設定，例如使用者名稱、姓氏、名字、轉接設定檔、階層群組、客服人員狀態。  
類型：`AgentSnapshot` 物件

**版本**  
日期格式的客服人員事件串流版本，如 2019-05-25。  
類型：字串

## AgentSnapshot
<a name="AgentSnapshot"></a>

`AgentSnapshot` 物件含有以下屬性：

**AgentStatus**  
客服人員狀態資料，包括：  
+ ARN 客服人員目前狀態的 ARN (不適用於客服人員)。
+ Name 這是[在 CCP 中手動設定之客服人員的狀態](metrics-agent-status.md)，或主管手動[在即時指標報告中變更的狀態](rtm-change-agent-activity-state.md)。

  例如，其狀態可能是**可用**，這表示他們已準備好接受轉接給他們的來電聯絡案例。或者，可能是自訂狀態，例如休息或培訓，這表示無法轉接來電聯絡案例給他們，但他們仍然可以撥出電話。

  若狀態為 `Error`，表示有內部 Amazon Connect 錯誤。
+ StartTimestamp 客服人員進入該狀態時，當下時間的 ISO 8601 標準格式時間戳記。

  類型：字串 (*yyyy*-*mm*-*dd*T*hh*:*mm*:*ss*:*sss*Z)
+ Type ROUTABLE、CUSTOM 或 OFFLINE
類型：`AgentStatus` 物件。

**NextAgentStatus**  
如果客服人員設定下一個客服人員，則在此顯示資料。  
+ ARN 客服人員已將下一個客服人員狀態設定為 ARN。
+ Name 這是客服人員已為下一個客服人員狀態設定的名稱。
+ EnqueuedTimestamp 以 ISO 8601 標準格式顯示的時間戳記，客服人員設定其下一個狀態並暫停接收聯絡人路由的時間戳記。

  類型：字串 (*yyyy*-*mm*-*dd*T*hh*:*mm*:*ss*:*sss*Z)
類型：`NextAgentStatus` 物件。

**Configuration**  
客服人員的相關資訊，包括：  
+ FirstName 客服人員的名字。
+ HierarchyGroups 指派給客服人員的階層群組 (若有)。
+ LastName 客服人員的姓氏。
+ RoutingProfile 指派給客服人員的轉接描述檔。
+ Username 客服人員的 Amazon Connect 使用者名稱。
類型：`Configuration` 物件

**聯絡人**  
聯絡人  
類型：`List of Contact Objects` 物件

## Configuration
<a name="Configuration"></a>

`Configuration` 物件含有以下屬性：

**FirstName**  
於客服人員 Amazon Connect 帳戶輸入的姓名。  
類型：字串  
長度：1 - 100

**AgentHierarchyGroups**  
事件相關客服人員的階層群組，最多可有五個群組層級。  
類型：`AgentHierarchyGroups` 物件

**LastName**  
於客服人員 Amazon Connect 帳戶輸入的姓氏。  
類型：字串  
長度：1 - 100

**熟練度**  
分配給客服人員的所有熟練度的清單。  
類型：熟練度對象清單

**RoutingProfile**  
指派給事件相關客服人員的轉接設定檔。  
類型：`RoutingProfile` 物件。

**使用者名稱**  
客服人員 Amazon Connect 使用者帳戶的使用者名稱。  
類型：字串  
長度：1 - 100

## 聯絡物件
<a name="Contact"></a>

`Contact` 物件含有以下屬性：

**ContactId**  
聯絡人的識別碼。  
類型：字串  
長度：1 - 256

**InitialContactId**  
已轉接聯絡人的原始識別碼。  
類型：字串  
長度：1 - 256

**Channel**  
通訊的方式。  
有效值：`VOICE`、`CHAT`、`TASKS`

**InitiationMethod**  
代表聯絡案例最初啟動的方式。  
有效值：  
+  `INBOUND`：客戶啟動與您聯絡中心的語音 (電話) 聯絡。
+  `OUTBOUND`：客服人員使用 CCP 撥打客戶的號碼，藉此啟動與客戶的語音 (電話) 聯絡。這個啟動方法會呼叫 [StartOutboundVoiceContact](https://docs.aws.amazon.com/connect/latest/APIReference/API_StartOutboundVoiceContact.html) API。
+  `TRANSFER`：客服人員使用 CCP 中的快速連線，已將客戶轉接至另一個客服人員或佇列。這將建立新的聯絡記錄。
+  `CALLBACK`：在回撥流程的過程中已聯絡客戶。

  如需此案例中 InitiationMethod 的詳細資訊，請參閱 [Amazon Connect 即時指標中排入佇列的回撥](about-queued-callbacks.md)。
+  `API`：由 API 使用 Amazon Connect 啟動聯絡。這可能是您使用 [StartOutboundVoiceContact](https://docs.aws.amazon.com/connect/latest/APIReference/API_StartOutboundVoiceContact.html) API 建立並排入客服人員佇列的外撥聯絡，也可能是由客戶對您的聯絡中心起始的即時聊天，此時您呼叫了 [StartChatContact](https://docs.aws.amazon.com/connect/latest/APIReference/API_StartChatContact.html) API。
+  `WEBRTC_API`：聯絡使用通訊小工具對客服人員進行應用程式內語音/視訊通話。
+  `QUEUE_TRANSFER`：當客戶位於一個佇列 (聆聽客戶佇列流程) 時，系統使用聯絡流程區塊將其轉接至另一個佇列。
+  `MONITOR`：主管已啟動客服人員監視。主管可以靜靜監視客服人員和客戶，或是介入對話。
**注意**  
只有當您主動選擇[加入多方通話和加強監視](update-instance-settings.md#update-telephony-options)時，才會顯示此狀態。
+  `DISCONNECT`：當 [設定中斷連線流程](set-disconnect-flow.md) 區塊觸發時，會指定聯絡期間中斷連線事件發生後執行的流程。

  中斷連線事件是指：
  + 聊天或任務已中斷連線。
  + 由於流程動作，任務會中斷連線。
  + 任務到期。當任務完成其到期計時器時，會自動中斷連線。預設值為 7 天，任務到期最多可設定 90 天。

  如果在中斷連線流程期間建立新的聯絡人，則新聯絡人的啟動方法是中斷連線。
+  `EXTERNAL_OUTBOUND`：客服人員使用 CCP 中的快速連線或流程區塊，與您聯絡中心的外部參與者發起語音 (電話) 聯絡。
+  `AGENT_REPLY`：客服人員已回覆傳入電子郵件聯絡，以建立傳出電子郵件回覆。
+  `FLOW`：由流程區塊啟動的電子郵件。
+  `CAMPAIGN_PREVIEW`：聯絡人是由使用預覽撥號模式的對外行銷活動起始。客服人員會在撥出通話之前預覽客戶資訊。

**State**  
聯絡人的狀態。  
有效值：`INCOMING` \$1 `PENDING` \$1 `CONNECTING` \$1 `CONNECTED` \$1 `CONNECTED_ONHOLD` \$1 `MISSED` \$1 `PAUSED` \$1 `REJECTED` \$1 `ERROR` \$1 `ENDED`   
`PAUSED` 狀態僅適用於任務。

**StateStartTimestamp**  
聯絡人輸入目前狀態時的時間。  
類型：字串 (*yyyy*-*mm*-*dd*T*hh*:*mm*:*ss*:*sss*Z)

**ConnectedToAgentTimestamp**  
聯絡人連接至客服人員時的時間。  
類型：字串 (*yyyy*-*mm*-*dd*T*hh*:*mm*:*ss*:*sss*Z)

**QueueTimestamp**  
聯絡人放入佇列時的時間。  
類型：字串 (*yyyy*-*mm*-*dd*T*hh*:*mm*:*ss*:*sss*Z)

**佇列**  
排入聯絡人的佇列。  
類型：`Queue` 物件

## HierarchyGroup 物件
<a name="Hierarchygroup-object"></a>

`HierarchyGroup` 物件含有以下屬性：

**ARN**  
客服人員階層的 Amazon Resource Name (ARN)。  
類型：字串

**名稱**  
階層群組的名稱。  
類型：字串

## AgentHierarchyGroups 物件
<a name="Hierarchygroups-object"></a>

`AgentHierarchyGroups` 物件含有以下屬性：

**Level1**  
包含指派給客服人員的階層 Level1 詳細資訊。  
類型：`HierarchyGroup` 物件

**Level2**  
包含指派給客服人員的階層 Level2 詳細資訊。  
類型：`HierarchyGroup` 物件

**Level3**  
包含指派給客服人員的階層 Level3 詳細資訊。  
類型：`HierarchyGroup` 物件

**Level4**  
包含指派給客服人員的階層 Level4 詳細資訊。  
類型：`HierarchyGroup` 物件

**Level5**  
包含指派給客服人員的階層 Level5 詳細資訊。  
類型：`HierarchyGroup` 物件

## 熟練度
<a name="proficiency-object"></a>

`Proficiency` 物件含有以下屬性：

**名稱**  
預先定義的屬性名稱。  
類型：字串  
長度：1-64

**Value**  
預先定義的屬性值。  
類型：字串

**熟練度等級**  
客服人員的熟練度。  
類型：浮點數  
有效值：1.0、2.0、3.0、4.0 和 5.0

## 佇列物件
<a name="queue-object"></a>

`Queue` 物件含有以下屬性：

**ARN**  
佇列的 Amazon Resource Name (ARN)。  
類型：字串

**名稱**  
佇列的名稱。  
類型：字串

**頻道**  
通訊頻道的類型。  
類型：清單或頻道物件

## RoutingProfile 物件
<a name="routingprofile"></a>

`RoutingProfile` 物件含有以下屬性：

**ARN**  
客服人員轉接設定檔的 Amazon Resource Name (ARN)。  
類型：字串

**名稱**  
轉接設定檔的名稱。  
類型：字串

**InboundQueues**  
與客服人員轉接描述檔相關聯的 `Queue` 物件。  
類型：`Queue` 物件的清單

**DefaultOutboundQueue**  
客服人員轉接設定檔的預設外撥佇列。  
類型：`Queue` 物件

**並行**  
並行資訊的清單。並行資訊物件具有 AvailableSlots (數字)、Channel (頻道物件) 和 MaximumSlots (數字) 值。