Как отправить SMS-сообщения нескольким получателям с помощью Twilio Notify? - PullRequest
0 голосов
/ 11 декабря 2018

Служба Twilio Passthrough API или Notify должна позволять вам отправлять SMS (или Facebook Messenger, WhatsApp и т. Д.) Сообщениями в большом количестве с помощью одного вызова API.Однако у меня возникают трудности с получением вызова и атрибута toBindings Twilio для приема массива значений.

$Addresses = array("+19999999999", "+18888888888");
$toBindingAttributes = array();

foreach ($Addresses as $Address) {
    array_push($toBindingAttributes, '{"binding_type":"sms","address":"' . $Address . '"}');
}

$notification = $client->notify->services($MyNotifySid)->notifications->create([
    "toBinding" => [ $toBindingAttributes ],
    "body" => "This is a manual test."
    ]);

В приведенном выше примере это только отправка первого SMS.Он не циклически перебирает данный массив.

Поддержка Twilio прислала мне этот пример:

$MyNumbers = array('{"binding_type":"sms", "address":"+1555555555"}', '{"binding_type":"sms", "address":"+14444444444"}');
$notification = $client->notify->services($serviceSid)->notifications->create([
    "toBinding" => [$MyNumbers[0],$MyNumbers[1]],
    "body" => "Notification Test"
]);

и действительно работает так, как представлено.Но какой смысл использовать массив значений, если вам нужно явно объявить каждый ключ массива в атрибутах?Даже попробовали на своем примере:

"toBinding" => [ implode(",", $MyNumbers) ],

, и он все равно будет отправлять только первое SMS.Что мне здесь не хватает?

1 Ответ

0 голосов
/ 11 декабря 2018

Вы двойные массивы:

"toBinding" => [ $toBindingAttributes ],

$toBindingAttributes - это уже массив, поэтому:

"toBinding" => $toBindingAttributes,

должно сработать.

...