无法批量发送带有Twilio的SMS(错误52182)

时间:2019-04-23 15:36:01

标签: php twilio

Twilio告诉我Error - 52182 Messaging Service not specified,因此,即使我认为自己做到了,我显然也不知道如何具体说明。 Twilio调试器的主体显示Messaging service SID must be specified

到目前为止,我还没有发现任何对堆栈有帮助的内容,因此我提出了一个问题。 Twilio文档也是如此。

$recipients = [];

foreach ($userIds as $userId) {
    $user = Craft::$app->users->getUserById($userId);

    $number = !empty($user->mobil);

    if ($number) {
        try {
            $number = $twilio->lookups->v1->phoneNumbers($user->mobil)->fetch(['countryCode' => 'NO'])->phoneNumber;
            $recipients[] = '{"binding_type":"sms", "address":"'.$number.'"}';
        } catch (\Exception $e) {
            continue;
        }
    }
}

$twilio = new Client('xxx', 'xxx');

$service = $twilio->notify->v1->services->create();

$twilio->notify->services($service->sid)
    ->notifications->create([
        "toBinding" => $recipients,
        "body" => $body
    ]);

我以为我在$twilio->notify->services($service->sid)中指定了服务sid,但显然不是。

以前,我会一次循环发送一条SMS,但是由于订阅者列表的增加,超时了。

感谢您对此发表任何看法。

1 个答案:

答案 0 :(得分:0)

我在youtube上找到了本指南:https://www.youtube.com/watch?v=EMOYY58jyKk,这似乎已经解决了我的问题,它不是针对PHP的,但是步骤几乎相同。

无论如何,我的最终代码都是这样

$notifySid = 'ISxxxx';

// Bulk send the SMS
$notification = $twilio->notify->v1->services($notifySid)
    ->notifications->create([
        "toBinding" => $recipients,
        "body" => $body
    ]);