获取呼叫者所在队列的名称,Twili

2024-06-17 11:08:24 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用Twilio和Python建立一个电话树。我正在尝试获取调用者所在队列的名称,以便将其与SMS警报一起发送给代理。{1>在这个名为^ 1>的名词中,我找不到任何东西。代码。。在

此部分响应<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);

这个部分告诉呼叫者他们在队列中的位置,播放hold音乐,并发送一条短消息。它当前的位置request.form['QueueSid']是我要放置队列的“友好名称”的位置-例如,“general”

^{pr2}$

谢谢!在


Tags: form名称队列responserequestopensmsgeneral
1条回答
网友
1楼 · 发布于 2024-06-17 11:08:24

结果我需要使用Twilio client根据它的SID获取队列的详细信息。这些细节包括我要找的,friendly_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)

希望这对某人有帮助。。:)

相关问题 更多 >