Verifier 和 Trip API
POST /api/verify 返回单路线判定。POST /api/trips/verify 会把 origin、transit、destination 展开成逐段 verdict,并返回可嵌入流程的 aggregate Trip Battery Pass。
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" }
}'{
"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"]
}当产品流程需要判断完整行程,而不是单一路线时,使用 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 不接收或保存预填邮件正文。 隐私说明.
公开答案层可以概括政策;平台集成需要的是可嵌入的判定服务,并且能说明新鲜度、请求留存、来源变更和责任链,让客服、法务和运营团队都能复核。
公开 API surface 可用于发现和试跑;partner traffic 使用约定的试点范围、credential setup 和 failure-mode review。
POST /api/verify 返回单路线判定。POST /api/trips/verify 会把 origin、transit、destination 展开成逐段 verdict,并返回可嵌入流程的 aggregate Trip Battery Pass。
型号级召回数据可通过 /api/devices/[modelId]/recalls 与 /api/recalls 获取。有 pattern 的序列号可本地判定;需要厂商名单的召回会返回 external_list_required,而不是猜测。
经审批后,可把 CertiWatt 放进订票、行李、保险、客服、机场预检或 agent workflow。完整政策字段、变更历史、响应目标和 production support 属于协议条款,不是匿名 API 保证。
合作伙伴试点这些端点是公开验证器背后的集成 surface。匿名响应可用于发现和试跑;partner 或 authenticated access 解锁更深的政策字段、变更历史和运营支持。
公开 AI 答案可以解释电池规则,但旅行平台需要知道一个具体召回型号或序列号范围是否应该在实时流程里触发 warning 或 block。CertiWatt 保持 exact-model-only 召回影响,并在证据可用时暴露 serial_evaluation。
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 输出是带来源和决策链的信息性判定,不得展示为法律意见、官方认证,或机场、航司、安检人员保证接受的结果。