接入指南
一、引言
1.1 编写目的
1.2 使用对象
1.3 版权说明
1.4 技术支持
product@whalet.com
二、公共报文
2.1 接入方式
环境 | 地址 |
---|---|
测试环境 | https://test-open.whalet.com/api |
生产环境 | https://open.whalet.com/api |
2.2 数据格式
报文必填标识:M(必填选项) O(可选选项) C(条件必选,特定条件必填);
请求报文
1.
2.
3.
响应报文
1.
2.
3.
4.
5.
2.3 加密及签名方式
1.
2.
3.
4.
RSA密钥对获得
对于whalet来说,需要为每个合作方生成对应的密钥对 2048位(Base64 编码)。其中,私钥whalet平台保留,公钥2048位(Base64 编码)需要提供给合作方。
报文加密及签名
1.
2.
3.
报文解密及验签
1.
2.
3.
请求待签字符串
encrypt来自实际请求体中encrypt字段。
响应待签字符串
encrypt来自实际响应体中encrypt字段,报文体(body)节点为空时,encrypt为空,不参加待签字符串连接。
2.4 公共请求报文头
字段名 | 类型 | 长度 | 必填 | 描述 |
---|---|---|---|---|
partnerId | String | 30 | M | 合作方id,whalet提供 |
apiCode | String | 30 | M | 接口名称 |
requestNo | String | 30 | M | 请求流水号, 唯一 |
version | String | 3 | M | 接口版本,固定为:1.0 |
sign | String | M | 请求报文签名 | |
keyEnc | String | M | 会话密钥密文 |
2.5 公共响应报文头
字段名 | 类型 | 长度 | 必填 | 描述 |
---|---|---|---|---|
partnerId | String | 30 | M | 请求头原样返回 合作方id,whalet提供 |
apiCode | String | 30 | M | 请求头原样返回 接口名称 |
requestNo | String | 30 | M | 请求头原样返回 请求流水号, 唯一 |
version | String | 3 | M | 请求头原样返回 版本,固定为:1.0 |
code | String | 32 | M | 返回码SUCCESS 表示请求成功 |
detail | String | 256 | M | 描述 |
sign | String | O | 响应报文签名 | |
keyEnc | String | O | 会话密钥密文 |
2.6 错误响应码
代码 | 描述 | 备注 |
---|---|---|
SUCCESS | 请求成功 | |
PROCESSING | 处理中 | 等待通知,以通知为准 |
FAILURE | 失败 | 具体失败内容见detail属性 |
TOO_MANY_REQUESTS | 请求频率过高 | |
PARTNER_NOT_EXIST | 合作方不存在 | |
INTERNAL_ERROR | 内部错误 | |
PARAM_FORMAT_ERROR | 参数格式错误 | |
PARAMETER_ERROR | 参数错误 | |
IDEMPOTENT_ERROR | 幂等错误 | |
REQUEST_NO_NOT_UNIQUE | 请求号重复 | |
UNAUTHORIZED | 未授权 | |
UNAUTHENTICATED_ERROR | 认证(签名)错误 | |
INTERFACE_UNAUTHORIZED | 接口未授权 |
2.7 异步通知
合作方需要在指定时间内返回结果(需满足公共响应格式以及要求),如果出现请求超时,whalet会按照如下规则重试:
1.
2.
3.
2.8 报文示例
请求定义
ConnectivityGuideRequestBody
notifyFlag
enum<string>
是否通知
Allowed values:
YN
notifyMessage
string
通知内容
responseFlag
enum<string>
是否响应
Allowed values:
YN
responseMessage
string
响应内容
请求示例
响应定义
ConnectivityGuideResponseBody
messge
string
消息内容
响应示例
三、文件上传
3.1 接入方式
环境 | 地址 |
---|---|
测试环境 | https://test-open.whalet.com/file/upload |
生产环境 | https://open.whalet.com/file/upload |
3.2 数据格式
3.3 token生成
待签字符串
签名
有效期
3.4 请求示例
shell命令请求
postman请求
3.5 响应示例
正确响应
{
"code": "SUCCESS",
"detail": "成功",
"info": {
"fileId": "202405011245158834940001",
"fileName": "demo.jpg",
"fileUrl": "https://test-file.whalet.com/2024-05-01/75ab32a9-cc98-46cb-9e8f-5c055fd9e4b5.jpg"
}
}
异常响应
{
"code": "UNAUTHENTICATED_ERROR",
"detail": "invalid token",
"info": null
}
注意事项
1.
2.
Modified at 2025-04-22 06:06:45