使用 sendMessage 方法(相对于 create 方法)时如何指定 Twilio StatusCallBack URL?

How do I specify the Twilio StatusCallBack URL when using the sendMessage method (versus the create method)?

以下代码完美运行...

$message = $client->account->sms_messages->create($twilio_number, $to, $body, array("StatusCallback" => "http://etc...));

...对于 160 个字符限制内的短信。 SMS 已发送,当状态更改时,我的服务器会在回调 URL 中联系。

但是,此方法不支持串联消息或彩信。对于这些,Twilio 文档提供了一个 sendMessage 示例。此代码有效...

$message = $client->account->messages->sendMessage($from, $to, $body, $mediaURL);

... 第四个调用参数,以前用于 StatusCallBack URL,被 Media URL.[=14= 取代]

Twilio documentation page 有一个 "Optional Parameters" 部分,其中列出并解释了 StatusCallback,但是没有示例说明在使用 sendMessage[=29= 时如何包含它] 上面及其示例代码中显示的方法。

是否可以使用 sendMessage 方法指定回调,如果可以,如何实现?

这里是 Twilio 开发人员布道者。

你是对的,文档没有告诉你如何在 sendMessage 方法中使用可选参数。您实际上可以将第 5 个参数传递给带有选项数组的方法,如下所示:

$message = $client->account->messages->sendMessage($from, $to, $body, $mediaURL, array("StatusCallback" => "http://example.com/callback"));

如果您没有要添加到消息中的媒体,这看起来像:

$message = $client->account->messages->sendMessage($from, $to, $body, null, array("StatusCallback" => "http://example.com/callback"));

您还可以使用带有选项数组的 create 方法,这可能更简洁:

$message = $client->account->messages->create(array(
  "To" => $to,
  "From" => $from,
  "Body" => $body,
  "StatusCallback" => "http://example.com/callback"
));

希望对您有所帮助。