接入说明
献血小程序需要跳转到腾讯公益小程序,完成数据授权传输,并为用户发放小红花和勋章
- 接口使用签名方式,如何生成签名参考接口调用凭证
业务流程
sequenceDiagram
participant fr as 献血小程序
participant ba as 献血小程序后端
participant op as 公益开放平台
participant ob as 公益数据传输中间页
fr ->> ba: 用户点击【小红花】按钮,调后台接口进行数据预传输
ba ->> ba: 获取用户献血数据
ba ->> op: 调用【献血数据预传输】接口,传输数据
op -->> ba: 返回exchange_id
ba ->> ba: 使用exchange_id计算数据传输跳转参数
ba -->> fr: 返回跳转参数
fr ->> ob: 使用跳转参数跳转【公益数据授权传输中间页】,并完成用户授权与数据更新
调用接口
献血数据预传输
使用场景: 预传输用户最新的献血数据,生成预传输记录与exchange_id,用于跳转到腾讯公益小程序
调用凭证: 应用签名
请求方式: POST(HTTPS)
请求地址: https://test-oapi.gongyi.qq.com/api/xhh_volunteer/PreTryBloodData
请求参数:
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
open_id | string | 是 | 业务侧的用户唯一 ID,不超过 32 位 |
business_id | string | 是 | 业务ID |
update_time | int | 是 | 数据更新时间(秒时间戳) |
donate_times | int | 是 | 献血总次数 |
donate_amount | int | 是 | 献血总量(单位: ml) |
last_donate_time | int | 是 | 最后一次献血时间(秒时间戳) |
last_donate_org | string | 是 | 最后一次献血采集机构名称 |
last_donate_amount | int | 是 | 最后一次献血量(单位: ml) |
- 请求示例
{
"open_id": "test_user",
"business_id": "TESTBUSINESS",
"update_time": 1753513300,
"donate_times": 3,
"donate_amount": 1000,
"last_donate_time": 1753513200,
"last_donate_org": "献血采集机构名称",
"last_donate_amount": 300
}
返回参数:
参数 | 类型 | 说明 |
---|---|---|
code | int | 返回码 0:表示正常请求 |
exchange_id | string | 数据预传输记录ID |
返回示例:
{
"code": 0,
"msg": "Success",
"op_time": 1753513200,
"trace_id": "1a2b3c4d5e6f7g8h1a2b3c4d5e6f7g8h",
"data": {
"exchange_id": "gytest0001"
}
}
跳转数据传输中间页
- 跳转数据传输中间页时,需要在链接中带上相关参数以及签名,该信息由业务后台计算,由业务前端跳转时带上。
- 由于是携带参数跳转到中间页,由前端发起请求,从安全性考虑,计算签名时是对包体进行签名
跳转 Query 参数
参数 | 类型 | 说明 |
---|---|---|
appid | string | 应用 id,由开放平台分配给应用的唯一 ID |
business_id | string | 业务ID |
timestamp | int | 秒时间戳 |
nonce | string | 随机值,可以是数字和字母的组合;长度 32 位 |
exchange_id | string | 调用 PreTryBloodData 接口返回的 exchange_id |
sign | string | 使用应用的密钥,通过 HMAC-SHA256 算法签名后,得出的结果;此处计算签名需要以上全部参数都参与(不包括 spmet 参数) |
spmet | string | 来源:申请接入时分配 |
小程序跳转链接
- AppID:wxfdcee92a299bcaf1(小程序跳小程序)
- 原始 ID:gh_3f146c2a1401(H5开放标签跳小程序)
- 路径:pages/路径待定?appid=gy_c1ujie9cvmieripmes0g&business_id=TEST×tamp=1600110010&nonce=abcde1234&exchange_id=gytest10001&sign=ABCDEF0123456789&spmet=test
测试环境调试
参考:跳转领花页发花