Twilio Studio REST API暂停并发送DTMF代码

2024-04-23 23:42:18 发布

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

我试图通过restapi添加停顿和DTMF音调(类似于Dial an extension using DTMF tones after a pause / Twilio Studio)。我正在使用python助手库。我已经尝试了与上面建议的相同的解决方案,但得到了一个错误,我不确定为什么。在

这可以[成功运行工作室流],但不提供添加停顿或音调的方法(据我所知):

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错误(有趣的是,当我使用与自动驾驶仪相同的基本概念时,我没有错误……但是客户希望播放人类的声音,而不是机器人语音阅读文本,而自动驾驶仪目前还没有这个选项)。它确实发出了呼叫,但立即声明~“抱歉,发生了应用程序错误”。在

^{pr2}$

我对解决方案持开放态度——要么是向执行选项(第一个块)添加音调/暂停的方法,要么是让调用选项(第二个块)真正起作用的方法。说实话,让第二种选择发挥作用是我的偏好。在


Tags: 方法fromimportclienttokenauth选项错误
1条回答
网友
1楼 · 发布于 2024-04-23 23:42:18

这就是我最终做的——不确定是否有更好的方法。我用了client.studio(第一块代码)因为我知道它至少有效。

  1. 录制-这很简单-只需在小部件上设置^{{cd1>}=true。不需要将参数作为传入REST请求的一部分进行传递。
  2. 发送数字。稍微多一些。

首先,我传递了一个^{{cd2>}的参数,作为create语句的一部分。

    execution = client.studio \
                  .flows(configuration.flow_sid) \
                  .executions \
                  .create(parameters={'digits':configuration.insurance_digits},to=configuration.test_number, from_=configuration.twlio_number)

然后,我在发出的调用被放置后添加了一个函数小部件。此小部件获取一个函数参数,其中键为数字,值=^{cd3>}。注意,在跳过这个函数小部件之后,还需要一个新的小部件(请参见https://support.twilio.com/hc/en-us/articles/360019580493)。

最后,有一个简单的函数,接收数字并创建TwiML,并使用传递的变量来设置正确的音调。^{cd4>}给我我需要说的话,然后它只是从那里抽搐。函数的末尾需要重定向回您的流,所以类似^{{cd5>}

如果有一种更简单的方法让我知道,但这允许我将DTMF音调作为变量传递,以及我的电话号码变量。

相关问题 更多 >