我怎么知道SMS在Twilio的目的地是否到达

时间:2013-11-08 11:30:08

标签: java sms twilio sms-gateway

我正在开发一个网络应用程序,我正在使用twilio网关发送短信。我需要在我的页面上显示短信的状态。如果发送短信,那么它将显示已发送,否则它将显示待定。所以请告诉我如何知道消息是否已经发送。

以下是示例代码

public class Example {

  public static final String ACCOUNT_SID = "AC5b8866a232v3b63bfgh0f9a872b2dfddd";
  public static final String AUTH_TOKEN = "7a0068ca7d07036cbbddeba03370aujdhnm";

  public static void main(String[] args) throws TwilioRestException {
    TwilioRestClient client = new TwilioRestClient(ACCOUNT_SID, AUTH_TOKEN);

    Map<String, String> params = new HashMap<String, String>();

    params.put("To", "+number");
    params.put("From", "+number");
 System.out.println(System.getProperty("java.class.path"));
    SmsFactory messageFactory = client.getAccount().getSmsFactory();
    Sms message = messageFactory.create(params);

  }
}

2 个答案:

答案 0 :(得分:3)

Twilio传道者在这里。

首先请注意,SmsMessages资源已被弃用,您现在应该使用新的Messages端点。您可以查看Sending SMS Messages快速入门,了解更新的Java代码,其中显示了如何将新资源与Java帮助程序库一起使用。

其次,为了在消息状态更改时接收通知,您应在发送消息时包含StatusCallback参数。包含此参数会告知Twilio在消息状态更改时向参数URL发出请求。

另请注意,由于您的帖子标题不明确,“已发送”状态简单意味着Twilio已成功将消息发送给运营商。这并不一定意味着承运人能够将信息传递给预期的收件人。

希望有所帮助。

答案 1 :(得分:1)

Message.getStatus()就是您所需要的。我认为回复是queuedsendingsentfailed之一。