我想使用Java Twilio API以编程方式进行两次传出调用。到目前为止,我所拥有的如下:
我在twilio注册了两个数字。我执行以下代码进行第一个拨出电话:
val call = Call.creator(
PhoneNumber(numberOne), // TO
PhoneNumber(TWILIO_NUMBER0), // FROM
URI.create(twilioInformURL(id)) // INSTRUCTIONS for when person picks up
).setMethod(HttpMethod.POST)
.setStatusCallback(twilioStatusURL(id))
.setStatusCallbackMethod(HttpMethod.POST)
.setStatusCallbackEvent(listOf("initiated", "in-progress", "ringing", "answered", "completed"))
.create()
这将呼叫TWILIO_NUMBER0中的numberOne号码,然后对我的URL进行API POST调用,在其中我返回以下内容以进行第二次调用:
val number = Number.Builder(numberTwo).build()
val dial = Dial.Builder().number(number).build()
val response = VoiceResponse.Builder().dial(dial).build()
return response.toXml()
不幸的是,这不起作用。它只是调用并读出numberTwo。
如果有人知道如何进行这项工作,我将非常感激。
答案 0 :(得分:1)
这里是Twilio开发人员的传播者。
如果Twilio只是读出您的电话号码,那么您很可能不将TwiML作为XML服务。如果Twilio没有看到Content-Type
或text/xml
的{{1}}头,那么它将假定文本内容并读出元素的文本内容。
确保您在webhook响应中设置了application/xml
标头,并且此标头应该可以正常工作。