要在Amazon Connect中实现获取客户输入小部件不等待客户输入,可以使用Amazon Connect的事件流功能来实现。
以下是一个示例代码,演示如何在Amazon Connect的流程中实现获取客户输入小部件不等待客户输入:
const AWS = require('aws-sdk');
const connect = new AWS.Connect();
exports.handler = async (event) => {
const { Details } = event;
if (Details.Parameters.waitUserInput === 'false') {
// 获取当前连接的联系流程和联系ID
const contactFlowId = Details.ContactData.ContactFlowId;
const contactId = Details.ContactData.ContactId;
// 使用Amazon Connect的StartChatContact API发送一个自定义事件,指示不等待客户输入
await connect.startChatContact({
ContactFlowId: contactFlowId,
InstanceId: Details.ContactData.InstanceId,
ParticipantDetails: {
ContactId: contactId,
DisplayName: 'System',
Role: 'SYSTEM',
},
Attributes: {
'waitUserInput': 'false',
},
}).promise();
}
// 返回一个成功的响应,告诉Amazon Connect继续流程
return {
statusCode: 200,
body: JSON.stringify({
message: 'Success',
}),
};
};
在上面的代码中,我们首先检查输入参数waitUserInput是否为false。如果是,我们获取当前联系的联系流程和联系ID,并使用StartChatContact API发送一个自定义事件,指示不等待客户输入。然后,我们返回一个成功的响应,告诉Amazon Connect继续流程。
请注意,上述代码是一个Lambda函数的示例,你需要将其部署到AWS Lambda中,并将其与Amazon Connect的联系流程集成。