Twilio用于传入呼叫在python代码中的给定点如何获取当前呼叫SID

时间:2019-09-21 18:04:40

标签: python flask twilio

我正在将Python Flask与ngrok一起使用,并将webhook地址设置为ngrok url。 传入呼叫到达Webhook地址后,我需要获取当前呼叫SID:

@app.route("/voice", methods=['GET', 'POST'])
def voice()
resp = VoiceResponse()

如何获取当前的呼叫SID? (给出帐户SID和令牌。) 我知道可以在仪表板中找到它,但是如何在代码中找到它?

1 个答案:

答案 0 :(得分:2)

这里是Twilio开发人员的传播者。

如果您希望获得使用Flask和ngrok进行入站/拨入呼叫的当前呼叫SID,可以使用以下所示的request.form['CallSid']和Flask中的request

from twilio.twiml.voice_response import VoiceResponse
from flask import Flask, request
app = Flask(__name__)
@app.route("/voice", methods=['GET', 'POST'])
def voice():
    resp = VoiceResponse()

    # Read a message aloud to the caller
    resp.say("hello world!", voice='alice') #example, I added this line and it's unneeded
    call_sid = request.form['CallSid']
    print(call_sid)
    return str(resp)

如果您从Twilio客户端进行出站呼叫,则可以通过以下方式获取当前呼叫SID:

from twilio.rest import Client
client = Client(YOUR-TWILIO_ACCOUNT_SID, YOUR-TWILIO_AUTH_TOKEN)

call = client.calls.create(
    to= 'NUMBER-TO-CALL',
    from_ = 'YOUR-TWILIO-NUMBER',
    url = 'http://demo.twilio.com/docs/classic.mp3'
)
print(call.sid)

希望这会有所帮助!