仅在 Java 中从 Twilio 获取 StatusCallback 事件

Getting StatusCallback events from Twilio in Java only

我正在试用 Twilio 的短信和电话。我可以通过 Java 代码发送短信和拨打电话。但是我不知道如何在相同的 Java 代码中获得状态回调。

有什么方法可以在我的 java 代码中获取状态回调事件?

params.add(new BasicNameValuePair("StatusCallback", "https://www.myapp.com/events"));
params.add(new BasicNameValuePair("StatusCallbackMethod", "POST"));
params.add(new BasicNameValuePair("StatusCallbackEvent", "initiated"));
params.add(new BasicNameValuePair("StatusCallbackEvent", "ringing"));
params.add(new BasicNameValuePair("StatusCallbackEvent", "answered"));
params.add(new BasicNameValuePair("StatusCallbackEvent", "completed"));

此外,有什么方法可以在 Java 的函数调用函数中提供 TwiML 数据(语音调用的 xml),而不是给它一个 URL到 TwiML/XML 文件。 params.add(new BasicNameValuePair("Url", "http://demo.twilio.com/docs/voice.xml"));

CallFactory callFactory = client.getAccount().getCallFactory();
Call call = callFactory.create(params);

此处为 Twilio 开发人员布道师。

Twilio 执行 status callbacks as webhooks, much like you get when you receive an incoming call or message。为了接收这些 webhook,您的应用程序需要能够被 Twilio 访问。

如果您在本地遇到困难,那么您可能有兴趣查看 ngrok which is a great tool for exposing your local development environment to external services like Twilio

在回答您的其他问题时,您不能在 API 请求中向 Twilio 提供您的 TwiML。您需要有一个服务器,当呼叫连接时,Twilio 可以从中请求 TwiML。