meta:

  • name: 土豆API文档 content: 土豆API文档
  • name: keywords content: 土豆API文档

# 请仔细阅读

  • 请严格按照接口文档开发,有问题请联系工作人员,或下载实例查看学习代码,接口支持base64加密,AEC加密,DES加密,AES加密,接口验签,IP限制等..在登录土豆API后APP设置里面均可配置,严禁用于非法用途,违规者将给予封号惩罚,一切解释权归 土豆API 所有

# 接口验证方式

  • 接口验证方式支持BASE64,AEC加密, (前支持对服务端响应加密,app请求不用加密) 会加密方式或者目前没有对应语言的加密方式的实例,请联系工作人员上传实例中心,或者在APP设置中取消勾选加密方式,验签方式同上,请求每个接口需要携带askKey,askKey放置在请求头已key-value形式传往后端key为askKey value在APP可以查看token,每次请求必须携带askKey

base64加密: 各类语言有自己的base64的工具类,可以自行百度查询,iapp的可使用java的base64,可在实例中心下载

AEC加密: AEC是对称加密,服务端和客户端以相同的加密方式+私有盐进行加密,私有盐可在APP配置中心设置,实例请在实例中心下载

AES/ECB/NOPadding 加密: AES 密码学中的高级加密标准(Advanced Encryption Standard,AES),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。这个标准用来替代原先的DES(Data Encryption Standard),已经被多方分析且广为全世界所使用,实例请在实例中心下载,秘钥请使用16位字符串,不然解密失败

DES/ECB/PKCS7 加密: DDES 全称为Data Encryption Standard,即数据加密标准,是一种使用密钥加密的块算法,1977年被美国联邦政府的国家标准局确定为联邦资料处理标准(FIPS),实例请在实例中心下载

接口验签:接口验签,建议加上,可防止非法抓包破解接口,这是一种验证接口是否客户端请求,非客户端会提示验签失败,验签规则:客户端在请求时候带上请求时间戳,以及管理员指定的特定字符串进行md5加密方式,然后放入请求头传到后端进行验证,实例可在实例中心下载

# 验签规则

验签规则为 验签字符串+时间戳,再将其进行md5算法加密(32位),请求头上需要携带时间戳和加密后的字符串时间戳key为time,加密后的字符串的key为sign,如果开启验签,土豆API响应内容也会返回验签数据,客户端可以自行验签,保证数据安全性 验签算法: sign=md5算法加密后的您的验签字符串+当前系统时间戳(毫秒) time=当前系统时间戳(毫秒)

# 加解密规则

请求加密,请求加密规范,请求内容为半加密,需要以key-加密(value),方式请求,其中加密(value)指的是加密算法加密后的值,key不需要加密,土豆API给予响应内容,为全加密

正确加密请求实例 实例接口/api/login

请求
{
    "userNumber":"MTIzNDc=",
    "passWord":"MTIzNDU2"
}
响应内容:
eyJjb2RlIjoiMjAwIiwibWVzc2FnZSI6IiIsInN0YXR1cyI6dHJ1ZSwiZGF0YSI6eyJhcGlVc2VyVG9rZW4iOiJleUowZVhBaU9pSktWMVFpTENKaGJHY2lPaUpJVXpJMU5pSjkuZXlKamRYSnlaVzUwSWpveE5qWTBPVE0wTlRrNU9UTXpMQ0pWVTBWU1ZHOXJaVzVMWlhraU9pSTJPVEUwTlRJNE1UWTRNRFU0TnprNE1EaGZNVEl6TkRjaUxDSjFjMlZ5U1dRaU9qWTVNVFExTWpneE5qZ3dOVGczT1Rnd09Dd2lkWE5sY2s1MWJXSmxjaUk2SWpFeU16UTNJbjAuR0VJMldjWF85TjhuT21fZURxelQyclJzOUJfeXAwcms3aTdHVGFXS3dUQSJ9LCJwYyI6bnVsbCwidGltZSI6bnVsbCwic2luIjpudWxsfQ==
1
2
3
4
5
6
7

错误加密请求实例 实例接口/api/login

请求
{
    "userNumber":"12347",
    "passWord":"123456"
}
响应内容:
eyJjb2RlIjoiNTAwIiwibWVzc2FnZSI6IuaVsOaNruino+WvhuWksei0pSIsInN0YXR1cyI6ZmFsc2V9
1
2
3
4
5
6
7

# 注意

注意,后端http状态码为500时,一般表示为请求数据解析失败或者请求数据解密失败,或者系统错误, 如果http状态码为500,当然解密失败情况只会出现在开发阶段,正式阶段出现加解密异常则为开发者更换了秘钥导致,返回报文为明文数据对象, 开发者可以直接获取数据,如果是业务类型错误,比如用户余额不足,返回的http状态码为200, 错误信息为密文,开发者使用对应解密方法解密数据即可, 凡是上传文件的接口均不支持加解密(不包含base64),后续优化该功能

解密失败请求实例 实例接口api/updateUserBalance 请求:

{
    "type":12,
    "amount":10
}
1
2
3
4

响应内容: 此时http状态码为500,不是返回数据码,这点请注意

数据解密失败报文:
{
    "timestamp": 1676518671836,
    "status": 500,
    "error": "Internal Server Error",
    "message": "数据解密失败",
    "path": "/api/updateUserBalance"
}
数据解析失败报文:
{
    "timestamp": 1676519332339,
    "status": 500,
    "error": "Internal Server Error",
    "message": "内容解析失败,请检查提交信息是否正确",
    "path": "/api/updateUserBalance"
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

# 请求生产环境地址,下文的baseUrl

  • https://api.potatocloud.cn

# 请求URL(baseUrl+接口URL)

  • {baseUrl}/api/test
  • 举例https://api.potatocloud.cn/api/test
# 请求方式
  • POST | GET | DELETE | PUT
# 请求头参数
参数名 必选 类型 说明
Content-Type string 此参数必传,当请求数据非json时此参数传对应格式如(multipartform-data,application/x-www-form-urlencoded,等)是json请传application/json
askKey string 此参数必传,验证app的令牌
sign string 此参数如果在app设置开启了验签是必传,规则上方有描述
time string 当开启验签时,此参数为必传
apiUserToken string 除了部分不验证用户令牌的接口以外此参数为必传(注册/登陆/发送验证码)不是必传,其余都是必传
# 接口参数

接口参数每个接口文档有详细的参数描述

# 返回示例
{
    "code": "500",
    "message": "验证码不存在",
    "status": false,
    "data": null,
    "pc": null
}
1
2
3
4
5
6
7
# 返回参数说明
参数名 类型 说明
code string 200请求成功,403无权限或令牌过期,返回该状态码建议跳转登陆界面让用户进行重新登陆500为错误,message会携带错误信息返回,可以将该详细提示给用户
message string 错误信息,成功是不会返回错误信息
status boolean 状态,true 为成功,false 为失败
data json 返回数据 格式为json,如果需要返回数据时候,该参数会携带数据返回
pc json 分页对象,携带分页信息,如果不是列表查询该参数为null
# 备注

# OCR识别

OCR支持中,英文,以及数字,其他字库联系官方添加 如果OCR识别不支持PNG后缀直接改成jpg这种类型文件,如果出现该情况,请保存新的图像上传识别,由于字库是使用默认字库,如需识别特殊字符可以联系官方训练字库,

  • 更多返回错误代码请看首页的错误代码描述
lastUpdate: 9/30/2024, 11:00:58 AM