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

Laravel集成Klaviyo时短信SMS同意状态无法正常设置问题咨询

Klaviyo SMS授权失败问题解决

核心问题原因

  • 电话号码格式不符合要求:Klaviyo的SMS功能要求号码必须使用E.164国际标准格式,需要附带国家码前缀,示例里的1234567890缺少国家码(如美国号码应为+11234567890,中国号码应为+8613xxxxxxxxx),无法被系统识别为合法SMS号码,自然无法标记授权状态。
  • 调用的接口不支持同步更新SMS授权:你当前使用的addSubscribersToList接口默认仅处理邮件订阅授权,要同步提交SMS授权需要使用专门的subscribe方法,不需要单独传$sms_consent字段,仅需要在$consent中指定sms、email即可。
  • 列表配置未开启SMS功能:要先确认你使用的Klaviyo_list_id对应的列表已经在Klaviyo后台开启了SMS订阅选项,否则SMS授权字段会被接口直接忽略。

修改后的参考代码

public function changes()
{
    $client = new Klaviyo('Private_Api_key', 'Public_key');
    $profile = [
        '$email' => 'thomas1.jefferson@mailinator.com',
        '$first_name' => 'Thomas11',
        '$last_name' => 'Jefferson',
        '$phone_number' => "+11234567890", // 替换为符合E.164格式的实际号码
        '$consent' => ['email', 'sms'],
        'Plan' => 'Premium'
    ];
    // 使用subscribe方法同时提交邮件和SMS订阅授权
    $client->lists->subscribe('Klaviyo_list_id', [$profile]);
}

补充注意

如果修改后仍然报错,建议升级Klaviyo PHP SDK到最新版本,旧版本的KlaviyoProfile封装类可能存在参数解析异常,直接用数组传参兼容性更好。

内容的提问来源于stack exchange,提问作者meetStackOverflow

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 13:15:02