查询
CertiWattWh验瓦
ZH
B2B 合规 API

面向旅行平台的电池合规 API。

CertiWatt 返回的是可机器读取的旅行判定,不是文章答案:按行程、设备型号、航司、召回覆盖信号和已有序列号证据生成 verdict,并附带来源引用、规则版本、有效期和明确限制,方便合作伙伴先测试,并在审批后嵌入、记录和复核。

自助测试路径

公共 verifier 端点无需账号即可测试。Partner key 只改变限额、允许来源和支持条款,不改变判定合同。

curl -s https://certiwatt.app/api/verify \
  -H 'content-type: application/json' \
  -d '{
    "model_id": "anker-737",
    "ccc_mark": "present",
    "trip": {
      "origin": "CN",
      "destination": "CN",
      "airline": "CA",
      "compartment_intent": "carry_on"
    },
    "options": { "language": "en" }
  }'
端点
POST /api/verify
认证
匿名调用可用。Partner 流量使用已签发的 x-certiwatt-key 或 Authorization: Bearer。
限流
公共流量会限流,返回 429 与 Retry-After;Partner 限额随 key 签发。
合同
OpenAPI 合同: /openapi.yaml
这是判定响应,不是内容摘录
{
  "verdict": "conditional",
  "verdict_id": "vdt_01JZ8EXAMPLETRIP00000001",
  "ruleset_version": "2026-05-15",
  "generated_at": "2026-06-06T08:40:12.000Z",
  "expires_at": "2026-06-13T08:40:12.000Z",
  "summary": "Carry-on only. Airline approval may be required.",
  "device_resolved": {
    "model_id": "anker-737",
    "brand": "Anker",
    "model_name": "737 Power Bank",
    "watt_hour": 86.4,
    "recall_status": "not_affected",
    "recall_check_method": "model_match"
  },
  "constraints": [
    { "code": "carry_on_only", "message": "Carry-on only — never in checked baggage." },
    { "code": "max_units_2", "message": "Maximum 2 power banks per passenger." }
  ],
  "warnings": [
    { "code": "airline_approval_review", "severity": "advisory", "message": "Confirm airline handling before departure." }
  ],
  "citations": [
    { "kind": "regulator", "authority": "CAAC", "jurisdiction": "CN", "url": "https://...", "pulled_at": "2026-05-29" },
    { "kind": "airline", "authority": "Singapore Airlines", "jurisdiction": "SG", "url": "https://...", "pulled_at": "2026-05-29" }
  ],
  "verdict_path": ["iata_spare_lithium_battery", "cn_3c_screening", "sq_power_bank_policy"]
}
Trip Battery Pass API

当产品流程需要判断完整行程,而不是单一路线时,使用 POST /api/trips/verify。CertiWatt 会把 origin、transit、destination 展开成逐段 verdict,再返回可嵌入订票、行李、保险、客服或 agent workflow 的 aggregate verdict。

POST /api/trips/verify

{
  "device": { "model_id": "anker-737" },
  "trip": {
    "origin": "CN",
    "transit": ["SG"],
    "destination": "US",
    "airline": "SQ",
    "compartment_intent": "carry_on"
  },
  "options": { "language": "en" }
}

{
  "public_name": "Trip Battery Pass",
  "trip_verdict_id": "trip_lx5t9d3a_q8z1r2p4",
  "verdict": "conditional",
  "summary": "Trip requires conditions or approval on at least one of 2 segments.",
  "segments": [
    {
      "index": 1,
      "origin": "CN",
      "destination": "SG",
      "airline": "SQ",
      "verdict": { "verdict": "conditional", "ruleset_version": "2026-05-15", "verdict_id": "vdt_..." }
    },
    {
      "index": 2,
      "origin": "SG",
      "destination": "US",
      "airline": "SQ",
      "verdict": { "verdict": "allowed", "ruleset_version": "2026-05-15", "verdict_id": "vdt_..." }
    }
  ],
  "device_resolved": { "model_id": "anker-737", "watt_hour": 86.4 },
  "citation_count": 4,
  "ruleset_version": "2026-05-15",
  "generated_at": "2026-06-06T08:40:12.000Z",
  "expires_at": "2026-06-13T08:40:12.000Z"
}

发送一个 workflow、一条 route corridor、航司组和预计月请求量,方便 CertiWatt 确定试点响应结构和运营支持范围。

申请 Trip API 试点

Pilot CTA 点击只作为匿名运营信号记录;CertiWatt 不接收或保存预填邮件正文。 隐私说明.

合作伙伴可记录、可解释、可复核的字段
verdict
allowed、conditional、banned 或 insufficient。
verdict_id
用于客服复核、合作伙伴日志和后续 audit export 的稳定句柄。
ruleset_version
生成该答案时使用的规则库。公开 API 目前只接受当前 ruleset_version;不支持的 pin 会返回 400。
device_resolved
规范型号、Wh、认证、recall_status、recall_check_method,以及适用时的 exact-model recall records。
constraints
可直接渲染到产品 UI 的随身携带、审批、数量、标签、认证、机上使用或召回限制。
citations
监管、航司、厂商或召回证据的一手来源链路。
expires_at
嵌入机票、行李、保险或客服流程时,用于说明该判定的新鲜度边界。
合作伙伴真正会问的运营承诺

公开答案层可以概括政策;平台集成需要的是可嵌入的判定服务,并且能说明新鲜度、请求留存、来源变更和责任链,让客服、法务和运营团队都能复核。

新鲜度窗口
Verdict 携带 generated_at 与 expires_at;来源监控和 ingest dry-run 让监管、航司、厂商与召回证据在伙伴依赖前可被复核。
审计链路
保存 verdict_id、请求 payload、ruleset_version 与 citations,用于客服复核和后续 audit export。不支持的历史 ruleset pin 会明确返回 400,不会静默回退。
变更情报
Partner policy-change access 暴露 change history、source-watch rows、fingerprints 和 review queue signals,而不是静态规则摘要。
序列号责任
有 pattern 的召回可本地判定 affected/not_affected;需要厂商名单的召回会返回 external_list_required 和官方查询 URL,而不是猜测放行。
试点范围
响应目标、支持窗口、allowed origins、rate limits 与升级路径按 partner pilot scope 设置,不由匿名公开 API 承诺。
Partner 集成门禁

公开 API surface 可用于发现和试跑;partner traffic 使用约定的试点范围、credential setup 和 failure-mode review。

Partner auth
Partner traffic 使用已签发的合作伙伴 API key;匿名公开调用不附带试点支持条款。
Allowed origins
Allowed origins、rate limits、Retry-After behavior、production response targets 与 support windows 都属于 agreement terms。
Failure modes
conditional、banned、insufficient、MODEL_NOT_FOUND、AIRLINE_NOT_COVERED、external_list_required、429、5xx 和 stale expires_at 不能被转成 allowed。
Ruleset pins
公开 API 只接受当前 ruleset_version;历史回放需要 stored request payload 和受控 audit export。
Data boundary
默认不需要 PII。除非 signed data-flow terms 允许 raw serial transit,否则使用 serial_hash。
接入路径

Verifier 和 Trip API

POST /api/verify 返回单路线判定。POST /api/trips/verify 会把 origin、transit、destination 展开成逐段 verdict,并返回可嵌入流程的 aggregate Trip Battery Pass。

召回情报 API

型号级召回数据可通过 /api/devices/[modelId]/recalls 与 /api/recalls 获取。有 pattern 的序列号可本地判定;需要厂商名单的召回会返回 external_list_required,而不是猜测。

合作伙伴试点

经审批后,可把 CertiWatt 放进订票、行李、保险、客服、机场预检或 agent workflow。完整政策字段、变更历史、响应目标和 production support 属于协议条款,不是匿名 API 保证。

合作伙伴试点
API 参考

这些端点是公开验证器背后的集成 surface。匿名响应可用于发现和试跑;partner 或 authenticated access 解锁更深的政策字段、变更历史和运营支持。

POST /api/verify
返回行程级电池判定,包含引用来源、路线因素、召回证据、航司政策上下文、ruleset_version 与 verdict_id。含 transit 的请求必须使用 POST /api/trips/verify。
POST /api/trips/verify
返回多段行程 Trip Battery Pass,包含 aggregate verdict、逐段 verdict、citation_count、device_resolved、ruleset_version、generated_at、expires_at,以及覆盖缺口时的 segment-level errors。
GET /api/devices
搜索已覆盖的充电宝型号。支持 q、limit 与 recent。
GET /api/devices/[modelId]
返回规范型号事实。可选 serial 会在适用时加入型号级召回 serial_evaluation。
GET /api/devices/[modelId]/recalls
返回精确型号的 Battery Recall Intelligence,可选序列号评估。
GET /api/recalls
列出型号级召回记录。支持 model_id、status 与 serial。
GET /api/airlines
列出 Airline Policy Intelligence 记录。支持 q、confidence 与 limit。
GET /api/airlines/[code]
匿名请求返回公开预览;partner/authenticated 请求返回有效规则、引用来源、policy_fields 与 change_log。
GET /api/policy-changes
匿名请求返回变更/监控计数;partner/authenticated 请求返回变更历史、来源监控行、指纹和复核队列信号。
GET /api/rules
搜索有效监管与航司规则。
GET /api/sources
返回型号或规则的规范化引用证据。
召回情报与序列号级判定

公开 AI 答案可以解释电池规则,但旅行平台需要知道一个具体召回型号或序列号范围是否应该在实时流程里触发 warning 或 block。CertiWatt 保持 exact-model-only 召回影响,并在证据可用时暴露 serial_evaluation。

GET /api/recalls
列出型号级召回记录。支持 model_id、status 与 serial。返回 public_name、recalls[] 与 ruleset_version。
GET /api/devices/[modelId]/recalls
查询一个精确 catalog model。返回 model metadata、recall_policy、recalls[] 与 ruleset_version。
serial_evaluation.match_status
affected、not_affected 或 unknown。Unknown 不会清除飞行风险。
serial_evaluation.match_method
pattern 表示本地正则匹配,external_list_required 表示需要厂家名单查询,none 表示无本地匹配依据。
affected_serials.explicit_list_url
当召回需要厂商序列号/订单名单核验时,这里提供官方厂商查询 URL。
recall_policy
召回影响仅限 exact model,不做品牌级推断。同品牌其他设备不会继承 recall status。
GET /api/recalls?model_id=iniu-bi-b41&serial=000G21

{
  "public_name": "Battery Recall Intelligence",
  "recalls": [
    {
      "recall_id": "iniu.2025-12.BI-B41-affected",
      "model_id": "iniu-bi-b41",
      "affected_serials": {
        "pattern": "^(000G21|000H21|000I21|000L21)$",
        "explicit_list_url": "https://iniushop.com/pages/recall-b41"
      },
      "verdict_impact": {
        "applies_to": "exact_model_only",
        "if_affected_serial": "banned",
        "if_serial_unknown": "warning",
        "if_not_affected_serial": "normal_rules_apply"
      },
      "serial_evaluation": {
        "provided_serial": "000G21",
        "match_status": "affected",
        "match_method": "pattern",
        "verdict_if_used_for_flight": "banned"
      }
    }
  ]
}
公开数据预览

为了透明度与机器发现,CertiWatt 只发布有限的静态 JSON 预览。完整航司政策字段、规则逻辑、变更历史、audit export 与合作伙伴级导出仍保留在产品/API 层。

{
  "long_tail_verdicts": [
    {
      "route_factors": [
        "capacity check is tied to this exact catalog model",
        "Citation sources: CAAC (regulator, CN, 2026-05-29)"
      ],
      "article_body": "Summary plus route factors. Citation sources: CAAC (regulator, CN, 2026-05-29).",
      "ruleset_version": "2026-05-15",
      "citation_count": 3,
      "sources": [
        { "authority": "CAAC", "url": "https://...", "pulled_at": "2026-05-29" }
      ]
    }
  ]
}
智能体发现

答案引擎和智能体可以读取 AEO manifest,获取 CertiWatt 精选的 2026 问题指南、品牌 hub、长尾判定页与数据集。顶层包含 manifest_version、content_hash、ruleset_version、cache_policy 和 counts,响应头也会暴露相同 hash 的 X-CertiWatt-Content-Hash 与带引号的 ETag;manifest 响应还会用 rel="describedby" 链接 schema,schema 响应也会暴露 X-CertiWatt-Schema-Hash 与带引号的 schema ETag。每个问题指南条目都包含 localized_urls、short_answer、source_count,以及带绝对引用 URL 的 sources,方便 agent 按用户语言引用对应 URL;每个品牌 hub 条目都包含型号数量和用于品牌级目录发现的 representative_models;每个长尾判定条目都包含 verdict、summary、route_factors、article_body、ruleset_version、citation_count 和 sources。Verifier API 只接受当前 ruleset_version;不支持的历史 pin 会返回 400,而不是静默回退。数据集条目暴露 Battery Recall Intelligence 与 Airline Policy Intelligence discovery,并包含 policy_changes_api_url、聚合来源监控计数,以及 public-preview 与 partner-detail API 边界。程序化判定页还会在 Article JSON-LD articleBody 中暴露判定摘要、路线信号,以及 citation source metadata:authority、kind、jurisdiction、URL、citation_kind、citation_jurisdiction 和 pulled_at。Manifest 也被限制为适合智能体直接消费:/aeo-manifest.json 保持在 512KB 以内,schema 在 64KB 以内,每个长尾 article_body 在 1600 字符以内。

边界

API 输出是带来源和决策链的信息性判定,不得展示为法律意见、官方认证,或机场、航司、安检人员保证接受的结果。