You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Twilio API是否支持WhatsApp批量发消息?如何无循环批量发送

Twilio WhatsApp渠道批量消息发送解答

Twilio 标准消息发送接口不支持单次请求向多个WhatsApp收件人发送消息,接口要求单次请求的to参数仅可传入单个符合E.164格式的有效收件人号码,你当前通过遍历号码逐个调用接口的基础逻辑是符合接口规则的。

如果不想使用阻塞式的同步foreach循环(即等待上一条消息接口返回后再发送下一条,整体发送效率低),可以使用Twilio PHP SDK自带的批量并发能力提交所有发送任务,无需手动逐个同步等待响应,优化后的实现代码如下:

public function sendToMany(Request $request){

    $number = getenv('TWILIO_NUMBER'); // Twilio 绑定的WhatsApp发送号码
    $sid    = getenv('TWILIO_ACCOUNT_SID');
    $token  = getenv('TWILIO_AUTH_TOKEN');
    $twilio = new Client($sid, $token);

    $otp = $request->message; // 待发送的消息内容
    $receiver = array("+xxxxxxxxxxxx", "+xxxxxxxxxxxx", "+xxxxxxxxxxxx"); // 收件人号码列表

    $batch = $twilio->createBatch();
    // 批量添加所有发送任务
    foreach ($receiver as $receiver_number){
        $batch->add($twilio->messages->createAsync(
            "whatsapp:".$receiver_number,
            array(
                "from" => "whatsapp:".$number,
                "body" => $otp
            )
        ));
    }
    // 统一提交所有批量请求,并发执行,获取全部发送结果
    $sendResults = $batch->submit();
}

注意事项

  • 上述批量并发实现是通过SDK封装的请求合并能力降低同步等待耗时,本质上仍然为每个收件人生成独立的消息投递记录,完全符合Twilio和WhatsApp的平台规则
  • 禁止在to参数中传入数组、逗号分隔的多号码字符串,这类请求会直接触发参数校验错误
  • 若消息发送量级较大,可搭配Twilio消息服务能力使用,自动处理发送限速、失败重试逻辑,降低业务代码的异常处理成本

内容的提问来源于stack exchange,提问作者elie.irani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 20:18:25