我正在使用 Twilio 和 Python 设置电话树。我正在尝试获取调用者所在队列的名称,并将其与短信警报一起发送给代理。我发现队列的名称是 <Enqueue>
中的一个名词。动词,但找不到任何有关如何获得该名称的信息。代码..
本节响应 <Gather>
动词,并根据调用者输入的内容将调用者分配到队列。
@app.route('/open', methods=['POST'])
def open():
response = twiml.Response()
if request.form['Digits'] == "1":
response.enqueue("general", waitUrl="/wait")
elif request.form['Digits'] == "2":
response.enqueue("current", waitUrl="/wait")
return str(response);
此部分告诉调用者他们在队列中的位置、播放等待音乐并发送 SMS 消息。目前有request.form['QueueSid']
是我想放置队列的“友好名称”的地方 - 例如“一般”。
@app.route('/wait', methods=['POST'])
def wait():
response = twiml.Response()
response.say("You are %s in the queue." % request.form['QueuePosition'])
response.play("http://com.twilio.music.classical.s3.amazonaws.com/BusyStrings.mp3")
account_sid = "*****"
auth_token = "*****"
client = TwilioRestClient(account_sid, auth_token)
client.sms.messages.create(to="+15555555555", from_="+15555555554", body="A caller is in the call queue - %(num)s in queue %(queue)s" % {"num": request.form['From'], "queue" : request.form['QueueSid']})
return str(response)
谢谢!
最佳答案
事实证明,我需要使用 Twilio 客户端
根据队列的 SID 获取队列的详细信息。这些详细信息包括我正在寻找的内容,friend_name
。这是带有解决方案的更新代码 -
@app.route('/wait', methods=['POST'])
def wait():
response = twiml.Response()
response.say("You are %s in the queue." % request.form['QueuePosition'])
response.play("http://com.twilio.music.classical.s3.amazonaws.com/BusyStrings.mp3")
account_sid = "*****"
auth_token = "*****"
client = TwilioRestClient(account_sid, auth_token)
queue = client.queues.get(request.form['QueueSid']) #Get the queue based on SID
friendlyName = queue.friendly_name; #Obtain the queue's Friendly Name
client.sms.messages.create(to="+15555555555", from_="+15555555554", body="A caller is in the call queue - %(num)s in queue %(queue)s" % {"num": request.form['From'], "queue" : friendlyName}) #SMS with caller ID and queue's friendly name
return str(response)
希望这对某人有帮助..:)
关于python - 获取调用者所在队列的名称,Twilio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15647308/