Skip to content
控制台

Open API 加签文档

Open API 使用加签,API 密钥需要使用 RSA 加验签模式

版本(1.0.0)

域名

  • 测试环境
  • 生成环境

公共请求头

列名

类型

是否必填

说明

实例值

version

String

API 版本

1.0.0

token

String

认证 token

sign_str

String(Base64)

签名字符串(参考加签流程)

timestamp

Integer

时间戳(毫秒)

1721299458423

请求体

参考具体接口要求,如请求体需要加密参考加密流程(先加密再计算加签字符串),请求参考示例

curl --location --request POST 'https://{gateway-host}/{api-path}' \
--header 'token: a0e13fe1-5626-4c05-926b-20f586c69102-20240821144204' \
--header 'timestamp: 1724222524375' \
--header 'version: 1.0.0' \
--header 'sign_str: EowIBAAKCAQEArbNcSNSLjHzqOzrYL+7afEh5TI4hn1BCxsuzY02c1RMn24a2YEvpqCCVDxmgN/dcAdcCcvhO/2wDG389LuEkw+QhVPzdAE29bbzz+Gb/FDusVNo6tl8mbfd/XA53h3sOCekEMP2QCoPAoUO94wUWK5RpjsONf9Bs0Q6YUmL4TWqvPGmWjc/Y8winDtFzKN2his5PhbWlRiSkENGXSma6lr66BA/SduAY/Fl8YxEWThVkYsAurg0rEd83DilN4zp7hZf82Msjgp8kPm/SMHTEF2V2cOo82m12HyRJKuKS0L8WPVIwQmXJ6VN55ue+b96sryUs/WZyfiXTh0thoa9vqQIDAQABAoIBAQCsOMDQSUTPl27aKR7+b5FbVrRF7kpx3i9HUeLcG7DbJrIHHAspcTsLgrqoDR1pQC2OeXMpMP+KirqOAdtU5tAAFenijRBGY83kx0sSSHSyx/O28eTyu2ar84/oY0OqJZ0mwE1ykYXGlxlgC31zYLC5pt3+Oe/LAYlSwmjOjuhoQDMZoiCByIw6oDAVLIlZwTl8A/HAR1yacDTh6lps1vTZ5lBfIDpbn1gHb2GWqHu8q9oD9G9IEyWwwTE1IsNXVwBKEifjLubd2WfTWDmROVZZ9T4AXm/40/Eb6ALApwY5s7lBMIiapmcJZzlyELEukUMmYN7vHBjdMDOPK3tjLSKNA' \
--data-raw '{"task_id": 1}'

公共请求体

列名

类型

不是 null

说明

实例值

code

String

响应 code

0000

message

String

响应说明

success

data

Object

数据体

{"task_name": "test_task1"}

加签流程

  1. 生成待加签字符串
    • path 为接口地址,get 请求需要完整 url 包含 query 参数
    • version 为请求头中的接口版本
    • timestamp 为请求头中的时间戳
    • token 为请求头中的 token
    • data 为接口请求体,如果接口需要加密则为加密后的 base64 字符串
rs
//format!("{}\n{}\n{}\n{}\n{}", path, version, timestamp, token, data)

/api/user/order/get_this_week_residue_withdrawal_count
1.0.0
1724222524375
a0e13fe1-5626-4c05-926b-20f586c69102-20240821144204
{"username":"test1","password":"password1"}
  1. 获取到待签名字符串后,通过 rsa_sha256_prik_sign 签名算法,进行计算签名,然后生成 BASE64 字符串
  2. 然后设置请求头的 sign_str 字段,value 为生成的 BASE64 字符串

加密流程

  1. 根据 rsa 公钥对请求体进行 rsa_pubk_encrypt 算法加密
  2. 之后将加密 byte 数组转换为 BASE64 字符串
  3. 然后将 BASE64 字符串放入请求体中
  4. 如果请求同时需要加密和加签,则需要先进行加密步骤,再进行加签步骤