接口参数 若无特殊说明,接口参数同时支持GET和POST传递;推荐:查询/删除用GET,创建/更新用POST。
参数名字 | 参数类型 | 是否必须 | 默认值 | 备注 | 参数说明 |
---|---|---|---|---|---|
app_key | 字符串 | 必须 | 最小:32 | 公共参数 开发者应用的app_key,查看我的app_key,如果还没有,可免费注册开通。 | |
sign | 字符串 | 可选 | 公共参数接口签名,其中: | ||
uuid | 字符串 | 可选 | 公共参数 UUID,当前登录的应用会员ID,即全局唯一用户ID,查看我的应用会员。传递此参数后,可以在开放平台查看每日活跃会员统计图表。uuid需要和token一起传递。 | ||
token | 字符串 | 可选 | 公共参数 当前登录会员的会话凭证,可通过会员登录接口获得。uuid需要和token一起传递。 | ||
return_data | 字符串 | 可选 | 0 | 公共参数 数据返回结构,其中:
| |
model_name | 字符串 | 必须 | otherCostMaintenance | 表单名称(对应在小白开放平台创建时的数据库表名称),查看我的全部表单 | |
model_uuid | 字符串 | 可选 | 最大:32 | 表单UUID,即对应表单数据里的uuid字段。分为三种情况: model_uuid为@NULL或未提供时(默认值):如model_uuid=@NULL,即不限制uuid,可匹配任意uuid,包括uuid为空和不为空的数据纪录; model_uuid为空字符串:为空字符串时,如model_uuid=,只匹配uuid为空字符串的数据纪录(即游客数据); model_uuid为具体的值:如model_uuid=8AEA2AF1951C0376EC668A74B8CAA64A,则进行精确匹配,只匹配与表单uuid相等的数据纪录。 | |
check_code | 字符串 | 可选 | 最大:64 | 待检测的口令,仅当在小白开放平台配置口令后才会对此参数进行检测,规则配置教程 | |
select | 字符串用,分割 | 可选 | SQL语句的SELECT部分,多个字段用英文逗号分割,如:select=id,uuid | ||
logic | 字符串 | 可选 | and | where条件的逻辑组合,logic=and表示逻辑且,logic=or表示逻辑或 | |
where | 字符串JSON格式 | 可选 | [["id", ">=", "1"]] | SQL语句的WHERE查询条件,JSON格式,格式为:[第一组条件, 第二组条件, ……]。(where和where_X二选一,不可混用,以where_X优先) 写法1:每一组的条件格式为:["字段名", "比较符", "比较值"],其中: 字段名:表单结构中存在的字段,或表字段 比较符:比较符号可以是>gt;、>gt;=、>lt;、>lt;=、>lt;>gt;、!=、EQ、GT、GE、LT、LE、NE、LIKE、NLIKE、IN、NIN、BETWEEN、NBETWEEN 比较值:需要比较的值,不同比较符的比较值格式会有所不同。如果字段是数值类型,请传递数值类型,不要用字符串。 示例:当logic=and, where=[["id",">gt;",9],["id",">lt;=",10]],则表示:id >gt; 9 AND id >lt;= 10。 写法2(Beta):每一组的条件格式可以为:MySQL条件字符串,支持嵌套、组合、函数等,功能更强大,组合更灵活,但要求: 必须符合MySQL语法 一些疑似危险的操作已被禁止 建议掌握MySQL语法的专业开发者使用,并且使用静态参数,开启接口签名,以防SQL注入攻击 示例:当logic=and, where=["id >gt; 9", "id >lt;= 10"],则表示:id >gt; 9 AND id >lt;= 10。 以上两种写法可以混合使用。如果需要有效防止SQL注入,请用写法1;如果需要更强大的条件组合,并且是固定参数条件时,可用写法2。更多示例说明请参考WHERE参数介绍。 | |
where_X | 字符串 | 可选 | 动态条件,优先于where的JSON数据,简化的where条件,更易使用但只支持部分比较符。条件格式:where_ + X(X要换成你的字段名) = 比较符(见下方) + 中横线(-) + 比较值。支持的比较符和示例如下: EQ:等于(默认),如:where_year=EQ-2020,或:where_year=2020,表示年份year等于2020; GT:大于,如:where_year=GT-2020,表示年份year大于2020; GE:大于等于,如:where_year=GE-2020,表示年份year大于或等于2020; LT:小于,如:where_year=LT-2020,表示年份year小于2020; LE:大于等于,如:where_year=LE-2020,表示年份year小于或等于2020; NE:不等于,如:where_year=NE-2020,表示年份year不等于2020; LIKE:模糊匹配,如:where_name=LIKE-小白,表示名字name含有小白的; NLIKE:模糊匹配(排除),如:where_name=NLIKE-小白,表示名字name不包含小白的 IN:枚举查询,如:where_year=IN-2020,2021,2022,表示年份year在这三个年份,多个值用英文逗号分割 NIN:枚举查询(排除),如:where_year=NIN-2020,2021,2022,表示年份year不在这三个年份,多个值用英文逗号分割 如果同一字段有多个条件,使用双竖线||分割,如:where_year=GT-2000||LT-2020,表示year年份大于2020(logic=and或logic=or)小于2020。(where和where_X二选一,不可混用,以where_X优先) | ||
order | 字符串JSON格式 | 可选 | SQL语句的ORDER部分,JSON格式。具体格式为:[第一组排序,第二组排序,……],可以单个或组合排序。每一组排序格式为:"字段名 + 空格 + ASC|DESC",其中:ASC:为指定列按升序排列DESC:为指定列按降序排列。例1:单个排序,order=["id DESC"],表示按ID降序,即最新的在最前面。例2:组合排序,order=["id DESC", "add_time ASC"],表示id DESC, add_time ASC,即先按ID从大到小,再按创建时间倒序排序。特别地,RAND表示随机排序,请慎用。 | ||
page | 整型 | 可选 | 1 | 最小:1 | 第几页 |
perpage | 整型 | 可选 | 10 | 最小:1;最大:10000 | 分页数量 |
is_real_total | 布尔型 | 可选 | true | 是否需要真正的总数,1是0否,当表单数据过多时,如果不需要查询真正的总数,将能极大提升接口响应的速度。若为假总数,固定返回9999999。 |
在线测试
参数 | 是否必填 | 值 |
---|---|---|
s | 固定 | |
uuid | 可选 | |
token | 可选 | |
return_data | 可选 | |
model_name | 必须 | |
model_uuid | 可选 | |
check_code | 可选 | |
select | 可选 | |
logic | 可选 | |
where | 可选 | |
order | 可选 | |
page | 可选 | |
perpage | 可选 | |
is_real_total | 可选 |
客户端请求示例
查看我的接口域名、app_key和app_secrect 客户端接入指南(如何生成签名) 开启/关闭签名
null
接口返回及数据结构
返回字段 | 类型 | 说明 |
---|---|---|
ret | 整型 | 接口状态码,200表示成功,4xx表示客户端非法请求,5xx表示服务端异常,查看异常错误码 |
data | object/array/混合 | 接口返回的业务数据,由不同的API接口决定不同的数据返回字段和结构。当return_data=1时,接口只会返回此data字段。 |
data.err_code | 整型 | 状态操作码,0成功;1开发类错误,查询失败(表单不存在或查询错误);2应用层规则拦截,拦截后可以小白开放平台查看日记 |
data.err_msg | 字符串 | 错误提示信息,err_code非0时参考此提示信息 |
data.total | 整型 | 数据的总条目数量 |
data.list | 字符串 | 查询的结果列表数据 |
data.page | 整型 | 当前第几页 |
data.perpage | 整型 | 当前分页数量 |
msg | 字符串 | 提示信息,面向技术人员的帮助或错误提示信息 |
_t | 整数 | 服务器当时Unix时间戳,例如:1657513450 |
_auth | 字符串 | 反向数字签名,可用于客户端进行反向验证,防止数据篡改,例如:9bcd54ff53e71a1d80d37c52bdfabf76。验证算法:_auth = md5(data返回的JSON字符串 + _t当前时间戳字符串 + APP_SECRECT密钥字符串) ,若需要关闭或开启请提交工单 |
ret异常错误码
错误码 | 错误类型 | 错误描述信息 | 解决方法 |
---|---|---|---|
ret = 200 | 成功 | 请求成功 | |
ret = 400 | 客户端非法请求 | 非法请求,参数错误 | 1、根据接口文档的接口参数,提供正确的参数 |
ret = 401 | 客户端非法请求 | 用户未登录,或登录凭证已过期 | 1、如果用户未注册,请先用注册接口;2、如果注册未登录或会话过期,请先用登录接口 |
ret = 402 | 客户端非法请求 | IP已被黑名单拦截 | 1、进入接口IP设置,移除IP黑名单设置 |
ret = 403 | 客户端非法请求 | IP未命中白名单 | 1、进入接口IP设置,添加IP白名单设置,或清空IP白名单设置 |
ret = 404 | 客户端非法请求 | 接口服务不存在 | 1、查看小白接口大全,确保接口服务名称拼写正确 |
ret = 406 | 客户端非法请求 | 非法app_key,请核对你所在的接口域名 | 1、在我的套餐查看并核对接口域名 |
ret = 407 | 客户端非法请求 | 当前应用已过期 | 1、进行续费或续约,延长应用有效期 |
ret = 408 | 客户端非法请求 | 当前应用存在异常,已被封号 | 1、联系在线客服人工处理(系统升级维护中,或 应用存在异常已被平台封号) |
ret = 409 | 客户端非法请求 | 签名错误 | 1、使用在线测试,校正签名;2、关闭特定或全部签名设置;3、如果过期,可以进行续约/升级 |
ret = 410 | 客户端非法请求 | 权限不足,非系统管理员 | 1、应用权限不足,可联系在线客服咨询沟通 |
ret = 411 | 客户端非法请求 | 权限不足,应用管理员未登录 | 1、请提供应用管理员的admin_uuid和admin_token参数后重试 |
ret = 412 | 客户端非法请求 | 权限不足,非应用管理员 | 1、请在果创云把会员设置为管理员 |
ret = 413 | 客户端非法请求 | 本月接口流量超出,已被临时冻结 | 1、开通接口流量叠加包,或升级套餐 |
ret = 414 | 客户端非法请求 | 并发过高 | 1、请降低请求频率,检测是否有死循环调用,或是否被他人恶意使用。如果流量确实很大,可联系在线客服进行定制化或私有云部署。 |
ret = 415 | 客户端非法请求 | 接口已被开发者关闭 | 1、接口已被开发者关闭,请进入果创云接口开关重新开启 |
ret = 416 | 客户端非法请求 | 权限不足,个人免费版套餐无法使用专业版接口 | 1、请先升级终身会员/标准版/旗舰版/企业版 |
ret = 417 | 客户端非法请求 | 子应用异常,如:子应用签名错误/已过期/流量不足 | 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万次接口流量奖励。