

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 在 Amazon Connect 中使用客户优先回拨模式
<a name="customer-first-cb"></a>

设置排队回拨时，您可以额外选择是使用座席优先回拨模式，还是客户优先回拨模式。
+ **座席优先回拨模式**为默认值。会将回拨提供给座席，由其在拨打给客户之前选择接受或拒绝。
+ 仅当您的 Amazon Connect 实例[已启用](enable-nextgeneration-amazonconnect.md)下一代 Amazon Connect 时，**客户优先回拨模式**才可用。在这种模式下，Amazon Connect 会先拨打客户的电话，只有当客户接听了他们所收到的回拨时，才会向座席提供回拨。

**重要**  
客户优先回拨模式在 pay-per-feature定价模式中不可用。
如果您在已激活并开始使用客户优先回拨后禁用下一代 Amazon Connect，则客户优先回拨模式也会被禁用。

**Topics**
+ [客户优先回拨的生命周期](#queued-callback-customer-first-callback-contact-lifecycle)
+ [客户优先回拨的指标](#customer-first-callback-metrics)
+ [示例联系记录](#customer-first-callback-contact-lifecycle-contact-model)
+ [流示例](#customer-first-callback-contact-lifecycle-sample-flows)

## 客户优先回拨的生命周期
<a name="queued-callback-customer-first-callback-contact-lifecycle"></a>

客户优先回拨的生命周期分布在三种不同的联系中，如下图所示。

![\[客户优先回拨的生命周期，分布在三种不同的联系中。\]](http://docs.aws.amazon.com/zh_cn/connect/latest/adminguide/images/queued-callback-customer-first-callback-contact-lifecycle-1.png)


以下是对每种联系的描述。

1. **入站客户联系（C1）**为入站语音联系。它类似于所有其他入站客户联系。

1. **排队回拨联系（C2）**为客户优先回拨的排队环节。它有一个新的启动方法，即 CALLBACK\$1CUSTOMER\$1FIRST\$1QUEUED。
   + 如果您在[转接队列](transfer-to-queue.md)数据块中选择了**设置创建流**，则 C2 会触发创建流。如果在[转接队列](transfer-to-queue.md)数据块中指定了**初始延迟**，则它会在工作队列中排队之前和初始延迟之后执行此操作。
   + C2 在[转接队列](transfer-to-queue.md)数据块中不支持**最大重试次数**和**尝试之间的最短时间**设置。该功能仅可用于座席优先回拨。

1. **已拨打回拨联系（C3）**为客户优先回拨的已拨打环节。它有一个新的启动方法，即 CALLBACK\$1CUSTOMER\$1FIRST\$1DIALED。
   + C3 会触发您在[转接队列](transfer-to-queue.md)流数据块中指定的所需出站回拨流。您只能为客户优先回拨模式指定出站回拨流，而不是为座席优先回拨模式指定出站回拨流。
   + 对于客户优先回拨，您可以根据[检查呼叫进度](check-call-progress.md)流数据块的输出，在为 C3 指定的出站流中配置重试和不同尝试之间的时间。这样做的目的是，确定联系人是通过语音邮件回复的，还是通过人声回复的。
   + 在确认客户存在后，C3 的流应该有一个[转接队列](transfer-to-queue.md)流数据块，此数据块配置为将联系置于其队列中，以寻找下一个可用的座席。
   + 您可以通过使用[设置路由标准](set-routing-criteria.md)或[更改路由优先级/龄期](change-routing-priority.md)数据块在流中自定义此联系的路由优先级。

**注意**  
在创建 C2 之前，您必须至少设置一次最终工作队列。  
您可以使用[设置工作队列](set-working-queue.md)在 C1 入站流中执行此操作。或者，在配置 C2 时，可以在[转接队列](transfer-to-queue.md)数据块中指定队列。
您可以通过为 C2 使用**设置创建流**，或者使用您为 C3 指定的出站流来修改最终工作队列。
当您在联系生命周期的任何阶段（步骤 C1、C2 或 C3）为回拨设置最终工作队列时，以下阶段将继承该队列。

## 客户优先回拨的指标
<a name="customer-first-callback-metrics"></a>

您可以在队列性能控制面板中或使用 [GetMetricDataV2](https://docs.aws.amazon.com/connect/latest/APIReference/API_GetMetricDataV2.html) API 访问以下指标。
+ [平均队列放弃时间 - 客户首次回拨](metrics-definitions.md#average-queue-abandon-time-customer-first-callback)
+ [平均队列应答时间 - 客户首次回拨](metrics-definitions.md#average-queue-answer-time-customer-first-callback)
+ [平均应答速度 - 已拨打客户首次回拨](metrics-definitions.md#average-speed-of-answer-customer-first-callback-dialed)
+ [客户连接后的平均等待时间 - 客户首次回拨](metrics-definitions.md#average-wait-time-after-customer-connection-customer-first-callback)
+ [回拨尝试 - 客户首次回拨](metrics-definitions.md#callback-attempts-customer-first-callback)
+ [联系数量 - 座席首次回拨](metrics-definitions.md#contact-volume-agent-first-callback)
+ [联系数量 - 客户首次回拨](metrics-definitions.md#contact-volume-customer-first-callback)
+ [已放弃的联系 - 客户首次回拨](metrics-definitions.md#contacts-abandoned-customer-first-callback)
+ [已处理的联系 - 客户首次回拨](metrics-definitions.md#contacts-handled-customer-first-callback)

## 客户优先回拨的示例联系记录
<a name="customer-first-callback-contact-lifecycle-contact-model"></a>

以下是示例联系记录，用于展示针对客户优先回拨的 C2 和 C3 阶段存储了哪些信息。

### 示例 C2 排队客户优先回拨联系记录
<a name="customer-first-callback-contact-lifecycle-contact-model-c2"></a>

```
InitialContactId : C1 (Inbound contact)
ContactId : C2 (this contact)
PreviousContactId : C1 (Inbound contact)
NextContactId : C3 (Dialed customer first callback contact)
Channel : VOICE,
InitiationMethod : CALLBACK_CUSTOMER_FIRST_QUEUED, 

ConnectedToSystemTimeStamp : time // Timestamp when callback creation flow got started

CustomerEndpoint : customer phone number endpoint

DisconnectTimestamp : time // Timestamp indicating contact is disconnected and customer will be dialed

DisconnectReason : // Disconnect reason code 

InitiationTimeStamp : time // Timestamp indicating customer first callback has been created in connect systems

QueueInfo : {
    Arn : arn // Queue arn representing customer first callback queue
    EnqueueTimeStamp : time // Timestamp indicating customer first callback has been put in queue and waiting out to dial.
    DequeueTimeStamp : time // Timestamp indicating customer first callback has been taken out from queue to dial out end customer.
    Duration : time // total time it took connect systems to dial out end customer. 
}
```

### 示例 C3 拨打客户优先回拨联系
<a name="customer-first-callback-contact-lifecycle-contact-model-c3"></a>

```
InitialContactId : C1 (Inbound contact)
ContactId : C3 (this contact)
PreviousContactId : C2 (Queued customer first callback contact)
Channel : VOICE,
InitiationMethod : CALLBACK_CUSTOMER_FIRST_DIALED,

ConnectedToSystemTimeStamp : time // Timestamp when the outbound call associated with callback was connected with customer.

CustomerEndpoint : customer phone number endpoint

SystemEndpoint : Outbound caller id assigned to the outbound queue

Agent : {
    // All agent information associated with the outbound call. 
    // Like Agent Arn, ConnectToAgentTimestamp, ACW duration etc. 
}

AgentConnectionAttempts : number

DisconnectTimestamp : time // Timestamp indicating outbound call for the callback is disconnected

DisconnectReason : // Disconnect reason code

SegmentAttributes : { 
    'connect:TrafficType' : 'CUSTOMER_FIRST_CALLBACK'
}, 

AnsweringMachineDetectionStatus : HUMAN_ANSWERED|VOICEMAIL_BEEP|VOICEMAIL_NO_BEEP|AMD_UNANSWERED|AMD_UNRESOLVED|AMD_NOT_APPLICABLE|SIT_TONE_BUSY|SIT_TONE_INVALID_NUMBER|SIT_TONE_DETECTED|FAX_MACHINE_DETECTED|AMD_ERROR|AMD_UNRESOLVED_SILENCE(WIP)

CustomerVoiceActivity : {
    GreetingStartTimestamp : timestamp
    GreetingEndTimestamp : timestamp
}

InitiationTimeStamp : time // Timestamp indicating start of outbound call to customer
 
QueueInfo : {
    Arn : arn // Queue arn representing customer first callback queue
    EnqueueTimeStamp : time // Timestamp indicating customer first callback has been put in queue to join with agent.
    DequeueTimeStamp : time // Timestamp indicating customer first callback has been taken out from queue to join with agent.
    Duration : time // total time it took connect systems to join dialed end customer with agent.
    CallbackTotalQueueDuration : time // total time the customer first callback spent in queue (Includes the total queued time for C2 and C3.)
}
```

## 客户优先回拨的示例流
<a name="customer-first-callback-contact-lifecycle-sample-flows"></a>

以下示例流显示了如何能够为客户优先回拨配置流。

### 示例入站呼叫流
<a name="customer-first-callback-contact-lifecycle-sample-flows-inbound"></a>

下图显示了流中的[转接队列](transfer-to-queue.md)数据块。

![\[客户优先回拨流中的“转接队列”数据块。\]](http://docs.aws.amazon.com/zh_cn/connect/latest/adminguide/images/customer-first-callback-contact-lifecycle-sample-flows-inbound-1.png)


在此流中，[转接队列](transfer-to-queue.md)已配置**设置创建流**，并指定了出站拨号流。

![\[“转接队列”数据块，其中配置了“设置创建流”并指定了出站拨号流。\]](http://docs.aws.amazon.com/zh_cn/connect/latest/adminguide/images/customer-first-callback-contact-lifecycle-sample-flows-inbound-2.png)


### 示例回拨创建流配置
<a name="customer-first-callback-contact-lifecycle-sample-flows-creation"></a>

下图显示了示例回拨创建流。已配置[设置客户队列流](set-customer-queue-flow.md)块，因此当回拨联系人在队列中等待座席有空向客户拨出号码时，客户队列流会运行。

![\[带有“设置客户队列”数据块的示例回拨创建流。\]](http://docs.aws.amazon.com/zh_cn/connect/latest/adminguide/images/customer-first-callback-contact-lifecycle-sample-flows-creation-1.png)


### 回拨的示例出站拨号流
<a name="customer-first-callback-contact-lifecycle-sample-flows-outbound"></a>

在下图所示的出站拨号流中，Amazon Connect 使用[检查呼叫进度](check-call-progress.md)数据块来评估客户的存在情况。如果检测到语音邮件，则会重新创建回拨联系。如果在呼叫的另一端检测到客户，则该呼叫将转接到队列中，以便座席可加入该客户。

![\[带有“检查通话进度”数据块的出站拨号流\]](http://docs.aws.amazon.com/zh_cn/connect/latest/adminguide/images/customer-first-callback-contact-lifecycle-sample-flows-outbound-1.png)
