API 接口
虚拟卡¶
开卡¶
请求方法:card
业务参数:
名称 | 必填 | 描述 | 取值说明 |
---|---|---|---|
requestId | 是 | 请求单号,唯一(不超过32位) | 例如:CBS123456789 |
driverCellphone | 是 | 开卡人手机号 | 例如:18800000000 |
请求示例:
{
"requestId": "CBS123456789",
"driverCellphone": "18800000000"
}
响应数据:
名称 | 必填 | 描述 | 取值说明 |
---|---|---|---|
code | 是 | 结果码 | 详情请查看概述中的【结果码】 |
message | 是 | 失败时返回失败原因 | 如:账户错误 |
响应示例:
{
"code": "00000",
"message": ""
}
开卡查询¶
请求方法:cardQuery
业务参数:
名称 | 必填 | 描述 | 取值说明 |
---|---|---|---|
originalRequestId | 是 | 开卡时的请求单号 | 例如:CBS123456789 |
请求示例:
{
"originalRequestId": "CBS123456789"
}
响应数据:
名称 | 必填 | 描述 | 取值说明 |
---|---|---|---|
code | 是 | 结果码 | 详情请查看概述中的【结果码】 |
message | 是 | 失败时返回失败原因 | 如:账户错误 |
data | 条件 | code=00000 时存在 |
|
data.cardCode | 是 | 卡号 | 如:card123456789 |
data.status | 是 | 开卡状态 | 枚举值如下:1 待开卡 2 处理中 3 开卡成功 4 开卡失败 |
响应示例:
{
"code": "00000",
"message": "",
"data": {
"cardCode": "card123456789",
"status": 3
}
}
开卡通知¶
开卡成功或者失败之后,结果将异步通知到第三方绑定的开卡回调地址,请求方式为 POST。
注意:回调通知地址 不能 存在 ? 号
请求地址:https://callbackUrl
请求参数:
Path 参数,将拼接到异步通知地址的后面,如:
https://callbackUrl?clientId=clientId×tamp=timestamp......
名称 | 必填 | 描述 | 取值说明 |
---|---|---|---|
clientId | 是 | 对接唯一标识,由平台提供 | 16位,如:abcdef0123456789 |
timestamp | 是 | 时间戳 | 1970-01-01至今秒数,如:1571910081 |
nonceStr | 是 | 随机字符串,不超过 32 位 | 如:abcdef0123456789 |
sign | 是 | 签名 | 详情见概述 |
业务参数,JSON 格式
名称 | 必填 | 描述 | 取值说明 |
---|---|---|---|
requestId | 是 | 开卡时的请求单号 | 如:CBS123456789 |
cardCode | 是 | 卡号 | 如:card123456789 |
status | 是 | 开卡状态 | 枚举值如下:1 待开卡 2 处理中 3 开卡成功 4 开卡失败 |
请求示例:
https://callbackUrl?clientId=clientId×tamp=timestamp&nonceStr=nonceStr&sign=sign
{
"requestId": "CBS123456789",
"cardCode": "card123456789",
"status": 3
}
响应数据:
名称 | 必填 | 描述 | 取值说明 |
---|---|---|---|
code | 是 | 结果码 | 接收成功返回 00000 |
message | 是 | 失败时返回失败原因 | 如:系统异常 |
响应示例:
{
"code": "00000",
"message": ""
}
卡余额查询¶
请求方法:cardBalance
业务参数:
名称 | 必填 | 描述 | 取值说明 |
---|---|---|---|
cardCode | 是 | 卡号 | 例如:card123456789 |
请求示例:
{
"cardCode": "card123456789"
}
响应数据:
名称 | 必填 | 描述 | 取值说明 |
---|---|---|---|
code | 是 | 结果码 | 详情请查看概述中的【结果码】 |
message | 是 | 失败时返回失败原因 | 如:账户错误 |
data | 条件 | code=00000 时存在 |
|
data.balance | 是 | 余额 | 如:12.34 |
响应示例:
{
"code": "00000",
"message": "",
"data": {
"balance": 12.34
}
}
产品查询¶
请求方法:rechargeProduct
业务参数:无
响应数据:
名称 | 必填 | 描述 | 取值说明 |
---|---|---|---|
code | 是 | 结果码 | 详情请查看概述中的【结果码】 |
message | 是 | 失败时返回失败原因 | 如:账户错误 |
data | 条件 | code=00000 时存在 |
|
data.product | 条件 | 产品详情 | 数组 |
data.product[].id | 是 | 产品ID | 如:1 |
data.product[].status | 是 | 产品状态 | 如:0:停用,1:启用 |
data.product[].name | 是 | 产品名称 | 如:100元充值产品 |
data.product[].amount | 是 | 产品面值 | 如:100 |
data.product[].price | 是 | 售价 | 如:99.95 |
响应示例:
{
"code": "00000",
"message": "",
"data": {
"product": [
{
"id": 1,
"status": 1,
"name": "100元充值产品",
"amount": 100,
"price": 99.95
},
{
"id": 2,
"status": 0,
"name": "150元充值产品",
"amount": 150,
"price": 145
}
]
}
}
充值¶
请求方法:recharge
业务参数:
名称 | 必填 | 描述 | 取值说明 |
---|---|---|---|
requestId | 是 | 请求单号,必须唯一(不超过32位) | 例如:CBS123456789 |
productId | 是 | 充值产品ID | 例如:1 |
productAmount | 是 | 充值产品面值,单位:元 | 例如:100 |
cardCode | 是 | 充值卡号 | 例如:card123456789 |
请求示例:
{
"requestId": "CBS123456789",
"productId": 1,
"productAmount": 100,
"cardCode": "card123456789"
}
响应数据:
名称 | 必填 | 描述 | 取值说明 |
---|---|---|---|
code | 是 | 结果码 | 详情请查看概述中的【结果码】 |
message | 是 | 失败时返回失败原因 | 如:余额不足 |
响应示例:
{
"code": "00000",
"message": ""
}
充值查询¶
请求方法:rechargeQuery
业务参数:
名称 | 必填 | 描述 | 取值说明 |
---|---|---|---|
originalRequestId | 是 | 充值时的请求单号 | 例如:CBS123456789 |
请求示例:
{
"originalRequestId": "CBS123456789"
}
响应数据:
名称 | 必填 | 描述 | 取值说明 |
---|---|---|---|
code | 是 | 结果码 | 详情请查看概述中的【结果码】 |
message | 是 | 失败时返回失败原因 | 如:账户错误 |
data | 条件 | code=00000 时存在 |
|
data.cardCode | 是 | 卡号 | 如:card123456789 |
data.status | 是 | 充值状态 | 枚举值如下:1 待充值 2 充值中 3 充值成功 4 充值失败 |
响应示例:
{
"code": "00000",
"message": "",
"data": {
"cardCode": "card123456789",
"status": 3
}
}
充值通知¶
充值成功或者失败之后,结果将异步通知到第三方绑定的充值回调地址,请求方式为 POST。
注意:回调通知地址 不能 存在 ? 号
请求地址:https://callbackUrl
请求参数:
Path 参数,将拼接到异步通知地址的后面,如:
https://callbackUrl?clientId=clientId×tamp=timestamp......
名称 | 必填 | 描述 | 取值说明 |
---|---|---|---|
clientId | 是 | 对接唯一标识,由平台提供 | 16位,如:abcdef0123456789 |
timestamp | 是 | 时间戳 | 1970-01-01至今秒数,如:1571910081 |
nonceStr | 是 | 随机字符串,不超过 32 位 | 如:abcdef0123456789 |
sign | 是 | 签名 | 详情见概述 |
业务参数,JSON 格式
名称 | 必填 | 描述 | 取值说明 |
---|---|---|---|
requestId | 是 | 充值时的请求单号 | 如:CBS123456789 |
cardCode | 是 | 卡号 | 如:card123456789 |
status | 是 | 充值状态 | 枚举值如下:1 待充值 2 充值中 3 充值成功 4 充值失败 |
请求示例:
https://callbackUrl?clientId=clientId×tamp=timestamp&nonceStr=nonceStr&sign=sign
{
"requestId": "CBS123456789",
"cardCode": "card123456789",
"status": 3
}
响应数据:
名称 | 必填 | 描述 | 取值说明 |
---|---|---|---|
code | 是 | 结果码 | 接收成功返回 00000 |
message | 是 | 失败时返回失败原因 | 如:系统异常 |
响应示例:
{
"code": "00000",
"message": ""
}
账户¶
账户信息¶
请求方法:account
业务参数:无
响应数据:
名称 | 必填 | 描述 | 取值说明 |
---|---|---|---|
code | 是 | 结果码 | 详情请查看概述中的【结果码】 |
message | 是 | 失败时返回失败原因 | 如:账户错误 |
data | 条件 | code=00000 时存在 |
|
data.name | 是 | 账户名称 | 如:车帮手 |
data.balance | 是 | 账户余额 | 如:123.45 |
data.ip | 是 | 绑定的IP地址 | 如:127.0.0.1 |
响应示例:
{
"code": "00000",
"message": "",
"data": {
"name": "车帮手",
"balance": 123.45,
"ip": "127.0.0.1,127.0.0.2"
}
}
余额变动日志¶
请求方法:accountBalanceLog
业务参数:
名称 | 必填 | 描述 | 取值说明 |
---|---|---|---|
dateFrom | 是 | 开始日期,与结束日期间隔不能超过3天 | 例如:2023-01-01 |
dateTo | 是 | 结束日期,与开始日期间隔不能超过3天 | 例如:2023-01-03 |
请求示例:
{
"dateFrom": "2023-01-01",
"dateTo": "2023-01-03"
}
响应数据:
名称 | 必填 | 描述 | 取值说明 |
---|---|---|---|
code | 是 | 结果码 | 详情请查看概述中的【结果码】 |
message | 是 | 失败时返回失败原因 | 如:账户错误 |
data | 条件 | code=00000 时存在 |
|
data.log | 条件 | 日志 | 数组 |
data.log[].id | 是 | 日志ID | 如:1 |
data.log[].amount | 是 | 变动金额 | 如:-12.34 |
data.log[].type | 是 | 金额变动类型 | 如:123 |
data.log[].content | 是 | 描述 | 如:充值扣减 |
data.log[].time | 是 | 金额变动时间 | 如:2023-01-01 01:01:01 |
响应示例:
{
"code": "00000",
"message": "",
"data": {
"log": [
{
"id": 1,
"amount": 1000,
"type": 1,
"content": "加款",
"time": "2023-01-01 01:01:02"
},
{
"id": 2,
"amount": -12.34,
"type": 2,
"content": "充值扣减",
"time": "2023-01-01 01:01:01"
}
]
}
}