Appearance
确认打卡接口
概述
确认打卡接口用于根据识别到的 NFC 标签完成打卡记录落库,并发放对应积分。
- 调用方:小程序前端
- 请求方式:
POST - 请求路径:
/checkins/confirm
请求头要求
AuthorizationX-Idempotency-Key
请求参数
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| spotId | string | 是 | 景点 ID |
| routeId | string | 否 | 来源路线 ID |
| nfcTagId | string | 是 | 标签 ID |
| clientTime | string | 否 | 客户端时间 |
返回参数
| 参数 | 类型 | 说明 |
|---|---|---|
| recordId | string | 打卡记录 ID |
| rewardGranted | bool | 是否发放积分 |
| pointsReward | int | 奖励积分 |
| routeProgress | object | 路线进度 |
routeProgress 结构
| 参数 | 类型 | 说明 |
|---|---|---|
| checked | int | 已完成打卡数 |
| total | int | 路线总打卡数 |
成功示例
{"code":"0","message":"ok","data":{"recordId":"ck_1","rewardGranted":true,"pointsReward":10,"routeProgress":{"checked":3,"total":5}}}
失败示例
错误码
A0001B1005:未识别到当前景点打卡点,请根据线索继续寻找
约束与规则
幂等要求
- 接口要求幂等
- 同一
X-Idempotency-Key只允许成功一次
前后端同步规则
调用成功后,前端需要同步刷新以下信息:
- 景点状态
- 路线进度
- 积分余额
缓存与一致性
- 缓存策略:不缓存
- 一致性要求:强一致性
适用场景
- 用户在景点现场通过 NFC 标签完成打卡确认
- 打卡成功后即时获得积分奖励
- 若属于某条路线任务,则同步更新路线进度
