YesApi 接口文档
接口参数 若无特殊说明,接口参数同时支持GET和POST传递;推荐:查询/删除用GET,创建/更新用POST。
| 参数名字 | 参数类型 | 是否必须 | 默认值 | 备注 | 参数说明 |
|---|---|---|---|---|---|
| app_key | 字符串 | 必须 | 最小:32 | 公共参数 开发者应用的app_key,点击查看,或免费注册。 | |
| sign | 字符串 | 可选 | 公共参数接口签名,其中: | ||
| uuid | 字符串 | 可选 | 公共参数 UUID,当前登录的应用会员ID,即全局唯一用户ID,查看我的应用会员。传递此参数后,可以在开放平台查看每日活跃会员统计图表。uuid需要和token一起传递。 | ||
| token | 字符串 | 可选 | 公共参数 当前登录会员的会话凭证,可通过会员登录接口获得。uuid需要和token一起传递。 | ||
| return_data | 字符串 | 可选 | 公共参数 数据返回结构,其中:
| ||
| yesapi_allow_origin | 整型 | 可选 | 0 | 公共参数 是否允许跨域请求,1表示允许,0表示不允许。 | |
| needs | 字符串用,分割 | 可选 | address,barcode,color | 需要模拟的数据类型,多个数据类型用英文逗号分割。支持以下数据类型:
| |
| total | 整型 | 可选 | 3 | 最小:1 | 需要模拟的数据条目数量 |
| is_return_as_object | 布尔型 | 可选 | true | 每一组模拟数据是否以对象格式返回,否则以数组格式返回,可以根据需要选择是否需要合并在一起 |
在线测试
| 参数 | 是否必填 | 值 |
|---|---|---|
| s | 固定 | |
| uuid | 可选 | |
| token | 可选 | |
| return_data | 可选 | |
| yesapi_allow_origin | 可选 | |
| needs | 可选 | |
| total | 可选 | |
| is_return_as_object | 可选 |
客户端请求示例
查看我的接口域名、app_key和app_secrect 客户端接入指南(如何生成签名) 开启/关闭签名
我的客户端是【XXX】,需求是【XXX】,app_key是【XXX】,请根据以下接口文档,完成API接入。
# 【 3813 模拟产生数据[多合一]】接口文档
**所属平台**: YesApi果创云
**接口地址**: `http://api.yesapi.net/?s=App.Common_Faker.AllInOne`
**请求方式**: POST/GET
## 接口基本信息
- **功能描述**: 多合一 可以一次性组合模拟产生多种数据,功能更为强大。
- **返回格式**: JSON
## 请求参数说明
### 系统参数(使用Query传递)
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|--------|
| s | string | 必填 | 接口服务名,固定为`App.Common_Faker.AllInOne` |
| app_key | string | 必填 | 应用key,传入`你的app_key` |
| sign | string | 可选 | 公共参数接口签名,其中: 关闭签名,默认,不需要签名,在接口签名设置关闭或开启接口签名。 静态签名,简单,固定的签名,点击获取。 动态签名,复杂,安全系数高,获取密钥,教程:如何生成签名,下载SDK开发包,在线测试对比签名。 定制签名,支持个性化签名签名算法定制。 |
| uuid | string | 可选 | 公共参数 UUID,当前登录的应用会员ID,即全局唯一用户ID,查看我的应用会员。传递此参数后,可以在开放平台查看每日活跃会员统计图表。uuid需要和token一起传递。 |
| token | string | 可选 | 公共参数 当前登录会员的会话凭证,可通过会员登录接口获得。uuid需要和token一起传递。 |
| return_data | string | 可选 | 公共参数 数据返回结构,其中: return_data=0,返回完整的接口结果,示例:{"ret":200,"data":{"err_code":0,"err_msg":"","title":"Hi YesApi,欢迎使用小白开放接口!"},"msg":"V3.1.0 YesApi App.Hello.World","_t": 1657513450, "_auth": "9bcd54ff53e71a1d80d37c52bdfabf76"}; return_data=1,返回简洁的接口结果,只返回data字段,结构简化一级,更扁平,示例:{"err_code":0,"err_msg":"V3.1.0 YesApi App.Hello.World","title":"Hi YesApi,欢迎使用小白开放接口!"}。 |
| yesapi_allow_origin | int | 可选 | 公共参数 是否允许跨域请求,1表示允许,0表示不允许。 |
### 业务参数(使用POST或Query传递)
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| needs | array | 可选 | 需要模拟的数据类型,多个数据类型用英文逗号分割。支持以下数据类型: Address:地址数据,字段有state,stateAbbr,city,postcode,address,latitude,longitude Barcode:条形码数据,字段有ean13,ean8,isbn13,isbn10 Color:颜色数据,字段有hexcolor,rgbcolor,rgbColorAsArray,rgbCssColor,safeColorName,colorName Company:公司数据,字段有catchPhrase,company,companySuffix Datetime:时间数据,字段有unixTime,iso8601,date,time,year,month,dayOfMonth,amPm Dev:开发数据,字段有md5,sha1,sha256 Image:图片数据,字段有imageUrl Internet:网络数据,字段有email,userName,password,slug,ipv4,localIpv4,ipv6,macAddress Person:用户数据,字段有name,lastName,firstName,firstNameMale,firstNameFemale Phonenumber:电话数据,字段有phoneNumber Useragent:用户代理数据,字段有userAgent,chrome,firefox,safari,opera,internetExplorer Uuid:UUID数据,字段有uuid |
| total | int | 可选 | 需要模拟的数据条目数量 |
| is_return_as_object | boolean | 可选 | 每一组模拟数据是否以对象格式返回,否则以数组格式返回,可以根据需要选择是否需要合并在一起 |
## 返回字段
| 返回字段 | 类型 | 说明 |
|--------|------|------|
| ret | int | 接口状态码,`200`表示成功,`4xx`表示客户端非法请求,`5xx`表示服务端异常 |
| data | object/array/混合 | 接口返回的业务数据,由不同的API接口决定不同的数据返回字段和结构。当`return_data=1`时,接口只会返回此`data`字段。|
| msg | 字符串 | 提示信息,面向技术人员的帮助或错误提示信息,成功返回时为空字符串 |
| data.items | array | 模拟数据,具体字段根据需要模拟的数据类型而定|
## 请求示例
```bash
curl -X POST "http://api.yesapi.net/?s=App.Common_Faker.AllInOne&app_key=YOUR_APP_KEY" \
-H "Content-Type: application/json;charset=UTF-8" \
-d "YOUR_POST_DATA_JSON"
```
成功返回示例(ret=200表示成功请求,data为成功后的业务数据):
```json
{
"ret": 200,
"data": `成功返回的业务数据`,
"msg": ""
}
```
失败返回示例:
```json
{
"ret": 400,
"data": [],
"msg": "客户端非法请求:xxx参数错误"
}
```请求:
{你的接口域名}/?s=App.Common_Faker.AllInOne&uuid=&token=&needs=address,company&total=3&is_return_as_object=1&app_key={你的app_key}&sign={接口签名}
返回:
{
"ret": 200,
"data": {
"err_code": 0,
"err_msg": "",
"items": [
{
"state": "新疆维吾尔自治区",
"stateAbbr": "津",
"city": "北京",
"postcode": "724700",
"address": "昆明新区",
"latitude": 45.809922,
"longitude": 159.784064,
"catchPhrase": "天天都是春天",
"company": "凌颖信息传媒有限公司",
"companySuffix": "传媒有限公司"
},
{
"state": "甘肃省",
"stateAbbr": "吉",
"city": "上海",
"postcode": "405700",
"address": "郑州吉利区",
"latitude": 45.506068,
"longitude": -177.204935,
"catchPhrase": "牛奶香浓,丝般感受。",
"company": "恒聪百汇传媒有限公司",
"companySuffix": "信息有限公司"
},
{
"state": "河北省",
"stateAbbr": "辽",
"city": "昆明",
"postcode": "428100",
"address": "石家庄花溪区",
"latitude": -22.61345,
"longitude": -67.388615,
"catchPhrase": "永远要让驾驶执照比你自己先到期。",
"company": "太极信息有限公司",
"companySuffix": "传媒有限公司"
}
]
},
"msg": "V1.3.11 小白开放接口 App.Common_Faker.AllInOne"
}
如果需要每组数据单独分开,可以把传参数is_return_as_object=0,例如请求:
{你的接口域名}/?s=App.Common_Faker.AllInOne&needs=address,company&total=3&is_return_as_object=0&app_key={你的app_key}&sign={接口签名}
返回:
{
"ret": 200,
"data": {
"err_code": 0,
"err_msg": "",
"items": {
"state": [
"上海市",
"广西壮族自治区",
"湖北省"
],
"stateAbbr": [
"吉",
"苏",
"渝"
],
"city": [
"香港",
"天津",
"南京"
],
"postcode": [
"725400",
"448000",
"594400"
],
"address": [
"上海吉利区",
"拉萨南湖区",
"上海沈河区"
],
"latitude": [
0.790029,
11.611364,
15.771068
],
"longitude": [
-58.11326,
-72.033088,
167.233041
],
"catchPhrase": [
"要想皮肤好,早晚用大宝。",
"三十六计走为上",
"做光明的牛,产光明的奶"
],
"company": [
"毕博诚传媒有限公司",
"诺依曼软件信息有限公司",
"东方峻景网络有限公司"
],
"companySuffix": [
"网络有限公司",
"网络有限公司",
"信息有限公司"
]
}
},
"msg": "V1.3.11 小白开放接口 App.Common_Faker.AllInOne"
}
接口返回
| 返回字段 | 类型 | 说明 |
|---|---|---|
| ret | 整型 | 接口状态码,200表示成功,4xx表示客户端非法请求,5xx表示服务端异常,查看异常错误码 |
| data | object/array/混合 | 接口返回的业务数据,由不同的API接口决定不同的数据返回字段和结构。当return_data=1时,接口只会返回此data字段。 |
| data.items | 字符串 | 模拟数据,具体字段根据需要模拟的数据类型而定 |
| msg | 字符串 | 提示信息,面向技术人员的帮助或错误提示信息 |
| _t | 整数 | 服务器当时Unix时间戳,例如:1657513450 |
| _auth | 字符串 | 反向数字签名,可用于客户端进行反向验证,防止数据篡改,例如:9bcd54ff53e71a1d80d37c52bdfabf76。验证算法:_auth = md5(data返回的JSON字符串 + _t当前时间戳字符串 + APP_SECRECT密钥字符串),若需要关闭或开启请提交工单 |
异常错误码
| 错误码 | 错误类型 | 错误描述信息 | 解决方法 |
|---|---|---|---|
| ret = 200 | 成功 | 请求成功 | |
| ret = 400 | 客户端非法请求 | 表示客户端参数错误 | 1、根据接口文档的接口参数,提供正确的参数 |
| ret = 404 | 客户端非法请求 | 表示接口服务不存在 | 1、查看小白接口大全,确保接口服务名称拼写正确 |
| ret = 500 | 小白接口异常 | 表示服务端内部错误 | 1、进入QQ交流群897815708,反馈问题;2、或者提交工单,一天内回复 |
常见问题FAQ
Q1 问:出现 414 Request-URI Too Large 时怎么解决?答:对于全部参数,改用POST方式传递,并且从GET链接里面去掉。
Q2 问:浏览器请求和在线测试接口正常,但本地程序无法正常获取接口结果。答:需要注意UTF编码,以及存在中文和特殊字符时的URL编码。GET请求参数应统一进行URL编码后再请求,POST表单数据正常传递即可。
Q3 问:请求接口时提示JSON格式错误。答:请先阅读,然后检测本地传递的参数是否符合JSON格式,使用JSON在线工具辅助检测,注意双引号和特殊符号。确认无误后再重新请求API接口。
Q4 问:出现 405 不允许跨域请求 时怎么办?答:可以追加GET参数 &yesapi_allow_origin=1,或参考用反向代理解决跨域问题等3种解决方案。
Q4 问:在wx内无法访问yesapi.cn或okayapi.com域名,怎么办?答:由于曾经短链跳转使用被wx误封域名,可以帮忙进行申诉。申诉后截图联系我们,获取15万次接口流量奖励。