| 序号 | 接口名称 | 端点 | 方法 | 分类 |
|---|---|---|---|---|
| ① | 工作底稿数据接口 | /declareDataFile | POST | 数据接入类 |
| ② | 标准申报结果 查询接口 | /standardDeclareReusltByFileNo | POST | 结果查询类 |
| ③ | 标准申报下发接口 | /standardDeclareApplication | POST | 申报类 |
| ④ | 标准申报扣款接口 | /standardDeclareDeduction | POST | 扣款类 |
| ⑤ | 短信验证码上传接口 | /smsController/uploadSms | POST | 辅助类 |
AccessKeyID、TimeStamp、SignatureNonce、Signature、Version。调用方 财云通平台
│ │
│──── ① POST /declareDataFile ─────────────────→ │ 上传工作底稿
│←─── FileNo ────────────────────────────────── │
│ │
│──── ② POST /standardDeclareReusltByFileNo ────→ │ 查询申报流水号
│ { FileNo } │
│←─── gtbtDeclareNum, taxDeclareNum, │
│ generateStatus, declareStatusCode ──────── │
│ │
│ [generateStatus == 0 │
│ && declareStatusCode != 5 ?] │ 前置判断:底稿生成成功且未申报
│ │ YES ↓ │
│ │
│──── ③ POST /standardDeclareApplication ───────→ │ 下发申报
│ { gtbtDeclareNum, taxDeclareNum, ... } │
│←─── 受理成功 ────────────────────────────────── │
│ │
│ ┌── loop [轮询] ──────────────────────────┐ │
│ │──── ② POST /standardDeclareReusltByFileNo ─→│ 确认申报状态
│ │ { FileNo } │ │
│ │←─── declareStatusCode ────────────────── │ │
│ │ │ │
│ │ [declareStatusCode == 4 │ │
│ │ && SMS 未上传 ?] │ │
│ │ │ YES ↓ │ │
│ │ │ │ │
│ │──── ⑤ POST /smsController/uploadSms ────→ │ │ 上传短信验证码
│ │←─── OK ───────────────────────────────── │ │
│ │ │ 继续轮询 │ │
│ │ │ │
│ │ [declareStatusCode == 5 ?] │ │
│ │ │ ≠5 → 等待后重新查询 │ │
│ └─────────────────────────────────────────┘ │
│ │
│ declareStatusCode == 5 ✓ │
│ │
│──── ④ POST /standardDeclareDeduction ─────────→ │ 执行扣款
│ { gtbtDeclareNum, taxDeclareNum, │
│ declareAmount } │
│←─── 扣款结果 ────────────────────────────────── │① 工作底稿数据接口
│
│ 返回 FileNo
▼
② 标准申报结果查询接口 ──── 入参: FileNo
│
│ 返回: Data.task.gtbtDeclareNum → 作为③④的入参
│ Data.task.taskDetails[].taxDeclareNum → 作为③④的入参
│ Data.task.generateStatus → ③的前置判断 (==0 生成成功)
│ Data.task.declareStatusCode → ③的前置判断 + ④的前置判断 + ⑤的触发条件
▼
[generateStatus == 0 && declareStatusCode != 5 ?]
│ YES ↓
▼
③ 标准申报下发接口 ──── 入参: gtbtDeclareNum, taxDeclareNum
│
│ 下发后 → 轮询② 检查 declareStatusCode
▼
[declareStatusCode == 4 && SMS 未上传 ?]
│ YES ↓
▼
⑤ 短信验证码上传接口 ──── 入参: 短信验证码
│ 上传后继续轮询②
▼
[declareStatusCode == 5 ?]
│ ≠5 → 等待后重新查询②
│ =5 → 继续
▼
④ 标准申报扣款接口 ──── 入参: gtbtDeclareNum, taxDeclareNum, declareAmount| 字段 | 值 | 含义 | 作用 |
|---|---|---|---|
generateStatus | 0 | 底稿生成成功 | ③ 的前置条件 |
declareStatusCode | !=5 | 尚未申报成功 | ③ 的前置条件 |
declareStatusCode | 4 | 申报中 | ⑤ SMS 上传的触发条件 |
declareStatusCode | 5 | 申报成功 | ④ 扣款的前置条件 |
generateStatus == 0 && declareStatusCode != 5declareStatusCode == 4 && SMS 未上传,上传后继续轮询task.declareStatusCode == 5 时,才能发起扣款gtbtDeclareNum / taxDeclareNum)、检查 generateStatusdeclareStatusCode 变化,触发 SMS 上传和扣款Signature 外所有参数按字典序排序