首页 > 解决方案 > AWS Connect 的编程触发器 - 代理联系流

问题描述

我实现了以下用例:

1) 我能够使用以下代码以编程方式对“联系流(入站)”联系流类型进行出站呼叫

 let params = {
    "InstanceId" : '12345l-abcd-1234-abcde-123456789bcde',
    "ContactFlowId" : '987654-lkjhgf-9875-abcde-poiuyt0987645',
    "SourcePhoneNumber" : '+1123456789',
    "DestinationPhoneNumber" : customerPhoneNumber,
    "Attributes" : {
        'name' : customerName,
        'dayOfWeek' : dayOfWeek
    }

}

connect.startOutboundVoiceContact(
    params, function (error, response){

        if(error) {
            console.log(error)
            callback("Error", null);
        } else
        {
            console.log('Initiated an outbound call with Contact Id ' + JSON.stringify(response.ContactId));
            callback(null, 'Success');
        }
    }
    ); 

它正在成功运行。但一个问题是“它将直接从 AWS Connect 呼叫客户,其中不包括代理”

2) 使用亚马逊 CCP(呼叫控制面板),我能够向客户拨打外线电话,并且工作成功。

待办事项/目标:

而不是“联系入站流类型”,如果我尝试使用具有相同代码的“代理转移流类型”,

在此处输入图像描述

它失败并出现以下错误

  message: 'ContactFlow type is invalid',
  code: 'InvalidParameterException',
  time: 2019-10-17T14:28:02.568Z,
  requestId: 'e7359538-a0b2-47c5-a61f-6c7e1b4bf7a6',
  statusCode: 400,
  retryable: false,
  retryDelay: 63.66530948519367 }

那么如何在通话中自动将座席连接到客户呢?

标签: amazon-web-servicesamazon-s3aws-lambdaaws-sdkamazon-connect

解决方案


startOutboindVoiceContact()必须提供类型为Inbound的联系流的 ID 。因此,您只需更改入站联系流即可执行以下步骤:

  1. 使用“设置工作队列”块设置具有代理的队列
  2. 使用“转移到队列”块将呼叫发送到队列

这会将呼叫传递给队列中的可用座席,或者如果在转移时没有可用座席,则将呼叫排队。


推荐阅读