主题
接入指南
API调用协议
API调用方法详解
API是基于HTTP协议来调用的,开发者(ISV)可以直接使用TOP提供的官方SDK(支持多种语言,包含了请求的封装,签名加密,响应解释,性能优化等)来调用,也可以根据协议来封装HTTP请求进行调用, 以下主要是针对自行封装HTTP请求进行API调用的原理进行详细解说。
调用入口
调用API的服务URL地址,开放平台目前提供了2个正式环境给ISV使用。
| 调用环境 | 服务地址 | 适用范围 |
|---|---|---|
| 域名1 | https://reepu.cn/api | 仅短网址 |
| 域名2 | https://reepu.com/api | 全部 |
| 域名3 | https://api.reepu.com | 全部 |
开发者需要对API的请求内容加密与签名,同时API的回包内容需要开发者验签与解密。
接口地址:https://reepu.cn/api + 接口路径 或 https://api.reepu.com + 接口路径
例如: https://reepu.cn/api/short/v1 或 https://api.reepu.com/short/v1
公共参数
调用任何一个API都必须传入的参数,目前支持的公共参数有:
Header
| 参数名称 | 参数类型 | 是否必填 | 描述 | 示例值 | 备注 |
|---|---|---|---|---|---|
| APIKey | String | 是 | 应用Key | 10000000000000000000000000000000 |
Params
| 参数名称 | 参数类型 | 是否必填 | 描述 | 示例值 | 备注 |
|---|---|---|---|---|---|
| timestamp | String | 是 | 时间戳,格式为yyyy-MM-dd HH:mm:ss,时区为GMT+8 | 2016-01-01 12:00:00 | |
| sign | String | 否 | 签名 | 9b2e4b061018eb2c0f9b9d3fb5b957a4 | |
| format | String | 否 | 响应数据格式,目前只支持json | json |
业务参数
API调用除了必须包含公共参数外,如果API本身有业务级的参数也必须传入,每个API的业务级参数请考API文档说明。
请求响应
| 参数名称 | 参数类型 | 是否必填 | 描述 | 示例值 | 备注 |
|---|---|---|---|---|---|
| code | Integer | 是 | 状态码 | 200 | 200成功,500内部错误 |
| message | String | 是 | 消息 | success | success成功,fail失败 |
| timestamp | String | 是 | 时间戳 | 1712648816 | |
| data | Object | 是 | 响应数据 |
签名算法
为了防止API调用过程中被黑客恶意篡改,调用任何一个API都需要携带签名,服务端会根据请求参数,对签名进行验证,签名不合法的请求将会被拒绝。目前支持的签名算法有以下几种:
常见错误码
| 错误码 | 错误描述 | 错误原因 |
|---|---|---|
| 401 | Unauthorized | 签名验证失败 |
| 404 | Not Found | 无效的请求路由 |
| 405 | Method Not Allowed | 请求方法不允许 |
| 417 | Expectation Failed | 签名验证失败 |
| 500 | Internal Server Error | 服务器内部错误 |
| 503 | Service Unavailable | 服务不可用 |