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

为Zapier编写REST API查询:如何仅获取Cryptowat.ch成交量数据

如何从Cryptowat Markets Summaries接口提取Volume数据到Zapier

我之前折腾过Cryptowat的API,碰到过一模一样的问题——这个markets/summaries端点不支持通过fields参数直接过滤返回字段。官方的fields参数设计主要是针对单个市场详情接口(比如markets/{exchange}/{pair}/summary)的字段筛选,而汇总接口默认会返回所有市场的完整数据,没法通过URL参数裁剪。

不过别担心,我们可以在Zapier里对返回的完整数据做二次处理,轻松提取出仅有的Volume信息,下面是两种实用方法:

方法一:无代码快速处理(用Zapier Formatter)

如果你的需求比较简单(比如只提取所有市场的Volume列表),可以用Zapier的内置工具:

  • 在API请求步骤之后,添加一个「Formatter by Zapier」动作
  • 选择「Utilities」分类下的「Extract」,然后在「Input」里选择API返回的result对象
  • 用JSON Path表达式$..volume来批量提取所有嵌套的Volume字段,这样就能得到一个纯Volume值的数组

方法二:代码方式(更灵活,适合复杂需求)

如果需要对Volume数据做自定义处理(比如按交易所分组、过滤特定市场),推荐用「Code by Zapier」工具:

  1. 添加「Code by Zapier」动作,选择「JavaScript」
  2. 在「Input Data」区域新增一个字段(比如命名为fullApiResponse),选择之前API请求返回的完整响应内容
  3. 粘贴以下代码:
// 解析API返回的完整JSON数据
const apiData = JSON.parse(inputData.fullApiResponse);
const volumeData = {};

// 遍历所有市场,提取对应Volume
for (const marketKey in apiData.result) {
  const market = apiData.result[marketKey];
  // 可以在这里添加过滤条件,比如只保留Binance的市场:
  // if (marketKey.startsWith('binance:')) {
  volumeData[marketKey] = market.volume;
  // }
}

// 输出处理后的Volume数据,供后续Zap步骤使用
return { volumeData };
  1. 运行测试,就能得到一个以市场名为键、Volume为值的对象,完全符合你的需求

另外提醒一下:如果API返回的Volume是嵌套结构(比如volume.24h),记得把代码里的market.volume改成对应的路径,比如market.volume["24h"]。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 03:57:52