IMEI 设备反查 — MVP 详细方案
本文已迁入 11-手机分期MVP方案,作为手机分期 MVP 的 IMEI 设备反查详细方案维护。
渠道商品域总览见 09-渠道商品域总览。
SA 端办单录单加速器:扫码 IMEI → 反查设备品牌/型号 → 回填进件草稿。
跨域协作能力,不是独立系统。 渠道中心触发(SA 办单入口)并直挂第三方 IMEI 反查 API。文档归属渠道中心是因为业务触发方在 SA App 办单流程。
业务目的
PocketBuy SA 端在试算页面允许 SA 通过两种方式录入手机:手动选 catalog、扫码 IMEI。IMEI 路径让 SA 不必在长 catalog 列表里翻找型号,扫一下设备背面条码或包装盒就能拿到品牌/型号回填进件。
交机环节也复用 IMEI 反查能力:SA 录入交机 IMEI 后,系统反查交付设备品牌、型号,并与进件时保存的商品品牌、型号比对。一致才允许交机完成;不一致则阻断交机。
两条入口的定位
| 入口 | 业务场景 | 给到的数据 |
|---|
| catalog 浏览 | 客户未选定,SA 帮挑 / 浏览 | 选到具体 SKU → 政策快照 |
| IMEI 扫码 | 客户已选定店里这台机器 | 仅 brand + model;价格/分期 SA 现场填 |
| 交机 IMEI 反查 | 商户放款成功后现场交机 | 反查 brand + model,与进件商品快照比对,决定是否允许交机 |
录单入口面向办单效率,交机入口面向实物一致性校验。IMEI 反查粒度只到 brand + model,不定位 SKU,也不查 catalog。
无论 catalog 选品 还是 IMEI 扫码,最终 DP 区间 / term 选项 / 价格上限 都由风控政策接口动态返回(详细参考见 02-信贷政策计算接口)。商品静态字段不承载政策。
IMEI 业务事实
| 项 | 说明 |
|---|
| 长度 | 15 位数字 |
| TAC | 前 8 位,GSMA 全球统一分配,唯一标识机型(同型号同 TAC) |
| 唯一性 | 每台设备一个 IMEI;双卡机两个 IMEI |
| 物理位置 | 手机背面贴纸条码 / 拨 *#06# / 包装盒条码 |
| 校验位 | 第 15 位为 Luhn 校验位,可本地预校验格式 |
核心能力
| 能力 | 说明 |
|---|
| IMEI 格式校验 | 长度 + Luhn 校验,过滤无效串 |
| 设备反查 | 直挂第三方 API,TAC 解析 → 设备品牌、型号 |
| 交机机型校验 | 交机时用反查品牌/型号比对进件商品快照,品牌和型号一致才允许完成交机 |
| 反查记录留痕 | 每次反查的入参/出参/上游来源落库,供审计对账与反向积累自建 TAC↔SKU 库 |
跨域协作
| 域 | 角色 |
|---|
| 渠道中心 | 直挂第三方 IMEI 反查 API,落 imei_lookup_record;录单时回填草稿,交机时向 bns 返回品牌/型号校验依据 |
| 第三方 IMEI 反查供应商 | 提供反查 API(imei.info / sickw / IMEI24 类) |
| bns | 交机时调用 IMEI 反查,使用反查结果与订单进件商品快照做一致性校验 |
反查上游数据源策略
| 来源 | 准确度 | 成本 | 适用阶段 |
|---|
| 第三方 IMEI 反查 API(sickw / imei.info / IMEI24) | 95%+ | $0.01–0.05 / 次 | MVP |
| 自建 TAC↔SKU 库(从历史办单反向积累) | 取决于积累量 | 维护成本 | 规模化 |
| 厂商官方合作(TECNO / Infinix 等核心品牌) | 100% | 商务合作周期 | 核心品牌沉淀 |
| GSMA IMEIdb 官方会员 | 100% | 几万美元/年会员费 + 非 API 形态 | 备选评估 |
MVP 选型:第三方 API 反查。规模化:把每次反查记录沉淀为自家 TAC↔SKU 资产,作为长期数据资产改善反查质量;优先级递增覆盖核心品牌厂商合作。GSMA IMEIdb 会员仅作备选评估,不作为规模化主路径。
接口契约
POST /imei/lookup
| 项 | 说明 |
|---|
| 提供方 | 渠道中心(直挂第三方反查) |
| 触发方 | SA App 办单流程(试算页 IMEI 扫码后);bns 交机确认流程(交机 IMEI 录入后) |
| 政策 | 本接口不返政策;DP 区间 / term 选项 / 价格上限走 /credit-policy/preview([[../05-业务需求/系统需求/04-风控域/02-信贷政策计算接口 |
入参
| 字段 | 类型 | 必填 | 说明 |
|---|
| imei | string | ✓ | 15 位 IMEI,调用方已通过 Luhn 预校验 |
出参
| 字段 | 类型 | 说明 |
|---|
| imei | string | 回显 |
| tac | string | TAC 前 8 位 |
| device | object | 设备识别字段:brand、model |
| lookup_source | enum | 反查上游来源(third_party / self_tac_db) |
| lookup_id | string | 本次反查记录 ID,写入留痕表 |
异常码
| 码 | 场景 |
|---|
| IMEI_INVALID_FORMAT | 长度不足 / Luhn 校验失败 |
| IMEI_LOOKUP_NOT_FOUND | 上游反查未命中(新机型 / 未收录) |
| IMEI_LOOKUP_UPSTREAM_UNAVAILABLE | 上游 API 超时 / 不可用 |
交机一致性校验
| 项 | 说明 |
|---|
| 触发时点 | SA 在交机页录入 IMEI 后、确认交付前 |
| 比对来源 | imei_lookup_record.brand/model 对比订单 product_snapshot.brand/model |
| 通过条件 | 品牌、型号一致;大小写、空格、别名可先标准化 |
| 失败处理 | 返回 DELIVERY_DEVICE_NOT_MATCHED,订单保持 Paid,不允许进入 Completed |
| 反查失败 | 返回 IMEI_LOOKUP_FAILED,不允许自动交机,进入重试或人工核查 |
| 留痕 | 保存 lookup_id、反查品牌/型号、进件品牌/型号、比对结果、校验时间 |
该校验不改变已审批商品信息,不触发重新审批或重新试算;它只用于确认交付实物与进件商品一致。
业务异常处理
| 场景 | 处理 |
|---|
| 反查命中 | 回填 brand/model 进草稿,价格与分期由 SA 现场填 |
| 反查未命中 | 前端引导 SA 切换手动选 catalog,留痕本次反查供后续 TAC 库补充 |
| 上游 API 超时 | 降级为手填,记埋点跟踪上游可用率 |
| 交机反查未命中或超时 | 不允许自动交机,提示重试;仍失败则进入人工核查 |
| 交机反查品牌/型号与进件不一致 | 阻断交机,提示核对 IMEI、实物设备或进件商品信息 |
核心字段
imei_lookup_record
每次反查留痕,用于审计对账,并作为自建 TAC↔SKU 库的数据来源。不存政策快照(政策由风控接口独立留痕,见 02-信贷政策计算接口 的 credit_policy_preview_log)。
| 字段 | 类型 | 说明 |
|---|
| lookup_id | string | 反查记录 ID |
| imei | string | 完整 IMEI |
| tac | string | TAC 前 8 位(索引) |
| lookup_time | timestamp | 反查时间 |
| brand | string | 反查结果:品牌 |
| model | string | 反查结果:型号 |
| lookup_source | enum | third_party / self_tac_db |
| upstream_provider | string | 第三方上游名称 |
| response_payload | json | 上游原始返回(脱敏后留存) |
delivery_imei_check
交机时的 IMEI 反查一致性校验记录,用于解释为什么订单可以或不能进入 Completed。
| 字段 | 类型 | 说明 |
|---|
| check_id | string | 校验记录 ID |
| installment_order_id | string | 手机分期订单号 |
| imei | string | 交机 IMEI |
| lookup_id | string | IMEI 反查记录 ID |
| lookup_brand | string | 反查品牌 |
| lookup_model | string | 反查型号 |
| application_brand | string | 进件商品快照品牌 |
| application_model | string | 进件商品快照型号 |
| match_status | enum | MATCHED / NOT_MATCHED / LOOKUP_FAILED |
| checked_at | timestamp | 校验时间 |
| checked_by | string | 操作 SA 或系统账号 |
tac_sku_mapping(二期)
自建 TAC↔SKU 映射库,从 imei_lookup_record 反向积累。
| 字段 | 类型 | 说明 |
|---|
| tac | string | 主键,TAC 前 8 位 |
| brand | string | |
| model | string | |
| sku_id | string | 关联 SKU |
| sample_count | int | 该 TAC 累计反查样本数(置信度参考) |
| verified_by | enum | auto / ops / vendor(自动积累 / 运营复核 / 厂商确认) |
| created_at | timestamp | |
| updated_at | timestamp | |
MVP 边界
| 能力 | MVP | 二期 |
|---|
| IMEI 格式 + Luhn 本地校验 | ✓ | |
| 第三方 API 反查(渠道中心直挂) | ✓ | |
| 交机 IMEI 反查机型一致性校验 | ✓ | |
| 反查记录留痕 | ✓ | |
| 反查未命中 / 上游超时降级手填 | ✓ | |
| 不查 catalog(IMEI 路径与 catalog 路径定位不同) | ✓ | |
| 自建 TAC↔SKU 映射库 | ✗ | 从留痕表反向积累 |
| 厂商官方数据合作(TECNO / Infinix) | ✗ | 核心品牌 100% 准确度 |
| 上游反查源动态路由 / 多源比对 | ✗ | 多上游冗余降级 |
| NCC DIRBS 直连 | ✗ | 非监管对象 + 无开放 API |
| GSMA CEIR 直连 | ✗ | 会员制 + 非 API 形态 |
开放问题
| # | 议题 | 说明 |
|---|
| 1 | context 字段必要性 | 当前接口入参仅 imei,未保留 context 场景枚举。若后续留痕需按办单阶段(试算/正式提单)分析,再决定是否加回 |
| 2 | 反查上游冗余降级策略 | 单一第三方 API 不可用时的降级方案(多上游冗余、自家 TAC 库 fallback 优先级),MVP 暂只走单源 + 降级手填 |