DEXTools 新池列表为什么漏数据:核对 V3 时间、搜索过滤与分页
链小知 · 进阶 · 核验 · 依官方文档整理
检查已有V3请求/响应记录,区分创建时间窗口与涨跌排行周期、搜索截断、零起点分页和credit错误,避免用空结果宣布没有新池。
开始前准备
- 准备去掉key的现有请求URL/参数、HTTP状态、响应JSON、读取时刻及已有方案信息;日志不含凭据。没有记录时先写待核参数清单,不制造返回数据。
- 可读参考明确是api-portal-dev.dextools.io的V3文档;production docs本轮失败,实际部署版本/字段必须由现有集成证明,不能把V3直接替换V2。
- 只整理已有数据,不注册/调用鉴权API或执行任何付费请求。GET虽是只读,仍需API key并消耗credits。
1. 固定版本、业务域名与链标识
从已有请求记录确认 /v3 路径、实际业务域名和chain。V3概览/Quick Start写base URL为 https://public-api.dextools.io,示例Ethereum链id为ether;不能用数字1或另家平台的eth代替。部分单端点生成示例写example.com,那是占位域名。
保存HTTP状态与原始JSON形状,statusCode/data只在实际存在时核对。概览与Quick Start说明封装,但getPool/getPoolMetrics的200示例是直接对象;文档页之间存在差异,缺data不等于业务空值。网页schema不是请求回执。若只有V2记录、403或未解析JSON,先标版本/访问问题,不按V3字段把空内容算成无池。
检查结果:版本、真实域名、链id、HTTP状态、实际JSON形状和读取时刻均来自同一现有记录;未强制所有端点返回data。
2. 按创建时间构造明确UTC窗口
新池任务应检查 /v3/pools/{chain} 的 sort=creationTime,并确认order、from、to全部存在。使用带时区的ISO日期,例如 from=2026-10-11T00:00:00.000Z、to=2026-10-12T00:00:00.000Z;这只是一天UTC参数示例,不是实际查询结果。
creationTime窗口不是“代币部署时间”,也不是按本地自然日自动换算。参考页未明确from/to边界是否包含,跨窗边界的池应保留原creationTime再核对,不能因落在边界就断言漏采或重复。
检查结果:创建时间排序、方向和ISO UTC窗口完整;时区及边界未知没有被猜测。
3. 区分涨跌时窗与搜索过滤
若已有请求sort=gainers或losers,它回答涨跌排行,应检查period=5m/1h/6h/24h,不能把period=24h的榜单当当天创建池清单。参考只把from/to要求用于creationTime,不凭其他端点参数习惯扩大支持。
如果用 /v3/search/pool,另外保存searchTerm、chains、exchanges、strict、results。strict可排除inactive/rugpulled池,results只允许5–25最大返回数;精确目标被过滤或超出返回上限时不能据搜索第一页证明全网没有该池。默认strict未明确,不替现有请求补默认值。
检查结果:排行、创建清单、搜索三种任务分开,实际过滤与截断条件已列出。
4. 核对从零开始的分页和池主键
逐页检查已有列表记录的page/pageSize;V3参考写page从0开始。从page=1起取会遗漏起始页。把每条已取得记录按chain+pool address对应,结合creationTime查看是否重复,不用token symbol去重。
固定同一排序/窗口后再比较页;若记录缺少下一页或分页元信息,只说明覆盖了已读页。参考示例Empty没有证明真实服务总量为零,也没有保证排序期间的新池变化不会影响结果,不虚构“全部抓完”的终止回执。
检查结果:页号、参数及已有池记录可追溯,覆盖范围只包括真实取得的页。
5. 将访问与credit失败单独处理
遇400先核对必需参数、chain与日期;403保留原授权/权限错误,不能无依据说key有效。429可能是每分钟请求限额或credit不足,应结合现有账户方案/月预算记录核对,不能把重试得到的空列表当零新池。
如已有 /v3/accounts/subscription 去敏响应,可查看plan、apiKeyExpiresAt、monthlyBudgetRemaining与周期起止。它们属于API方案,不是网页持有DEXT门槛;数据新鲜度随方案变化,比较榜单还应记录各响应时间。
检查结果:错误状态、额度、方案和数据时刻分列,不把失败补成业务空结果。
6. 输出实际覆盖范围而非全量保证
整理版本、链、窗口/period、过滤、页号、取得的池地址和失败页,说明“已覆盖这些记录”“搜索最多25条”或“某页被拒/尚未取得”。以pool creationTime判断所属窗口,不把price24h/volume24h等行情字段当创建时间。
若需要后续采集,应先确认目标生产版本和实际订阅费用/额度,再由已授权集成执行。未请求接口的参数清单只是文档核对;没有真实分页和当前链列表时,不宣称全量、实时或所有链均覆盖。
检查结果:每项遗漏原因对应具体输入/状态;未得到的数据和费用保持未知。
怎样确认完成
- 获得现有请求和已读页的覆盖记录,能区分过滤、分页、日期与访问缺口。
- 教程为V3官方参考文档整理;未登录、调用认证API、取得实际新池列表或完成生产采集验收。
常见错误与边界
- 用gainers的24h期间代替creationTime窗口。
- 从page=1开始,或把search results=25当全量分页。
- API只读就以为匿名/不扣credits;429或403直接算零结果。