小白接口

1826 批量自由更改数值接口(可加可减) App.Table.MultiFreeChangeNumber

接口地址:http://open.phalapi.net/?s=App.Table.MultiFreeChangeNumber

接口描述: 批量 可以根据自定义的多个条件(AND或者OR),批量修改某个或多个字段的数值,可增加或可减少。通过在服务端进行数值的叠加,尽量保持并发下的数据一致性。注意,此接口可更新多条数据。

接口标签:免费(每月最高10万次)付费(包月/按量/私服)  热门验签

请求协议
HTTP/HTTPS
请求方式
GET/POST(推荐POST)
编码格式
UTF-8
返回格式
JSON

在线测试    添加收藏    直接访问接口    我要调整此接口


接口参数 若无特殊说明,接口参数同时支持GET和POST传递;推荐:查询/删除用GET,创建/更新用POST。

参数名字参数类型是否必须默认值备注参数说明
app_key字符串必须最小:32公共参数 开发者应用的app_key,查看我的app_key,如果还没有,可免费注册开通。
sign字符串可选公共参数 动态签名,签名生成算法请见:如何生成签名,或直接使用封装好的SDK开发包
如果不需要签名,可进入小白开放平台接口签名设置关闭或开启签名。通过在线测试工具可进行签名的对比和调试。 企业版支持专属签名算法定制。
uuid字符串可选最大:32公共参数 UUID,当前登录的应用会员ID,即全局唯一用户ID,查看我的应用会员。传递此参数后,可以在开放平台查看每日活跃会员统计图表。
token字符串可选最小:64;最大:64公共参数 当前登录会员的会话凭证,可通过会员登录接口获得。
return_data字符串可选0公共参数 数据返回结构,其中:
  • return_data=0,返回完整的接口结果,示例:{"ret":200,"data":{"err_code":0,"err_msg":"","title":"Hi YesApi,欢迎使用小白开放接口!"},"msg":"V3.1.0 YesApi App.Hello.World"}
  • return_data=1,返回简洁的接口结果,只返回data字段,结构简化一级,更扁平,示例:{"err_code":0,"err_msg":"V3.1.0 YesApi App.Hello.World","title":"Hi YesApi,欢迎使用小白开放接口!"}
model_name字符串必须模型名称(对应在小白开放平台创建时的数据库表名称),查看我的全部模型
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待检测的口令,仅当在小白开放平台配置口令后才会对此参数进行检测,规则配置教程图解自定义模型规则.pdf
logic枚举类型可选and范围:and/orwhere条件的逻辑组合,logic=and表示逻辑且,logic=or表示逻辑或
wheres字符串JSON格式必须批量条件,格式为:wheres=[第一组,第二组,……]。每一组where参数格式如下: SQL语句的WHERE查询条件,JSON格式,格式为:[第一组条件, 第二组条件, ……]。(where和where_X二选一)

写法1:每一组的条件格式为:["字段名", "比较符", "比较值"],其中:
  • 字段名:模型结构中存在的字段,或表字段
  • 比较符:比较符号可以是>、>=、<、<=、<>、EQ、GT、GE、LT、LE、NE、LIKE、NLIKE、IN、NIN、BETWEEN、NBETWEEN
  • 比较值:需要比较的值,不同比较符的比较值格式会有所不同。如果字段是数值类型,请传递数值类型,不要用字符串。
示例:当logic=and, where=[["id",">",9],["id","<=",10]],则表示:id > 9 AND id <= 10。

写法2(Beta):每一组的条件格式可以为:MySQL条件字符串,支持嵌套、组合、函数等,功能更强大,组合更灵活,但要求:
  • 必须符合MySQL语法
  • 一些疑似危险的操作已被禁止
  • 建议掌握MySQL语法的专业开发者使用,并且使用静态参数,开启接口签名,以防SQL注入攻击
示例:当logic=and, where=["id > 9", "id <= 10"],则表示:id > 9 AND id <= 10。

以上两种写法可以混合使用。如果需要有效防止SQL注入,请用写法1;如果需要更强大的条件组合,并且是固定参数条件时,可用写法2。更多示例说明请参考WHERE参数介绍
change_field字符串用,分割必须待修改数值的字段名,多个字段名用英文逗号分割。change_value和change_field分割后的数量应当相同。
change_values字符串JSON格式必须批量待叠加的数值,格式是:change_values=["第一组","第二组","……"]。每一组格式为:正数表示相加,负数表示相减,需要传递有效数值。多个数值用英文逗号分割。每一组和change_field分割后的数量应当相同。示例:change_values=["1","2"],更新多个值时的示例:["1,11","2,22"]
try_add_datas字符串JSON格式可选批量的初始化数据,格式为:try_add_datas=[第一组,第二组,……]。当无更新时尝试创建的数据,仅当无更新且有传此参数时才会进行数据创建。此参数可用于初始化等操作。try_add_datas要么不传,要么需要和change_values的数量保持一致,对于不需要初始化的可以设置为NULL。此参数只用于初始化,不会再进行change_value的修改。

在线测试

参数是否必填
s 必须
uuid 可选
token 可选
return_data 可选
model_name 必须
model_uuid 可选
check_code 可选
logic 可选
wheres 必须
change_field 必须
change_values 必须
try_add_datas 可选

客户端请求示例

查看我的接口域名、app_key和app_secrect 客户端接入指南(如何生成签名) 开启/关闭签名

请求:
{你的接口域名}/?s=App.Table.MultiFreeChangeNumber&model_name=article&logic=and&wheres=[[["id", "=", "404"]],[["id", "=", "405"]]]&change_field=view_times&change_values=["2","3"]&try_add_datas=[{"view_times":"1"},{"view_times":"3"}]&app_key={你的app_key}&sign={动态签名}

返回:
{
    "ret": 200,
    "data": {
        "err_code": 0,
        "err_msg": "",
        "details": [
        {
            "err_code": 0,
            "err_msg": "",
            "change_value": "2",
            "update_rows": 1
        },
        {
            "err_code": 0,
            "err_msg": "",
            "change_value": "3",
            "update_rows": 1
        }
        ]
    },
    "msg": "V1.3.22 小白开放接口 App.Table.MultiFreeChangeNumber"
}

接口使用帮助说明

小白君正在拼命补充中……

返回结构说明

返回字段类型说明
ret整型接口状态码,200表示成功,4xx表示客户端非法请求,5xx表示服务端异常,查看异常错误码
data.err_code整型状态操作码,0成功;1开发类错误,修改失败(模型不存在或字段类型不是数值类型);2应用层规则拦截,拦截后可以小白开放平台查看日记,3表示部分失败,具体查看details批量结果
data.err_msg字符串错误提示信息,err_code非0时参考此提示信息
data.details字符串批量结果
data.details[].change_value字符串回传客户端本次待更改的数值
data.details[].update_rows整型每组数据的更新结果,对应更新的条目数量。没有更新或没有创建时为0,如果进行更新或初始化创建则为1,其他情况为对应更新的条目数量
data.details[].err_code整型单次操作的操作码,当err_code为0时才表示正确执行,最终更新结果再看update_rows的返回
data.details[].err_msg字符串单次操作的错误提示信息
msg字符串提示信息,面向技术人员的帮助或错误提示信息

ret异常错误码

错误码错误类型错误描述信息解决方法
ret = 200成功请求成功
ret = 400客户端非法请求非法请求,参数错误1、根据接口文档的接口参数,提供正确的参数
ret = 404客户端非法请求接口服务不存在1、查看小白接口大全,确保接口服务名称拼写正确
ret = 500小白接口异常如果出现此错误,请联系技术人员处理1、进入QQ交流群897815708,反馈问题;2、或者提交工单,一天内回复
ret = 401客户端非法请求用户未登录,或登录凭证已过期1、如果用户未注册,请先用注册接口;2、如果注册未登录或会话过期,请先用登录接口
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、请先升级终身会员/标准版/旗舰版/企业版

常见问题FAQ

Q1 问:出现 414 Request-URI Too Large 时怎么解决?答:对于全部参数,改用POST方式传递,并且从GET链接里面去掉。