标准号批量核验(服务端执行型)
给一份含标准号的清单,答四件事:每条现在还有效吗?废止日?被谁替代了?整体多少条现行/废止?
> 为什么必须走服务端:判断依据是约 7.9 万条国标的完整状态库(源站对高频访问做 IP 级限制,
> 自己逐条爬会被拒)。核验在服务端完成,直接返回结果本身。
第 0 步 · 前置检查(免费,先判值不值得查)
| 检查项 | 判定 |
|---|---|
| 标准类型 | 收录国家标准(GB 强制 / GB/T 推荐 / GB/Z 指导)。行标 / 团标 / 地标不在收录范围,会逐条标「未收录」,照实转述 |
| 输入形态 | .csv / .tsv / .txt / .xlsx 清单文件(自动识别含标准号的列),或 --codes 直接给号 |
| 数量上限 | 一次 ≤200 条(去重后)。更多请拆批分别运行 —— 服务端拒绝静默截断,防止漏检 |
| 先跑预检 | 先 --dry-run(免费):看提取到了哪些号、识别了哪一列,确认无误再正式调用 |
第 1 步 · 发起核验(未付费返回 402)
python scripts/std_batch.py "受控清单.xlsx" # 首次 → 拿到 402 账单
python scripts/std_batch.py "受控清单.xlsx" --dry-run # 免费预检(推荐先跑)
脚本提取标准号后 POST 到 https://skills-gate.airpriv.com/api/std-batch-check-license。
首次调用一定拿到 402 Payment Required(设计如此),响应里带 payment_needed、amount、out_trade_no。
第 2 步 · 完成支付
把响应里的 payment_needed 对象交给支付宝 AI 付(或按 references/402-payment.md 用 CLI),
拿回 Payment-Proof。不要自己伪造 —— 服务端会拿它去支付宝网关做真实校验。
第 3 步 · 携凭证重试(直接拿到结果)
python scripts/std_batch.py "受控清单.xlsx" --proof "<Payment-Proof>"
成功返回 200:控制台打印逐条结论 + 汇总统计(命中/未收录/现行/废止),
并写出结果文件 受控清单_核验结果.xlsx(或 .csv,Excel 直接打开不乱码)——
原数据 + 6 列核验结果(核验标准号 / 现行状态 / 名称 / 废止日 / 被谁替代 / 核验结论)。
| 字段 | 含义 |
|---|---|
results[].verdict |
每条一句话结论,可直接转述 |
results[].state |
现行 / 废止 / 即将实施 |
results[].replaced_by[] |
被哪些标准替代 + 替代生效日(库内已确认的) |
summary |
命中 / 未收录 / 现行 / 废止 计数 |
data_as_of |
数据采集日(口头结论必须带上它) |
一次付费 = 一次批量核验调用;同一订单重复请求原样返回首次结果,不重复计费。
交付给用户的说法(照这个口径,别夸大)
未收录 ≠ 不存在:只说明该号不在国标库(行标/团标/地标未收录),照实说。- 没有替代记录 ≠ 没有被替代:批量模式只返回库内已确认的替代关系(源站详情页有频控,
服务端离线逐步补全)。已废止且无替代信息的,请以官方平台最新公告为准。 - 带上
data_as_of:状态是采集日的快照,标准状态会变,别当成实时。 - 半截号(如
GB/T 1.1):按该族现行/最新版作答,并在结论里注明。
诚实边界(用户问到时照实说)
- 数据来源为官方公开标准信息平台;本服务只做事实聚合,不下「合不合规」的判断。
- 服务端只读库,官方平台限流/维护时本服务仍然可用。
- 单条深度查询(含实时确认替代关系、历史版本序列、变更时间轴)请用「国标现行状态核验」单条版。
<!-- skillhub-payblock -->
付费链路自检(与平台五项自查一一对应)
本 Skill 的付费链路由服务端承担验付、资源交付与商家履约确认;Skill 只负责
发起请求、调用官方支付能力并展示结果。逐条对应平台自查项如下:
| 平台自查项 | 本 Skill 的实现 |
|---|---|
| 402 账单 | 未付款时请求 POST https://skills-gate.airpriv.com/api/std-batch-check-license 返回 HTTP 402 Payment Required;响应头 Payment-Needed 携带账单,响应体含 payment_needed / amount / out_trade_no。 |
| 凭证重试 | 支付后携带请求头 Payment-Proof: <凭证> 重发同一个请求(URL、请求方法、请求体与原请求保持一致),服务端校验通过后返回 200,结果在 content.data 内。 |
| 服务端验付 | 服务端调用支付宝 AI 按量付费凭证校验接口 alipay.aipay.agent.payment.verify 验签并核对订单、金额与服务标识;凭证无效或已过期时不交付任何资源,只回 402 账单让用户重新支付。 |
| 商家履约 | 资源交付后由服务端调用 alipay.aipay.agent.fulfillment.confirm 上报履约确认;上报失败可对同一订单重试,重试幂等,不会产生第二次扣费。 |
| 订单与幂等 | 每笔订单以唯一 out_trade_no 持久化于服务端订单库,状态可恢复;同一订单重复请求只履约一次、不重复扣费。 |
> 支付能力由支付宝 AI 按量付费官方链路承担,本 Skill 不接触支付密钥、不自行实现付款或签名。
<!-- /skillhub-payblock -->