AWS Connect是一种云联系中心服务,可以用于构建和管理与客户的交互。以下是一个示例代码,展示了如何在AWS Connect中播放可插入和不可插入提示的混合。
import boto3
# 创建AWS Connect客户端
client = boto3.client('connect')
# 定义播放提示的函数
def play_prompt(contact_id, prompt):
response = client.start_outbound_voice_contact(
DestinationPhoneNumber='YOUR_PHONE_NUMBER',
ContactFlowId='YOUR_CONTACT_FLOW_ID',
InstanceId='YOUR_INSTANCE_ID',
SourcePhoneNumber='YOUR_SOURCE_PHONE_NUMBER'
)
# 获取呼叫的连接ID
connection_id = response['ConnectionId']
# 播放提示
response = client.send_voice_message(
Content={
'PlainTextMessage': {
'LanguageCode': 'en-US',
'Text': prompt
}
},
ConnectionId=connection_id,
ContactId=contact_id
)
# 等待播放完成
while response['PlaybackStatus'] != 'FINISHED':
response = client.get_voice_message(
ConnectionId=connection_id,
ContactId=contact_id
)
# 创建联系流程
def create_contact_flow():
response = client.create_contact_flow(
InstanceId='YOUR_INSTANCE_ID',
Name='Mixed Prompt Contact Flow',
Type='CONTACT_FLOW',
Content={
'ContactFlow': {
'Version': '1.0',
'Stages': [
{
'Name': 'Play Insertable Prompt',
'Type': 'PLAY_PROMPT',
'PlayPrompt': {
'Text': 'This is an insertable prompt. Press 1 to continue.',
'Interruptible': True
},
'Next': 'Get User Input'
},
{
'Name': 'Get User Input',
'Type': 'GET_USER_INPUT',
'GetUserInput': {
'InitialPrompt': {
'Text': 'Please enter your choice.',
'PlayPrompt': {
'Text': 'Press 1 to play the non-insertable prompt.',
'Interruptible': False
}
},
'InputType': 'DTMF',
'MaxInputs': 1,
'InputMode': 'BLOCKING',
'FallbackFlow': {
'Type': 'DISCONNECT'
},
'Branches': [
{
'Condition': 'input == "1"',
'DestinationFlow': {
'Type': 'PLAY_PROMPT',
'PlayPrompt': {
'Text': 'This is a non-insertable prompt.',
'Interruptible': False
}
}
}
]
},
'Next': 'Hang Up'
},
{
'Name': 'Hang Up',
'Type': 'DISCONNECT'
}
]
}
}
)
return response['ContactFlowId']
# 创建联系流程
contact_flow_id = create_contact_flow()
# 创建联系
response = client.start_outbound_voice_contact(
DestinationPhoneNumber='YOUR_PHONE_NUMBER',
ContactFlowId=contact_flow_id,
InstanceId='YOUR_INSTANCE_ID',
SourcePhoneNumber='YOUR_SOURCE_PHONE_NUMBER'
)
# 获取联系ID
contact_id = response['ContactId']
# 播放可插入提示
play_prompt(contact_id, 'This is an insertable prompt. Press 1 to continue.')
上述代码示例中,我们使用AWS SDK for Python(Boto3)创建了AWS Connect客户端,并定义了一个play_prompt
函数,用于播放提示。然后,我们创建了一个联系流程,其中包含了一个可插入的提示和一个不可插入的提示。最后,我们开始一个呼叫,并调用play_prompt
函数来播放可插入的提示。
请注意,上述代码示例中的YOUR_PHONE_NUMBER
,YOUR_CONTACT_FLOW_ID
,YOUR_INSTANCE_ID
和YOUR_SOURCE_PHONE_NUMBER
需要替换为您自己的值。此外,您需要在AWS管理控制台中配置AWS Connect服务,并具有适当的权限才能运行该代码。