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

如何无代码解析Mailchimp发送至Zapier Webhook的请求体?

问题:Zapier捕获Mailchimp Webhook后的数据提取与Groups/Tags解析

我正在构建一个Zap来捕获Mailchimp的Webhook,这个Webhook会发送格式规范的JSON数据,我能通过查看器查看这些数据。虽然我熟悉Zapier以及JS/Python编码,但刚接触Webhook by Zapier,现在有个疑问:能不能借助格式化工具提取请求体里的数据?另外,希望有Zapier-Mailchimp Webhook相关经验的人帮忙,重点是解析Groups和Tags部分——这也是我选择Webhook方案的原因。

以下是数据示例:

type
subscribe
fired_at
2022-09-29 23:03:02
data[id]
fe3acf3786
data[email]
blah@blaah.com
data[email_type]
html
data[ip_opt]
98.47.186.82
data[web_id]
343667956
data[merges][EMAIL]
blah@blaah.com
data[merges][FNAME]
Me
data[merges][LNAME]
MyLastName
data[merges][MMERGE4]
1234567890
data[merges][MMERGE5]
123, Main St
data[merges][MMERGE7]
data[merges][MMERGE8]
Sometown
data[merges][MMERGE9]
CA
data[merges][MMERGE10]
93301
data[merges][MMERGE11]
data[merges][MMERGE12]
data[merges][MMERGE13]
Principal
data[merges][MMERGE14]
data[merges][MMERGE15]
data[merges][MMERGE16]
data[merges][MMERGE17]
data[merges][MMERGE18]
data[merges][MMERGE19]
data[merges][MMERGE20]
data[merges][MMERGE21]
data[merges][MMERGE22]
data[merges][MMERGE23]
data[merges][MMERGE24]
data[merges][MMERGE25]
data[merges][MMERGE26]
data[merges][MMERGE27]
data[merges][MMERGE28]
data[merges][MMERGE29]
data[merges][MMERGE30]
data[merges][MMERGE3]
Some Company Inc
data[merges][MMERGE6]
data[merges][INTERESTS]
Santa Clara County Children's Alliance, County Budget
data[merges][GROUPINGS][0][id]
18481
data[merges][GROUPINGS][0][unique_id]
a3d51b3e57
data[merges][GROUPINGS][0][name]
Housing
data[merges][GROUPINGS][0][groups]
Housing
data[merges][GROUPINGS][1][id]
19145
data[merges][GROUPINGS][1][unique_id]
f380849f3f
data[merges][GROUPINGS][1][name]
Los Angeles subscribers
data[merges][GROUPINGS][1][groups]
data[merges][GROUPINGS][2][id]
19141
data[merges][GROUPINGS][2][unique_id]
4c5e21981b
data[merges][GROUPINGS][2][name]
Policy Insights 2017
data[merges][GROUPINGS][2][groups]
Attended
data[merges][GROUPINGS][3][id]
19133
data[merges][GROUPINGS][3][unique_id]
f3aba0f825
data[merges][GROUPINGS][3][name]
Cap Staff
data[merges][GROUPINGS][3][groups]
LAO
data[merges][GROUPINGS][4][id]
19101
data[merges][GROUPINGS][4][unique_id]
91e1c210fc
data[merges][GROUPINGS][4][name]
All
data[merges][GROUPINGS][4][groups]
All
data[merges][GROUPINGS][5][id]
19097
data[merges][GROUPINGS][5][unique_id]
85b3a9c1e3
data[merges][GROUPINGS][5][name]
Funders
data[merges][GROUPINGS][5][groups]
Funders
data[merges][GROUPINGS][6][id]
19093
data[merges][GROUPINGS][6][unique_id]
6fe116e8ef
data[merges][GROUPINGS][6][name]
Budget Center People
data[merges][GROUPINGS][6][groups]
.....
data[list_id]
5dab1432f3
querystring:
解答

一、用Zapier内置工具提取请求体数据

完全可以通过Zapier内置工具处理,无需手写代码:

  • Webhook触发步骤自动解析:选择「Catch Hook」类型的Webhook,Mailchimp发送请求后,Zapier会自动将表单格式的请求体转换成结构化变量,比如Data > Merges > Groupings这类嵌套字段直接可以在后续步骤中选择调用。
  • Formatter工具辅助格式化:如果需要处理拆分、过滤等操作,比如拆分INTERESTS的逗号分隔值,或者过滤空分组,可使用「Formatter by Zapier」的「Text > Split」或「Utilities > Filter」功能。

二、Groups和Tags的解析方法

从你的数据样本看,Groups存储在data[merges][GROUPINGS]数组中;Tags通常会在data[tags]字段(Mailchimp的subscribe事件一般会包含该字段)。

方式1:Zapier内置功能直接处理

  • 遍历Groupings数组:用「Line Items > Create Line Item from Array」步骤,将Data > Merges > Groupings作为输入,即可把每个分组的name和groups拆分为独立条目,方便后续使用。
  • 过滤非空Group:添加「Filter」步骤,设置条件为Groups字段不等于空,自动剔除未选择分组的条目。

方式2:代码自定义解析(适合复杂场景)

结合你熟悉的JS/Python,用「Code by Zapier」步骤实现自定义解析:

JavaScript示例(解析Groupings)

const groupings = inputData.data_merges_GROUPINGS || [];
// 过滤出有选中分组的条目并整理格式
const parsedGroups = groupings
  .filter(item => item.groups)
  .map(item => ({
    分组名称: item.name,
    选中分组: item.groups
  }));
output = { parsedGroups };

Python示例(解析Tags)

如果Webhook返回包含Tags字段,可使用以下代码提取标签名称:

tags = input_data.get('data_tags', [])
tag_names = [tag['name'] for tag in tags if tag.get('name')]
return {'标签列表': tag_names}

三、注意事项

  • Mailchimp的Webhook请求格式:你提供的样本是表单格式(key-value换行),Zapier的Catch Hook会自动完成格式转换,无需手动解析原始文本。
  • 测试需触发真实事件:确保Mailchimp发送完整的subscribe事件,Zapier才能获取全量字段样本,方便后续步骤选择变量。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 18:45:43