我正在尝试通过REST API添加暂停和DTMF音调(类似于Dial an extension using DTMF tones after a pause / Twilio Studio)。我正在使用python helper库。我已经尝试过与上面建议的解决方案相同的解决方案,但遇到错误,并且不确定为什么。
这有效[成功运行Studio流程],但没有提供添加暂停或音调的方法(据我所知):
from twilio.rest import Client
import configuration as configuration
account_sid = configuration.account_sid
auth_token = configuration.auth_token
client = Client(account_sid, auth_token)
execution = client.studio \
.flows(configuration.flow_sid) \
.executions \
.create(to=configuration.test_number, from_=configuration.twlio_number)
print(execution.sid)
这在日志中给我一个401错误(有趣的是,当我将基本相同的概念与Autopilot一起使用时,我没有出现任何错误...但是,客户端希望播放人声而不是机器人语音来读取文本,而Autopilot却没有)尚未有该选项)。它确实确实发出了调用,但是立即指出〜“对不起,发生应用程序错误”。
from twilio.rest import Client
import configuration as configuration
#This version calls a known number just to test it. Called via CLI.
account_sid = configuration.account_sid
auth_token = configuration.auth_token
client = Client(account_sid, auth_token)
call = client.calls.create(
record=True,
send_digits= configuration.insurance_digits,
url='https://studio.twilio.com/v1/Flows/'+configuration.flow_sid+'/Executions',
to= configuration.test_number,
from_= configuration.twlio_number
)
print(call.sid)
我愿意接受解决方案-一种将音调/暂停添加到执行选项的方法(第一个块),或者使调用选项的一个方法(第二个块)实际起作用。说实话,让我选择第二种方法是可行的。
答案 0 :(得分:0)
这就是我最终的方法-不确定是否有更好的方法。我使用了client.studio(第一段代码),因为我知道它至少可以正常工作。
Record Call
= true。无需将参数作为传入的REST请求的一部分进行传递。 A。首先,我在create语句中传递了一个digits
参数。
execution = client.studio \
.flows(configuration.flow_sid) \
.executions \
.create(parameters={'digits':configuration.insurance_digits},to=configuration.test_number, from_=configuration.twlio_number)
B。然后在拨出电话后添加了一个功能小部件。此小部件获取一个功能参数,其中键是数字,值= {{trigger.message.digits}}
。请注意,此功能小部件之后还需要一个新的小部件,该小部件会被跳过(请参见https://support.twilio.com/hc/en-us/articles/360019580493)。
C。最后,有一个简单的函数可以接收数字并创建TwiML,并使用传递的变量来设置正确的音调。 digits=event.digits
给了我我需要说的,然后就是那里的TwiML。函数的末尾需要重定向回您的流,所以类似twiml.redirect('https://webhooks.twilio.com/v1/Accounts/ACxxxxxxxxxxxxx/Flows/FWxxxxxxxxxxxxxxxxxx?FlowEvent=audioComplete');
如果有更简单的方法,请告诉我,但这允许我将DTMF音调作为变量以及电话号码变量传递。