def create_workflow(workspace, queues):
defaultTarget = {
'queue': queues['sms'].sid,
'Priority': 5,
'Timeout': 30
}
smsTarget = {
'queue': queues['sms'].sid,
'Priority': 5,
'Timeout': 30
}
voiceTarget = {
'queue': queues['voice'].sid,
'Priority': 5,
'Timeout': 30
}
default_filter = {
'queue': queues['default'].sid,
'Expression': '1==1',
'Priority': 1,
'Timeout': 30
}
voiceFilter = {
'expression': 'selected_product=="ProgrammableVoice"',
'targets': [voiceTarget, defaultTarget]
}
smsFilter = {
'expression': 'selected_product=="ProgrammableSMS"',
'targets': [smsTarget, defaultTarget]
}
config = {
'task_routing': {
'filters': [voiceFilter, smsFilter],
'default_filter': default_filter
}
}
callback_url = HOST + '/assignment'
return CLIENT.taskrouter.workspaces(workspace.sid)\
.workflows.create(friendly_name='Sales',
assignment_callback_url=callback_url,
fallback_assignment_callback_url=callback_url,
task_reservation_timeout=15,
configuration=json.dumps(config))
评论列表
文章目录