如何通过 Zapier 向 Klaviyo 发送同意书

预计阅读 4 分钟 | 更新于 2026年4月21日 9:54 AM EST

你将会学到

了解如何创建自定义 Zapier Webhook 以向 Klaviyo 发送短信同意。您还可以轻松修改本指南中的说明以发送电子邮件同意书。以下步骤将帮助您使用触发 Python 脚本操作的 Webhook(也称为 catch hook)创建 Zap。该脚本向 Klaviyo 发送 API 调用,以将电子邮件和电话号码订阅到列表。此功能仅适用于拥有 Premium Zapier 计划的用户。

关于集成

Klaviyo 并不完全支持此集成,但如果需要,可以将其用作解决方法。我们建议仅当您的团队中有可以支持此集成的开发人员时才使用此集成。本指南使用 Zapier 代码操作,该操作在检测到触发器时运行 Python 脚本。通过此解决方案,您可以将字段映射到 Klaviyo 端点所需的数据类型;具体来说,订阅配置文件取消订阅配置文件端点。

设置 Zapier webhook

  1. 登录您的 Zapier 帐户。
  2. 在 Zapier 的主页中,选择+创建,然后选择Zap
  3. 输入新 Zap 的名称(例如 Klaviyo Webhook)。
  4. 搜索 Webhook,然后从“触发器”菜单中选择Webhooks by Zapier
Klaviyo help center screenshot
Klaviyo help center screenshot
  1. 在下一个菜单中,从 Trigger Event 选项中选择 Catch Hook
Klaviyo help center screenshot
Klaviyo help center screenshot
  1. 单击继续
  2. 选择测试选项卡。
  3. 复制 Zapier 提供的 Webhook URL,以便您将请求发送到。
Klaviyo help center screenshot
Klaviyo help center screenshot
  1. 在测试之前,您需要将测试数据发送到您的 webhook。有关更多信息,请参阅我们的如何将测试数据发送到 Zapier 指南。发送测试数据时,请确保电话号码格式正确
  2. 将测试数据发送到 Webhook 后,单击测试触发器(在测试选项卡上)。
Klaviyo help center screenshot
Klaviyo help center screenshot
  1. 如果请求成功,您将看到一条成功消息,并且测试数据将填充在成功消息下方,类似于以下示例:
Klaviyo help center screenshot
Klaviyo help center screenshot
  1. 触发器工作后,单击继续选择记录

设置 Zapier 操作

  1. 在“操作”菜单中,在搜索框中输入Code by Zapier,然后从列表中选择选项。
Klaviyo help center screenshot
Klaviyo help center screenshot
  1. 单击选择事件 > 运行 Python
Klaviyo help center screenshot
Klaviyo help center screenshot
  1. 单击继续

设置字段映射并创建脚本逻辑

  1. 设置字段映射,将下表中的输入数据与您之前发送的正确测试数据相关联。
Klaviyo help center screenshot
Klaviyo help center screenshot
输入数据测试数据映射
电子邮件1. 电子邮件:<测试电子邮件>
电话号码1. 电话号码:<测试电话号码>
短信同意1. 短信\_同意:true
名称1. 姓名:<测试名称>
  1. 将如下所示的脚本添加到代码框中:
   导入请求

   # 配置短信订阅或取消订阅呼叫
   if (input_data["sms_consent"] == "true" 或 input_data["sms_consent"] == "True" 或 input_data["sms_consent"] == "TRUE"):
     url =“https://a.klaviyo.com/api/profile-subscription-bulk-create-jobs/”有效负载={“数据”:{
           “类型”:“个人资料订阅批量创建作业”,
           “属性”:{
               “配置文件”:{“数据”:[
                       {
                           “类型”:“个人资料”,
                           “属性”:{
                               “电子邮件”:input_data[“电子邮件”],
                               “电话号码”:输入数据[“电话号码”],
                               “订阅”:{
                                   "sms": { "营销": { "同意": "订阅" } }
                               }
                           }
                       }
                   ] }
           },
           “关系”:{ “列表”:{ “数据”:{
                       “类型”:“列表”,
                       “id”:“LIST_ID”
                   } } }
       } }

   elif (input_data["sms_consent"] == "false" 或 input_data["sms_consent"] == "False" 或 input_data["sms_consent"] == "FALSE"): url = "https://a.klaviyo.com/api/profile-subscription-bulk-delete-jobs/"
     有效负载= {“数据”:{
           "type": "个人资料订阅批量删除作业",
           “属性”:{
               “配置文件”:{“数据”:[
                       {
                           “类型”:“个人资料”,
                           “属性”:{
                               “电子邮件”:input_data[“电子邮件”],
                               “电话号码”:输入数据[“电话号码”],
                           }
                       }
                   ] }
           },
           “关系”:{ “列表”:{ “数据”:{
                       “类型”:“列表”,
                       “id”:“LIST_ID”
                   } } }
       } }
   标题= {
       “接受”:“应用程序/json”,
       “修订”:“2024-05-15”,
       “内容类型”:“应用程序/json”,
       “授权”:“Klaviyo-API-Key your-private-api-key”
   }

   响应 = requests.post(url, json=payload, headers=headers)

   # Zapier 需要一个“输出”对象
   输出 = {“响应文本”:response.text}
  1. your-private-api-key 替换为您的 Klaviyo 私有 API 密钥。像对待密码一样对待私有 API 密钥 – 将它们保存在安全的地方,并且永远不要向公众公开。
  2. 将“LIST_ID”(两个位置中的)替换为您要将 Zapier 数据发送到的 Klaviyo 列表 ID。您可以通过导航至受众 > 列表和细分 > 设置 在 Klaviyo 中找到您的列表 ID。如果您希望立即订阅人员而无需确认(这在测试期间可能会有所帮助),请确保您的列表设置为单一选择加入(可在列表设置中的“同意”选项卡下找到)。
  3. 单击继续,然后单击测试步骤
  4. 如果测试成功,您将看到没有错误的响应,如下所示:
Klaviyo help center screenshot
Klaviyo help center screenshot
  1. 您还可以通过导航到列表并确保配置文件已添加来检查 Klaviyo 中的测试是否成功。
Klaviyo help center screenshot
Klaviyo help center screenshot
  1. 测试成功后,单击发布 发布您的 zap。如果您的测试不成功,请查看我们的故障排除提示 了解常见问题。

故障排除技巧

以下是您在设置 Zapier Webhook 时可能遇到的常见问题。如果您遇到任何其他问题,可以联系 Klaviyo 社区 获取进一步指导。

扫描字符串时 EOL

如果您看到此错误,则说明您在变量之一周围缺少引号。检查列表 ID 和私有 API 密钥,确保它们两边都用引号引起来。

SyntaxError:语法无效

如果您看到此错误,请删除 Python 代码中的注释(任何以“#”开头的行)。