使用TwiML Voice:动词收集语音留言,保存并转录。
我有一个PHP文件来生成一封电子邮件,端到端似乎工作正常。
我的问题是,在早期阶段,我从调用者处收集访问代码,该代码会查找客户信息。我在后续步骤中使用该信息来个性化体验。
现在我想将收集到的信息发送到transcribeCallback定义中,这样我就可以将其包含在提醒pagerduty回复给客户的电子邮件中。但是,当我在transcribeCallback的url上添加其他查询字符串时,会生成错误。
<Record action="/v2/goodbye.xml" timeout="15" transcribe="true" transcribeCallback="/v2/processtrans.php"/>
电子邮件有效,我有TranscriptionText和TranscriptionUrl等所有默认值,但我不知道如何访问我自己的值,如客户代码,姓名,电子邮件等。
在开始使用PHP处理程序之前,我使用了内置的twimlets设置:
<Record action="/goodbye.xml" timeout="15" transcribe="true" transcribeCallback="http://twimlets.com/voicemail?Email=mysupport@pagerduty.com"/>
答案 0 :(得分:1)
ecorvo的答案正是我所寻找的,因为它确认我实际上可以在transcribeCallback中添加查询字符串参数。
但我必须解决2个问题......
我正在使用的twilio方法需要一系列XML文件,每个文件通过action属性级联到另一个,它定义了要说的内容,记录等等。我在PHP中动态生成这些xml文件。
第一个问题 - XML被拒绝,错误表明缺少“;”/分号。原来这是由“&amp;”引起的。第一个和第二个参数之间的分隔符。所以我将&
更改为&
并修复了此问题。 https://stackoverflow.com/a/23422397/534453
第二个问题 - 我需要对参数进行urlencode,然后在下一个PHP脚本中进行urldecode。
构建twiml记录动词字符串的PHP脚本如下所示:
'<Record action="/intl-v2/goodbye.xml" timeout="15" transcribeCallback="/intl-v2/processtrans.php?acode='.urlencode($accesscode).'&compname='.urlencode($compname).'"/>
希望这会有所帮助......
答案 1 :(得分:0)
您应该能够将值作为查询字符串参数传递,如下所示:
<Record action="/v2/goodbye.xml" timeout="15" transcribe="true" transcribeCallback="/v2/processtrans.php?param1=firstParam¶m2=secondParam"/>