• 小白接口
  • 我的API
    • MyAPI(接口DIY,中文接口编程)
    • 私人定制API(由平台开发)
    • API在线测试
    • 免费创建我的接口
  • 应用API
    • 会员模块 重要
    • 配置模块
    • 数据统计模块 剩余流量
    • 日志模块
    • CDN图片文件模块
    • 邮件服务模块
    • 图形验证码模块
    • 微信集成模块
    • 短链接模块
  • 数据库API
    • 表单数据接口 [通用版] 开发必备
    • 表单结构API
    • 程序化数据API
    • MySQL/PostgreSQL API [直连版]
    • Sql Server API [数据库配置]
    • Sql Server API [存储过程]
    • Sql Server API [数据库操作]
  • 常用API
    • 二维码模块
    • 条形码模块
    • 会员头像模块
    • IP服务模块
    • 拼音模块
    • 昵称API
    • 密码API
    • 模拟数据API
    • 日期API
    • 唯一ID生成API
    • 快递API
    • 加解密API
    • JWT认证授权API
    • 中文分词API
    • 简繁体转换API
  • 教程
  • API开发
    • 接口源码库 推荐
    • 接口DIY (低代码开发)
    • AI写接口
  • 登录
  • 注册



YesApi 接口文档

1801 创建新数据接口

接口路径(新):http://api.yesapi.cn/api/App/Table/Create

接口路径(旧):http://api.yesapi.cn/?s=App.Table.Create

接口描述: 增 在自定义数据表单中添加一个新数据,添加的字段应先在后台进行添加。

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

参数名字参数类型是否必须默认值备注参数说明
app_key字符串必须最小:32公共参数 开发者应用的app_key,查看我的app_key,如果还没有,可免费注册开通。
sign字符串可选公共参数接口签名,其中:
  • 使用动态签名,签名生成算法请见:如何生成签名,或直接使用封装好的SDK开发包,通过在线测试工具可进行签名的对比和调试。
  • 使用静态签名,点击获取我的静态签名
  • 关闭签名,如果不需要签名,可进入小白开放平台接口签名设置关闭或开启签名。
  • 定制签名支持专属签名算法定制开发
uuid字符串可选公共参数 UUID,当前登录的应用会员ID,即全局唯一用户ID,查看我的应用会员。传递此参数后,可以在开放平台查看每日活跃会员统计图表。uuid需要和token一起传递。
token字符串可选公共参数 当前登录会员的会话凭证,可通过会员登录接口获得。uuid需要和token一起传递。
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","_t": 1657513450, "_auth": "9bcd54ff53e71a1d80d37c52bdfabf76"};
  • 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待检测的口令,仅当在小白开放平台配置口令后才会对此参数进行检测,规则配置教程
data字符串JSON格式可选创建时的初始化数据,需要JSON编码后传递。格式:data={"字段名1":"字段值1","字段名2":"字段值2"...}。数据中的uuid将优先于model_uuid参数。JSON在线解析及格式化验证(data和data_X二选一)
data_X字符串可选动态参数,优先于data的JSON数据。可自由传入动态参数,字段名组合格式:data_ + X(X要换成你的字段名),例如数据表单标题title字段,组合后为:&data_title=YesApi,等效于:&data={"title":"YesApi"}。可以同时传入多个动态参数,例如:&data_title=YesApi&data_year=2020,比JSON格式更方便(data和data_X二选一)

客户端请求示例

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

HTTP通用示例PHP示例Python示例JS示例
请求(使用data的JSON格式传递,data和data_X二选一):
{你的接口域名}/?s=App.Table.Create&model_name=article&data={"title":"123456"}&app_key={你的app_key}&sign={动态签名}

请求(使用data_X动态参数传递,data和data_X二选一):
{你的接口域名}/?s=App.Table.Create&model_name=article&data_title=123456&app_key={你的app_key}&sign={动态签名}

返回:
{
    "ret": 200,
    "data": {
        "err_code": 0,
        "err_msg": "",
        "id": 4
    },
    "msg": ""
}
<?php

// 引入文件
require_once dirname(__FILE__) . '/OkayApiClient.php';

// 调用小白开放接口(第一个示例:从省份开始选择):
$rs = OkayApiClient::request('App.Table.Create',array('model_name'=>'telephone','data'=>json_encode(array("mobile"=>"13088886666","mobile_status"=>"1"))));

// 输出结果
print_r($rs);

/*
Array 
( 
	[ret] => 200 
	[data] => 
	Array 
	( 
		[err_code] => 0 
		[err_msg] => 
		[id] => 6 
	) 
	[msg] => 小白开放接口:App.Table.Create 
)
*/
#!/usr/bin/python
#coding=utf-8

import requests
import hashlib

# TODO: 请根据需要,换成您的HOST,app_key和app_secrect
API_URL     = '你的小白接口域名,例如:http://api.okayapi.com/'
APP_KEY     = '你的app_key'
APP_SECRET  = '你的app_secrect'

# 生成签名
def Signature(params, key=None, secret=None):
    key = key or APP_KEY
    secret = secret or APP_SECRET
    params.pop('app_secrect', None)
    params['app_key'] = key
    md5_ctx = hashlib.md5()
    md5_ctx.update(''.join([params[value] for value in sorted([key for key in params])]) + secret)
    return md5_ctx.hexdigest().upper()
    

# 调用小白开放接口
def HTTPGet(url, params):
    params['sign'] = Signature(params)
    resp = requests.get(url, params)
    return resp.json()


def main():
    # 待请求的接口与相关参数(根据需要,可动态调整请求参数)
    params = {
        's': 'App.Table.Create',
        'model_name': 'okayapi_message',
        'data': json.dumps({'message_nickname': 'test', 'message_key': 'aba'})
    }

    # 发起请求
    return HTTPGet(API_URL, params)


pprint.pprint(main())

# {u'data': {u'err_code': 0, u'err_msg': u'', u'id': u'6'},
#  u'msg': u'\u5f53\u524d\u5c0f\u767d\u63a5\u53e3\uff1aApp.Table.Create',
#  u'ret': 200}
/**
 * 准备接口参数
 */
var data = {title:"123456"};
var params = {
    s: "App.Table.Create",       // 待请求的接口服务名称
    name: "article",        // 更多接口参数
    data: JSON.stringify(data), // 转JSON格式
    callback: "onCallback"  // 客户端的JS回调函数
};

/**
 * 发起JSONP请求
 */
$.ajax({
    url: 'http://api.yesapi.cn/', // TODO:你的接口域名
    dataType: 'jsonp',
    jsonpCallback: params.callback,
    cache: true,
    data: enryptData(params) // 动态加密
}).done(function (rs) {
    console.log("done");
    console.log(rs);
});

/**
 * TODO: 客户端的JS回调函数
 */
function onCallback(rs) {
    console.log("onCallback");
    console.log(rs);

    alert("果创云开放接口请求完毕,请查看控制台!");
}

/**
 * 生成小白接口签名
 */
function enryptData(params) {

    // TODO:请改成您的app_key
    const OKAYAPI_APP_KEY = "16BD4337FB1D355902E0502AFCBFD4DF";
    // TODO:请改成您的app_secrect,请勿对外暴露!!
    const OKAYAPI_APP_SECRECT = "4c1402596e4cd017eeaO670df6f8B6783475b4ac8A32B4900f20abP2159711ad";

    params['app_key'] = OKAYAPI_APP_KEY;

    var sdic = Object.keys(params).sort();
    var paramsStrExceptSign  = "";
    for(ki in sdic){                     
        paramsStrExceptSign  += params[sdic[ki]];
    }

    var sign = md5(paramsStrExceptSign + OKAYAPI_APP_SECRECT).toUpperCase();
    params['sign'] = sign;

    return params;
}

接口返回及数据结构

返回字段类型说明
ret整型接口状态码,200表示成功,4xx表示客户端非法请求,5xx表示服务端异常,查看异常错误码
dataobject/array/混合接口返回的业务数据,由不同的API接口决定不同的数据返回字段和结构。当return_data=1时,接口只会返回此data字段。
data.err_code整型状态操作码,0成功;1创建失败(不符合表字段要求,或表字段不存在);2应用层规则拦截,拦截后可以小白开放平台查看日记
data.err_msg字符串错误提示信息,err_code非0时参考此提示信息
data.id整型新创建数据的自增ID
msg字符串提示信息,面向技术人员的帮助或错误提示信息
_t整数服务器当时Unix时间戳,例如:1657513450
_auth字符串反向数字签名,可用于客户端进行反向验证,防止数据篡改,例如:9bcd54ff53e71a1d80d37c52bdfabf76。验证算法:_auth = md5(data返回的JSON字符串 + _t当前时间戳字符串 + APP_SECRECT密钥字符串),若需要关闭或开启请提交工单

YesApi 接口文档

1802 创建非重复新数据接口

接口路径(新):http://api.yesapi.cn/api/App/Table/CheckCreate

接口路径(旧):http://api.yesapi.cn/?s=App.Table.CheckCreate

接口描述: 增非重复 在自定义数据表单中添加一个【非重复】新数据,添加的字段应先在后台进行添加。即当数据不存在时则创建,当数据已存在时不进行任何操作。

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

参数名字参数类型是否必须默认值备注参数说明
app_key字符串必须最小:32公共参数 开发者应用的app_key,查看我的app_key,如果还没有,可免费注册开通。
sign字符串可选公共参数接口签名,其中:
  • 使用动态签名,签名生成算法请见:如何生成签名,或直接使用封装好的SDK开发包,通过在线测试工具可进行签名的对比和调试。
  • 使用静态签名,点击获取我的静态签名
  • 关闭签名,如果不需要签名,可进入小白开放平台接口签名设置关闭或开启签名。
  • 定制签名支持专属签名算法定制开发
uuid字符串可选公共参数 UUID,当前登录的应用会员ID,即全局唯一用户ID,查看我的应用会员。传递此参数后,可以在开放平台查看每日活跃会员统计图表。uuid需要和token一起传递。
token字符串可选公共参数 当前登录会员的会话凭证,可通过会员登录接口获得。uuid需要和token一起传递。
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","_t": 1657513450, "_auth": "9bcd54ff53e71a1d80d37c52bdfabf76"};
  • 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待检测的口令,仅当在小白开放平台配置口令后才会对此参数进行检测,规则配置教程
data字符串JSON格式可选创建时的初始化数据,需要JSON编码后传递。格式:data={"字段名1":"字段值1","字段名2":"字段值2"...}。数据中的uuid将优先于model_uuid参数。JSON在线解析及格式化验证(data和data_X二选一)
data_X字符串可选动态参数,优先于data的JSON数据。可自由传入动态参数,字段名组合格式:data_ + X(X要换成你的字段名),例如数据表单标题title字段,组合后为:&data_title=YesApi,等效于:&data={"title":"YesApi"}。可以同时传入多个动态参数,例如:&data_title=YesApi&data_year=2020,比JSON格式更方便(data和data_X二选一)
check_field字符串用,分割必须待检测的字段。注意:data数据中必须包含此字段的数据,用作检测重复的依据。多个检测字段用英文逗号分割。例如:check_field=name,age,表示同时检测名字和年龄。请留意字段类型的相等性判断,如字符串类型的字段不能在data参数中传整型参数。
model_return_data布尔型可选false是否返回新创建或原来的数据,model_return_data=1 返回,model_return_data=0 不返回

客户端请求示例

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

HTTP通用示例PHP示例Python示例
请求(使用data的JSON格式传递,data和data_X二选一):
{你的接口域名}/?s=App.Table.CheckCreate&model_name=article&data={"title":"abc","content":"something"}&check_field=title&app_key={你的app_key}&sign={动态签名}

请求(使用data_X动态参数传递,data和data_X二选一):
{你的接口域名}/?s=App.Table.CheckCreate&model_name=article&data_title=abc&data_content=something&check_field=title&app_key={你的app_key}&sign={动态签名}

返回:
{
    "ret": 200,
    "data": {
        "err_code": 0,
        "err_msg": "",
        "id": 4
    },
    "msg": ""
}


如果数据已经存在,则返回:
{
    "ret": 200,
    "data": {
        "err_code": 3,
        "err_msg": "数据已存在,不再创建",
        "id": 11
    }
}
<?php

// 引入文件
require_once dirname(__FILE__) . '/OkayApiClient.php';

// 调用小白开放接口
$rs = OkayApiClient::request('App.Table.CheckCreate',array('model_name'=>'okayapi_message','data'=>json_encode(array("message_nickname"=>"小白","message_content"=>"加油!")),'check_field'=>'message_nickname'));

// 输出结果
print_r($rs);

//返回:
/*
Array 
( 
	[ret] => 200 
	[data] => Array 
	( 
		[err_code] => 0 
		[err_msg] => 
		[id] => 4 
	) 
	[msg] => 小白开放接口:App.Table.CheckCreate 
)

//如果数据已经存在,则返回:
/*
Array 
( 
	[ret] => 200 
	[data] => Array 
	( 
		[err_code] => 3 
		[err_msg] => 数据已存在,不再创建 
		[id] => 4 
	) 
	[msg] => 小白开放接口:App.Table.CheckCreate 
)
#!/usr/bin/python
#coding=utf-8

import requests
import hashlib

# TODO: 请根据需要,换成您的HOST,app_key和app_secrect
API_URL     = '你的小白接口域名,例如:http://api.okayapi.com/'
APP_KEY     = '你的app_key'
APP_SECRET  = '你的app_secrect'

# 生成签名
def Signature(params, key=None, secret=None):
    key = key or APP_KEY
    secret = secret or APP_SECRET
    params.pop('app_secrect', None)
    params['app_key'] = key
    md5_ctx = hashlib.md5()
    md5_ctx.update(''.join([params[value] for value in sorted([key for key in params])]) + secret)
    return md5_ctx.hexdigest().upper()
    

# 调用小白开放接口
def HTTPGet(url, params):
    params['sign'] = Signature(params)
    resp = requests.get(url, params)
    return resp.json()


def main():
    # 待请求的接口与相关参数(根据需要,可动态调整请求参数)
    params = {
        's': 'App.Table.CheckCreate',
        'model_name': 'okayapi_message',
        'data': json.dumps({'message_nickname': 'test', 'message_key': 'nba'}),
        'check_field': 'message_key'
    }

    # 发起请求
    return HTTPGet(API_URL, params)


pprint.pprint(main())

# {u'data': {u'err_code': 0, u'err_msg': u'', u'id': u'5'},
#  u'msg': u'\u5f53\u524d\u5c0f\u767d\u63a5\u53e3\uff1aApp.Table.CheckCreate',
#  u'ret': 200}

接口返回及数据结构

返回字段类型说明
ret整型接口状态码,200表示成功,4xx表示客户端非法请求,5xx表示服务端异常,查看异常错误码
dataobject/array/混合接口返回的业务数据,由不同的API接口决定不同的数据返回字段和结构。当return_data=1时,接口只会返回此data字段。
data.err_code整型状态操作码,0成功;1创建失败(不符合表字段要求,或表字段不存在);2应用层规则拦截,拦截后可以小白开放平台查看日记;3、数据已存在,不再创建
data.err_msg字符串错误提示信息,err_code非0时参考此提示信息
data.id整型新创建数据的自增ID/或原来数据的ID
data.data对象新创建或原来的数据,全部字段返回。默认不返回,model_return_data=1 才返回。
msg字符串提示信息,面向技术人员的帮助或错误提示信息
_t整数服务器当时Unix时间戳,例如:1657513450
_auth字符串反向数字签名,可用于客户端进行反向验证,防止数据篡改,例如:9bcd54ff53e71a1d80d37c52bdfabf76。验证算法:_auth = md5(data返回的JSON字符串 + _t当前时间戳字符串 + APP_SECRECT密钥字符串),若需要关闭或开启请提交工单

YesApi 接口文档

1803 批量创建非重复新数据接口

接口路径(新):http://api.yesapi.cn/api/App/Table/MultiCheckCreate

接口路径(旧):http://api.yesapi.cn/?s=App.Table.MultiCheckCreate

接口描述: 批量增非重复 批量操作,在自定义数据表单中添加一个【非重复】新数据,添加的字段应先在小白开放平台进行添加。

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

参数名字参数类型是否必须默认值备注参数说明
app_key字符串必须最小:32公共参数 开发者应用的app_key,查看我的app_key,如果还没有,可免费注册开通。
sign字符串可选公共参数接口签名,其中:
  • 使用动态签名,签名生成算法请见:如何生成签名,或直接使用封装好的SDK开发包,通过在线测试工具可进行签名的对比和调试。
  • 使用静态签名,点击获取我的静态签名
  • 关闭签名,如果不需要签名,可进入小白开放平台接口签名设置关闭或开启签名。
  • 定制签名支持专属签名算法定制开发
uuid字符串可选公共参数 UUID,当前登录的应用会员ID,即全局唯一用户ID,查看我的应用会员。传递此参数后,可以在开放平台查看每日活跃会员统计图表。uuid需要和token一起传递。
token字符串可选公共参数 当前登录会员的会话凭证,可通过会员登录接口获得。uuid需要和token一起传递。
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","_t": 1657513450, "_auth": "9bcd54ff53e71a1d80d37c52bdfabf76"};
  • 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待检测的口令,仅当在小白开放平台配置口令后才会对此参数进行检测,规则配置教程
datas字符串JSON格式必须批量创建时的初始化数据,注意是数组格式,需要JSON编码后传递。格式:datas=[{"字段名1":"字段值1","字段名2":"字段值2"...}]。数据中的uuid将优先于model_uuid参数。JSON在线解析及格式化验证
check_field字符串用,分割必须待检测的字段。注意:data数据中必须包含此字段的数据,用作检测重复的依据。多个检测字段用英文逗号分割。例如:check_field=name,age,表示同时检测名字和年龄。请留意字段类型的相等性判断,如字符串类型的字段不能在data参数中传整型参数。

客户端请求示例

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

HTTP通用示例
请求:
{你的接口域名}/?s=App.Table.MultiCheckCreate&model_name=article&datas=[{"title":"aaa"},{"title":"bbb"},{"title":"ccc"}]&check_field=title&app_key={你的app_key}&sign={动态签名}

返回:
{
    "ret": 200,
    "data": {
        "err_code": 0,
        "err_msg": "",
        "details": [
        {
            "id": 1,
            "msg": "创建成功",
            "data_id": 42,
            "create_status": 0
        },
        {
            "id": 2,
            "msg": "创建成功",
            "data_id": 43,
            "create_status": 0
        },
        {
            "id": 3,
            "msg": "创建成功",
            "data_id": 44,
            "create_status": 0
        }
        ]
    },
    "msg": "V1.3.4 小白开放接口 App.Table.MultiCheckCreate"
}


再次请求:
{你的接口域名}/?s=App.Table.MultiCheckCreate&model_name=article&datas=[{"title":"aaa"},{"title":"123"},{"title":"456"}]&check_field=title&app_key={你的app_key}&sign={动态签名}

返回:
{
    "ret": 200,
    "data": {
        "err_code": 0,
        "err_msg": "",
        "details": [
        {
            "id": 1,
            "msg": "数据已存在,不再创建",
            "data_id": 42,
            "create_status": 2
        },
        {
            "id": 2,
            "msg": "创建成功",
            "data_id": 45,
            "create_status": 0
        },
        {
            "id": 3,
            "msg": "创建成功",
            "data_id": 46,
            "create_status": 0
        }
        ]
    },
    "msg": "V1.3.4 小白开放接口 App.Table.MultiCheckCreate"
}

接口返回及数据结构

返回字段类型说明
ret整型接口状态码,200表示成功,4xx表示客户端非法请求,5xx表示服务端异常,查看异常错误码
dataobject/array/混合接口返回的业务数据,由不同的API接口决定不同的数据返回字段和结构。当return_data=1时,接口只会返回此data字段。
data.err_code整型状态操作码,0成功;1操作失败,2应用层规则拦截,拦截后可以小白开放平台查看日记
data.err_msg字符串错误提示信息,err_code非0时参考此提示信息
data.details字符串创建的详情
data.details[].id整型客户端传递参数的序号,从1开始
data.details[].create_status整型服务端创建非重复数据的状态,0表示创建添加成功,1表示创建失败,2表示数据已存在
data.details[].data_id整型数据ID,创建成功时是新添加数据的ID,数据存在时是原来数据的ID
data.details[].msg字符串创建时的错误提示信息
msg字符串提示信息,面向技术人员的帮助或错误提示信息
_t整数服务器当时Unix时间戳,例如:1657513450
_auth字符串反向数字签名,可用于客户端进行反向验证,防止数据篡改,例如:9bcd54ff53e71a1d80d37c52bdfabf76。验证算法:_auth = md5(data返回的JSON字符串 + _t当前时间戳字符串 + APP_SECRECT密钥字符串),若需要关闭或开启请提交工单

YesApi 接口文档

1804 创建或更新非重复新数据接口

接口路径(新):http://api.yesapi.cn/api/App/Table/CheckCreateOrUpdate

接口路径(旧):http://api.yesapi.cn/?s=App.Table.CheckCreateOrUpdate

接口描述: 增改非重复 在自定义数据表单中尝试添加一个【非重复】新数据,如果数据已经存在,则进行更新操作。

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

参数名字参数类型是否必须默认值备注参数说明
app_key字符串必须最小:32公共参数 开发者应用的app_key,查看我的app_key,如果还没有,可免费注册开通。
sign字符串可选公共参数接口签名,其中:
  • 使用动态签名,签名生成算法请见:如何生成签名,或直接使用封装好的SDK开发包,通过在线测试工具可进行签名的对比和调试。
  • 使用静态签名,点击获取我的静态签名
  • 关闭签名,如果不需要签名,可进入小白开放平台接口签名设置关闭或开启签名。
  • 定制签名支持专属签名算法定制开发
uuid字符串可选公共参数 UUID,当前登录的应用会员ID,即全局唯一用户ID,查看我的应用会员。传递此参数后,可以在开放平台查看每日活跃会员统计图表。uuid需要和token一起传递。
token字符串可选公共参数 当前登录会员的会话凭证,可通过会员登录接口获得。uuid需要和token一起传递。
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","_t": 1657513450, "_auth": "9bcd54ff53e71a1d80d37c52bdfabf76"};
  • 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待检测的口令,仅当在小白开放平台配置口令后才会对此参数进行检测,规则配置教程
data字符串JSON格式可选创建时的初始化数据,需要JSON编码后传递。格式:data={"字段名1":"字段值1","字段名2":"字段值2"...}。数据中的uuid将优先于model_uuid参数。JSON在线解析及格式化验证(data和data_X二选一)
data_X字符串可选动态参数,优先于data的JSON数据。可自由传入动态参数,字段名组合格式:data_ + X(X要换成你的字段名),例如数据表单标题title字段,组合后为:&data_title=YesApi,等效于:&data={"title":"YesApi"}。可以同时传入多个动态参数,例如:&data_title=YesApi&data_year=2020,比JSON格式更方便(data和data_X二选一)
check_field字符串用,分割必须待检测的字段。注意:data数据中必须包含待检测的全部字段。即check_field可指定data数据中的一个或多个字段。多个检测字段用英文逗号分割。例如:check_field=name,age,表示同时检测名字和年龄。请留意字段类型的相等性判断,如字符串类型的字段不能在data参数中传整型参数。
logic枚举类型可选and范围:and/or多个check_field的逻辑组合,logic=and表示逻辑且,logic=or表示逻辑或

客户端请求示例

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

HTTP通用示例
请求(使用data的JSON格式传递,data和data_X二选一):
{你的接口域名}/?s=App.Table.CheckCreateOrUpdate&model_name=article&data={"title":"abc"}&check_field=title&app_key={你的app_key}&sign={动态签名}

请求(使用data_X动态参数传递,data和data_X二选一):
{你的接口域名}/?s=App.Table.CheckCreateOrUpdate&model_name=article&data_title=abc&check_field=title&app_key={你的app_key}&sign={动态签名}

返回(如果未存在就新建):
{
    "ret": 200,
    "data": {
        "err_code": 0,
        "err_msg": "",
        "id": 4,
        "op_type": "insert"
    },
    "msg": ""
}


如果数据已经存在,则返回(存在则更新):
{
    "ret": 200,
    "data": {
        "err_code": 0,
        "err_msg": "",
        "id": 4,
        "op_type": "update"
    },
    "msg": ""
}

以下示例演示了多个检测字段使用逻辑或的效果,请求:
{你的接口域名}/?s=App.Table.CheckCreateOrUpdate&model_name=article&data={"title":"abc","view_times":1}&check_field=title,view_times&logic=or

返回:
{
    "ret": 200,
    "data": {
        "err_code": 0,
        "err_msg": "",
        "id": 52,
        "op_type": "update"
    },
    "msg": "V1.4.2 小白开放接口 App.Table.CheckCreateOrUpdate"
}

接口返回及数据结构

返回字段类型说明
ret整型接口状态码,200表示成功,4xx表示客户端非法请求,5xx表示服务端异常,查看异常错误码
dataobject/array/混合接口返回的业务数据,由不同的API接口决定不同的数据返回字段和结构。当return_data=1时,接口只会返回此data字段。
data.err_code整型状态操作码,0成功;1创建失败(不符合表字段要求,或表字段不存在);2应用层规则拦截,拦截后可以小白开放平台查看日记;
data.err_msg字符串错误提示信息,err_code非0时参考此提示信息
data.id整型新创建数据的自增ID/或原来数据的ID
data.op_type字符串本次操作的具体类型,insert为插入,update为更新
msg字符串提示信息,面向技术人员的帮助或错误提示信息
_t整数服务器当时Unix时间戳,例如:1657513450
_auth字符串反向数字签名,可用于客户端进行反向验证,防止数据篡改,例如:9bcd54ff53e71a1d80d37c52bdfabf76。验证算法:_auth = md5(data返回的JSON字符串 + _t当前时间戳字符串 + APP_SECRECT密钥字符串),若需要关闭或开启请提交工单

YesApi 接口文档

1805 批量创建或更新非重复新数据接口

接口路径(新):http://api.yesapi.cn/api/App/Table/MultiCheckCreateOrUpdate

接口路径(旧):http://api.yesapi.cn/?s=App.Table.MultiCheckCreateOrUpdate

接口描述: 批量增改非重复 批量版接口,在自定义数据表单中尝试添加一个【非重复】新数据,如果数据已经存在,则进行更新操作。

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

参数名字参数类型是否必须默认值备注参数说明
app_key字符串必须最小:32公共参数 开发者应用的app_key,查看我的app_key,如果还没有,可免费注册开通。
sign字符串可选公共参数接口签名,其中:
  • 使用动态签名,签名生成算法请见:如何生成签名,或直接使用封装好的SDK开发包,通过在线测试工具可进行签名的对比和调试。
  • 使用静态签名,点击获取我的静态签名
  • 关闭签名,如果不需要签名,可进入小白开放平台接口签名设置关闭或开启签名。
  • 定制签名支持专属签名算法定制开发
uuid字符串可选公共参数 UUID,当前登录的应用会员ID,即全局唯一用户ID,查看我的应用会员。传递此参数后,可以在开放平台查看每日活跃会员统计图表。uuid需要和token一起传递。
token字符串可选公共参数 当前登录会员的会话凭证,可通过会员登录接口获得。uuid需要和token一起传递。
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","_t": 1657513450, "_auth": "9bcd54ff53e71a1d80d37c52bdfabf76"};
  • 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待检测的口令,仅当在小白开放平台配置口令后才会对此参数进行检测,规则配置教程
datas字符串JSON格式必须需要批量创建的初始化数据,需要JSON编码后传递。格式:datas=[{第一组数据},{第二组数据},{第三组数据……}]。每一组的数据格式:{"字段名1":"字段值1","字段名2":"字段值2"...}。数据中的uuid将优先于model_uuid参数。JSON在线解析及格式化验证
check_field字符串用,分割必须待检测的字段,非批量,全部检测的字段都应一致。注意:datas批量数据每一组数据中必须包含待检测的全部字段。即check_field可指定data数据中的一个或多个字段。多个检测字段用英文逗号分割。例如:check_field=name,age,表示同时检测名字和年龄。请留意字段类型的相等性判断,如字符串类型的字段不能在data参数中传整型参数。
logic枚举类型可选and范围:and/or多个check_field的逻辑组合,非批量,全部检测的字段都应一致。logic=and表示逻辑且,logic=or表示逻辑或

客户端请求示例

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

HTTP通用示例
请求:
{你的接口域名}/?s=App.Table.MultiCheckCreateOrUpdate&model_name=article&datas=[{"title":"aaa","state":1},{"title":"bbb","state":0}]&check_field=title&app_key={你的app_key}&sign={动态签名}

返回:
{
    "ret": 200,
    "data": {
        "err_code": 0,
        "err_msg": "",
        "details": [
        {
            "op_type": "update",
            "id": 42
        },
        {
            "op_type": "update",
            "id": 43
        }
        ]
    },
    "msg": "V1.3.20 小白开放接口 App.Table.MultiCheckCreateOrUpdate"
}

以下是部分参数格式错误的请求示例:
{你的接口域名}/?s=App.Table.MultiCheckCreateOrUpdate&model_name=article&datas=[{"title":"aaa","state":1,"content":"文章内容"},{"title":"bbb"}]&check_field=title,state

返回:
{
    "ret": 200,
    "data": {
        "err_code": 3,
        "err_msg": "data参数中,缺少需要检测重复的state字段数据。",
        "details": [
        {
            "op_type": "insert",
            "id": "57"
        },
        {
            "op_type": "fail",
            "id": 0,
            "error": "data参数中,缺少需要检测重复的state字段数据",
            "data": {
                "title": "bbb"
            }
        }
        ]
    },
    "msg": "V1.3.22 小白开放接口 App.Table.MultiCheckCreateOrUpdate"
}

以下示例演示在批量中使用逻辑或的效果,请求:
{你的接口域名}/?s=App.Table.MultiCheckCreateOrUpdate&model_name=article&datas=[{"title":"aaa","state":1,"content":"文章内容"},{"title":"bbb","state":0}]&check_field=title,state&logic=or

返回:
{
    "ret": 200,
    "data": {
        "err_code": 0,
        "err_msg": "",
        "details": [
        {
            "op_type": "update",
            "id": 42
        },
        {
            "op_type": "update",
            "id": 36
        }
        ]
    },
    "msg": "V1.4.2 小白开放接口 App.Table.MultiCheckCreateOrUpdate"
}

接口返回及数据结构

返回字段类型说明
ret整型接口状态码,200表示成功,4xx表示客户端非法请求,5xx表示服务端异常,查看异常错误码
dataobject/array/混合接口返回的业务数据,由不同的API接口决定不同的数据返回字段和结构。当return_data=1时,接口只会返回此data字段。
data.err_code整型状态操作码,0成功;1创建失败(不符合表字段要求,或表字段不存在);2应用层规则拦截,拦截后可以小白开放平台查看日记;3存在部分失败的情况
data.err_msg字符串错误提示信息,err_code非0时参考此提示信息
data.details字符串批量的结果
data.details[].id整型新创建数据的自增ID/或原来数据的ID
data.details[].op_type字符串本次操作的具体类型,insert为插入,update为更新,fail为失败(参数错误)
data.model_name字符串当前表单名称
msg字符串提示信息,面向技术人员的帮助或错误提示信息
_t整数服务器当时Unix时间戳,例如:1657513450
_auth字符串反向数字签名,可用于客户端进行反向验证,防止数据篡改,例如:9bcd54ff53e71a1d80d37c52bdfabf76。验证算法:_auth = md5(data返回的JSON字符串 + _t当前时间戳字符串 + APP_SECRECT密钥字符串),若需要关闭或开启请提交工单

YesApi 接口文档

1806 批量创建新数据接口

接口路径(新):http://api.yesapi.cn/api/App/Table/MultiCreate

接口路径(旧):http://api.yesapi.cn/?s=App.Table.MultiCreate

接口描述: 批量增 批量导入多条新数据,导入完毕后会返回导入的概况

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

参数名字参数类型是否必须默认值备注参数说明
app_key字符串必须最小:32公共参数 开发者应用的app_key,查看我的app_key,如果还没有,可免费注册开通。
sign字符串可选公共参数接口签名,其中:
  • 使用动态签名,签名生成算法请见:如何生成签名,或直接使用封装好的SDK开发包,通过在线测试工具可进行签名的对比和调试。
  • 使用静态签名,点击获取我的静态签名
  • 关闭签名,如果不需要签名,可进入小白开放平台接口签名设置关闭或开启签名。
  • 定制签名支持专属签名算法定制开发
uuid字符串可选公共参数 UUID,当前登录的应用会员ID,即全局唯一用户ID,查看我的应用会员。传递此参数后,可以在开放平台查看每日活跃会员统计图表。uuid需要和token一起传递。
token字符串可选公共参数 当前登录会员的会话凭证,可通过会员登录接口获得。uuid需要和token一起传递。
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","_t": 1657513450, "_auth": "9bcd54ff53e71a1d80d37c52bdfabf76"};
  • 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待检测的口令,仅当在小白开放平台配置口令后才会对此参数进行检测,规则配置教程
datas字符串JSON格式必须批量导入的数据。特别注意!这是复数datas,即需要传递是的单个创建时的数组的数组。格式为JSON,即:datas=[单个创建时的数据1, 单个创建时的数据2, ...]。一次最多只允许导入1000条数据。数据中的uuid将优先于model_uuid参数。JSON在线解析及格式化验证

客户端请求示例

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

HTTP通用示例PHP示例
请求:
{你的接口域名}/?s=App.Table.MultiCreate&model_name=article&datas=[{"title":"文章标题1"},{"title":"文章标题2"}]&app_key={你的app_key}&sign={动态签名}

返回:
{
    "ret": 200,
    "data": {
        "err_code": 0,
        "err_msg": "",
        "total": 2,
        "import_num": 2,
        "not_import_num": 0,
        "details": [
            {
                "id": 1,
                "new_id": 10,
                "msg": "导入成功"
            },
            {
                "id": 2,
                "new_id": 11,
                "msg": "导入成功"
            }
        ]
    },
    "msg": ""
}
<?php

// 引入文件
require_once dirname(__FILE__) . '/OkayApiClient.php';

// 调用小白开放接口
$rs = OkayApiClient::request('App.Table.MultiCreate',array('model_name'=>'Price','datas'=>json_encode(array(array('shangpin'=>'草莓','price'=>20),array('shangpin'=>'橘子','price'=>3.5)))));
// 输出结果
print_r($rs);

/*
Array 
( 
	[ret] => 200 
	[data] => Array 
	( 
		[err_code] => 0 
		[err_msg] => 
		[total] => 2 
		[import_num] => 2 
		[not_import_num] => 0 
		[details] => Array 
		( 
			[0] => Array ( [id] => 1 [msg] => 导入成功 ) 
			[1] => Array ( [id] => 2 [msg] => 导入成功 ) 
		) 
	) 
	[msg] => 小白开放接口:App.Table.MultiCreate 
)
*/

接口返回及数据结构

返回字段类型说明
ret整型接口状态码,200表示成功,4xx表示客户端非法请求,5xx表示服务端异常,查看异常错误码
dataobject/array/混合接口返回的业务数据,由不同的API接口决定不同的数据返回字段和结构。当return_data=1时,接口只会返回此data字段。
data.err_code整型状态操作码,0导入成功;1导入失败(如表不存在);2应用层规则拦截,拦截后可以小白开放平台查看日记
data.err_msg字符串错误提示信息,err_code非0时参考此提示信息
data.total整型本次导入的总数量
data.import_num整型成功导入的数量
data.not_import_num整型导入失败的数量
data.details字符串导入过程中的操作纪录
data.details[].id整型导入的ID,从1开始
data.details[].new_id整型数据添加成功时的纪录ID,失败时为0
data.details[].msg字符串导入的结果
msg字符串提示信息,面向技术人员的帮助或错误提示信息
_t整数服务器当时Unix时间戳,例如:1657513450
_auth字符串反向数字签名,可用于客户端进行反向验证,防止数据篡改,例如:9bcd54ff53e71a1d80d37c52bdfabf76。验证算法:_auth = md5(data返回的JSON字符串 + _t当前时间戳字符串 + APP_SECRECT密钥字符串),若需要关闭或开启请提交工单

YesApi 接口文档

1807 批量极速创建新数据接口

接口路径(新):http://api.yesapi.cn/api/App/Table/MultiFastCreate

接口路径(旧):http://api.yesapi.cn/?s=App.Table.MultiFastCreate

接口描述: 批量增 批量极速导入多条新数据,速度很快但无明细,此接口可用于批量导入数据,适用于数据初始化和还原。同时,值得注意的是,此接口因为接近原始的数据导入,因此可以设置小白系统字段:id(不提供时为自增主键)、uuid(用户登录时则自动绑定登录用户)、add_time(不提供时为当前创建时间)、update_time、ext_data。

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

参数名字参数类型是否必须默认值备注参数说明
app_key字符串必须最小:32公共参数 开发者应用的app_key,查看我的app_key,如果还没有,可免费注册开通。
sign字符串可选公共参数接口签名,其中:
  • 使用动态签名,签名生成算法请见:如何生成签名,或直接使用封装好的SDK开发包,通过在线测试工具可进行签名的对比和调试。
  • 使用静态签名,点击获取我的静态签名
  • 关闭签名,如果不需要签名,可进入小白开放平台接口签名设置关闭或开启签名。
  • 定制签名支持专属签名算法定制开发
uuid字符串可选公共参数 UUID,当前登录的应用会员ID,即全局唯一用户ID,查看我的应用会员。传递此参数后,可以在开放平台查看每日活跃会员统计图表。uuid需要和token一起传递。
token字符串可选公共参数 当前登录会员的会话凭证,可通过会员登录接口获得。uuid需要和token一起传递。
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","_t": 1657513450, "_auth": "9bcd54ff53e71a1d80d37c52bdfabf76"};
  • 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待检测的口令,仅当在小白开放平台配置口令后才会对此参数进行检测,规则配置教程
datas字符串JSON格式必须批量导入的数据。特别注意!这是复数datas,即需要传递是的单个创建时的数组的数组。格式为JSON,即:datas=[单个创建时的数据1, 单个创建时的数据2, ...]。一次最多只允许导入1000条数据。
is_ignore布尔型可选true是否启用IGNORE,1是0否,其中:
  • 若为是,则在创建时判断是否存在相同的数据,并且重复时忽略跳过,最终结果是部分或全部成功创建;
  • 若为若,则不管是否存均进行创建,如果有唯一索引或其他原因导致失败将会全部创建不成功。

客户端请求示例

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

接口返回及数据结构

返回字段类型说明
ret整型接口状态码,200表示成功,4xx表示客户端非法请求,5xx表示服务端异常,查看异常错误码
dataobject/array/混合接口返回的业务数据,由不同的API接口决定不同的数据返回字段和结构。当return_data=1时,接口只会返回此data字段。
data.err_code整型状态操作码,0导入成功;1导入失败(如表不存在);2应用层规则拦截,拦截后可以小白开放平台查看日记
data.err_msg字符串错误提示信息,err_code非0时参考此提示信息
data.total整型本次导入的总数量
msg字符串提示信息,面向技术人员的帮助或错误提示信息
_t整数服务器当时Unix时间戳,例如:1657513450
_auth字符串反向数字签名,可用于客户端进行反向验证,防止数据篡改,例如:9bcd54ff53e71a1d80d37c52bdfabf76。验证算法:_auth = md5(data返回的JSON字符串 + _t当前时间戳字符串 + APP_SECRECT密钥字符串),若需要关闭或开启请提交工单

YesApi 接口文档

1808 批量极速创建新数据接口[二分法递归增强版]

接口路径(新):http://api.yesapi.cn/api/App/Table/MultiFastCreateExt

接口路径(旧):http://api.yesapi.cn/?s=App.Table.MultiFastCreateExt

接口描述: 批量增 批量极速导入多条新数据[二分法递归增强版],此接口的区别在于,若批量创建的数据失败,则会进行对半拆分分别重试创建,从而最大可能导入数据,最大重试深度为4级。其他功能请参见:批量极速创建新数据接口。

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

参数名字参数类型是否必须默认值备注参数说明
app_key字符串必须最小:32公共参数 开发者应用的app_key,查看我的app_key,如果还没有,可免费注册开通。
sign字符串可选公共参数接口签名,其中:
  • 使用动态签名,签名生成算法请见:如何生成签名,或直接使用封装好的SDK开发包,通过在线测试工具可进行签名的对比和调试。
  • 使用静态签名,点击获取我的静态签名
  • 关闭签名,如果不需要签名,可进入小白开放平台接口签名设置关闭或开启签名。
  • 定制签名支持专属签名算法定制开发
uuid字符串可选公共参数 UUID,当前登录的应用会员ID,即全局唯一用户ID,查看我的应用会员。传递此参数后,可以在开放平台查看每日活跃会员统计图表。uuid需要和token一起传递。
token字符串可选公共参数 当前登录会员的会话凭证,可通过会员登录接口获得。uuid需要和token一起传递。
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","_t": 1657513450, "_auth": "9bcd54ff53e71a1d80d37c52bdfabf76"};
  • 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待检测的口令,仅当在小白开放平台配置口令后才会对此参数进行检测,规则配置教程
datas字符串JSON格式必须批量导入的数据。特别注意!这是复数datas,即需要传递是的单个创建时的数组的数组。格式为JSON,即:datas=[单个创建时的数据1, 单个创建时的数据2, ...]。一次最多只允许导入1000条数据。若批量创建的数据失败,则会进行对半拆分分别重试创建,从而最大可能导入数据,最大重试深度为4级。
is_ignore布尔型可选true是否启用IGNORE,1是0否,其中:
  • 若为是,则在创建时判断是否存在相同的数据,并且重复时忽略跳过,最终结果是部分或全部成功创建;
  • 若为若,则不管是否存均进行创建,如果有唯一索引或其他原因导致失败将会全部创建不成功。

客户端请求示例

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

HTTP通用示例
以下示例将会演示小白接口如何进行二分法递归创建。对于文章表单:article,需要创建以下三组数据:
title1=aaa(注:字段名错误)
title=bbb
title2=ccc(注:字段名错误)

请求:
{你的接口域名}/?s=App.Table.MultiFastCreateExt&model_name=article&datas=[{"title1":"aaa"},{"title":"bbb"},{"title2":"ccc"}]&app_key={你的app_key}&sign={动态签名}

返回:
{
    "ret": 200,
    "data": {
        "err_code": 0,
        "err_msg": "",
        "total": 1
    },
    "msg": "V1.3.12 小白开放接口 App.Table.MultiFastCreateExt"
}

从接口结果可以看到成功创建1组数据,而不是全部失败。

背后的二分法递归创建流程是:

+ 第1次,全部批量创建{"title1":"aaa"},{"title":"bbb"},{"title2":"ccc"},但失败(title1和title2字段非法)。
    + 第2次,批量创建{"title1":"aaa"},{"title":"bbb"},但失败(title1字段非法)。
        + 第3次,批量创建{"title1":"aaa"},但失败(title1字段非法)。
        + 第4次,批量创建{"title":"bbb"},成功。
    + 第5次,批量创建{"title2":"ccc"},但失败(title2字段非法)。

接口返回及数据结构

返回字段类型说明
ret整型接口状态码,200表示成功,4xx表示客户端非法请求,5xx表示服务端异常,查看异常错误码
dataobject/array/混合接口返回的业务数据,由不同的API接口决定不同的数据返回字段和结构。当return_data=1时,接口只会返回此data字段。
data.err_code整型状态操作码,0导入成功;1导入失败(如表不存在);2应用层规则拦截,拦截后可以小白开放平台查看日记
data.err_msg字符串错误提示信息,err_code非0时参考此提示信息
data.total整型本次导入的总数量
msg字符串提示信息,面向技术人员的帮助或错误提示信息
_t整数服务器当时Unix时间戳,例如:1657513450
_auth字符串反向数字签名,可用于客户端进行反向验证,防止数据篡改,例如:9bcd54ff53e71a1d80d37c52bdfabf76。验证算法:_auth = md5(data返回的JSON字符串 + _t当前时间戳字符串 + APP_SECRECT密钥字符串),若需要关闭或开启请提交工单

YesApi 接口文档

1809 精确更新数据接口

接口路径(新):http://api.yesapi.cn/api/App/Table/Update

接口路径(旧):http://api.yesapi.cn/?s=App.Table.Update

接口描述: 改 根据ID,更新自定义数据表单中的数据,更新的字段需要先存在。对系统保留表字段(id, uuid, add_time, update_time, ext_data)的更新将会被忽略。

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

参数名字参数类型是否必须默认值备注参数说明
app_key字符串必须最小:32公共参数 开发者应用的app_key,查看我的app_key,如果还没有,可免费注册开通。
sign字符串可选公共参数接口签名,其中:
  • 使用动态签名,签名生成算法请见:如何生成签名,或直接使用封装好的SDK开发包,通过在线测试工具可进行签名的对比和调试。
  • 使用静态签名,点击获取我的静态签名
  • 关闭签名,如果不需要签名,可进入小白开放平台接口签名设置关闭或开启签名。
  • 定制签名支持专属签名算法定制开发
uuid字符串可选公共参数 UUID,当前登录的应用会员ID,即全局唯一用户ID,查看我的应用会员。传递此参数后,可以在开放平台查看每日活跃会员统计图表。uuid需要和token一起传递。
token字符串可选公共参数 当前登录会员的会话凭证,可通过会员登录接口获得。uuid需要和token一起传递。
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","_t": 1657513450, "_auth": "9bcd54ff53e71a1d80d37c52bdfabf76"};
  • 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待检测的口令,仅当在小白开放平台配置口令后才会对此参数进行检测,规则配置教程
id整型必须最小:1数据ID,例如:1,2,3,……
data字符串JSON格式可选待更新的数据,需要JSON编码后传递。格式:data={"字段名1":"字段值1","字段名2":"字段值2"...}。JSON在线解析及格式化验证(data和data_X二选一)
data_X字符串可选动态参数,优先于data的JSON数据。可自由传入动态参数,字段名组合格式:data_ + X(X要换成你的字段名),例如数据表单标题title字段,组合后为:&data_title=YesApi,等效于:&data={"title":"YesApi"}。可以同时传入多个动态参数,例如:&data_title=YesApi&data_year=2020,比JSON格式更方便(data和data_X二选一)

客户端请求示例

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

HTTP通用示例PHP示例
请求(使用data的JSON格式传递,data和data_X二选一):
{你的接口域名}/?s=App.Table.Update&model_name=article&id=5&data={"state":2}&app_key={你的app_key}&sign={动态签名}

请求(使用data_X动态参数传递,data和data_X二选一):
{你的接口域名}/?s=App.Table.Update&model_name=article&id=5&data_state=2&app_key={你的app_key}&sign={动态签名}

返回:
{
    "ret": 200,
    "data": {
        "err_code": 0,
        "err_msg": ""
    },
    "msg": ""
}
<?php

// 引入文件
require_once dirname(__FILE__) . '/OkayApiClient.php';

// 调用小白开放接口
$rs = OkayApiClient::request('App.Table.Update',array('model_name'=>'Price','id'=>'7','data'=>json_encode(array('shangpin'=>'橙子','price'=>'6'))));
// 输出结果
print_r($rs);

/*
Array 
( 
	[ret] => 200 
	[data] => Array 
	( 
		[err_code] => 0 
		[err_msg] => 
	) 
	[msg] => 小白开放接口:App.Table.Update 
)
*/

接口返回及数据结构

返回字段类型说明
ret整型接口状态码,200表示成功,4xx表示客户端非法请求,5xx表示服务端异常,查看异常错误码
dataobject/array/混合接口返回的业务数据,由不同的API接口决定不同的数据返回字段和结构。当return_data=1时,接口只会返回此data字段。
data.err_code整型状态操作码,0成功;1开发类错误,更新失败(不符合表字段要求,或表字段不存在);2应用层规则拦截,拦截后可以小白开放平台查看日记;3更新失败(数据已删除或不存在)
data.err_msg字符串错误提示信息,err_code非0时参考此提示信息
msg字符串提示信息,面向技术人员的帮助或错误提示信息
_t整数服务器当时Unix时间戳,例如:1657513450
_auth字符串反向数字签名,可用于客户端进行反向验证,防止数据篡改,例如:9bcd54ff53e71a1d80d37c52bdfabf76。验证算法:_auth = md5(data返回的JSON字符串 + _t当前时间戳字符串 + APP_SECRECT密钥字符串),若需要关闭或开启请提交工单

YesApi 接口文档

1810 批量ID更新数据接口

接口路径(新):http://api.yesapi.cn/api/App/Table/MultiUpdate

接口路径(旧):http://api.yesapi.cn/?s=App.Table.MultiUpdate

接口描述: 批量改 根据多个ID,批量更新自定义数据表单中的数据,更新的字段需要先存在。对系统保留表字段(id, uuid, add_time, update_time, ext_data)的更新将会被忽略。

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

参数名字参数类型是否必须默认值备注参数说明
app_key字符串必须最小:32公共参数 开发者应用的app_key,查看我的app_key,如果还没有,可免费注册开通。
sign字符串可选公共参数接口签名,其中:
  • 使用动态签名,签名生成算法请见:如何生成签名,或直接使用封装好的SDK开发包,通过在线测试工具可进行签名的对比和调试。
  • 使用静态签名,点击获取我的静态签名
  • 关闭签名,如果不需要签名,可进入小白开放平台接口签名设置关闭或开启签名。
  • 定制签名支持专属签名算法定制开发
uuid字符串可选公共参数 UUID,当前登录的应用会员ID,即全局唯一用户ID,查看我的应用会员。传递此参数后,可以在开放平台查看每日活跃会员统计图表。uuid需要和token一起传递。
token字符串可选公共参数 当前登录会员的会话凭证,可通过会员登录接口获得。uuid需要和token一起传递。
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","_t": 1657513450, "_auth": "9bcd54ff53e71a1d80d37c52bdfabf76"};
  • 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待检测的口令,仅当在小白开放平台配置口令后才会对此参数进行检测,规则配置教程
idsids必须最大:500多个ID,使用英文逗号分割,例如:ids=1,2,3
data字符串JSON格式可选待更新的数据,需要JSON编码后传递。格式:data={"字段名1":"字段值1","字段名2":"字段值2"...}。JSON在线解析及格式化验证(data和data_X二选一)
data_X字符串可选动态参数,优先于data的JSON数据。可自由传入动态参数,字段名组合格式:data_ + X(X要换成你的字段名),例如数据表单标题title字段,组合后为:&data_title=YesApi,等效于:&data={"title":"YesApi"}。可以同时传入多个动态参数,例如:&data_title=YesApi&data_year=2020,比JSON格式更方便(data和data_X二选一)

客户端请求示例

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

HTTP通用示例
请求:
{你的接口域名}/?s=App.Table.MultiUpdate&model_name=article&ids=36,37&app_key={你的app_key}&sign={动态签名}

返回:
{
    "ret": 200,
    "data": {
        "err_code": 0,
        "err_msg": "",
        "update_total": 2
    },
    "msg": "小白开放接口:App.Table.MultiUpdate"
}

接口返回及数据结构

返回字段类型说明
ret整型接口状态码,200表示成功,4xx表示客户端非法请求,5xx表示服务端异常,查看异常错误码
dataobject/array/混合接口返回的业务数据,由不同的API接口决定不同的数据返回字段和结构。当return_data=1时,接口只会返回此data字段。
data.err_code整型状态操作码,0成功;1开发类错误,更新失败(不符合表字段要求,或表字段不存在);2应用层规则拦截,拦截后可以小白开放平台查看日记;3更新失败(数据已删除或不存在)
data.err_msg字符串错误提示信息,err_code非0时参考此提示信息
data.update_total整型成功更新的数量
msg字符串提示信息,面向技术人员的帮助或错误提示信息
_t整数服务器当时Unix时间戳,例如:1657513450
_auth字符串反向数字签名,可用于客户端进行反向验证,防止数据篡改,例如:9bcd54ff53e71a1d80d37c52bdfabf76。验证算法:_auth = md5(data返回的JSON字符串 + _t当前时间戳字符串 + APP_SECRECT密钥字符串),若需要关闭或开启请提交工单

YesApi 接口文档

1811 自由批量更新数据接口

接口路径(新):http://api.yesapi.cn/api/App/Table/FreeUpdate

接口路径(旧):http://api.yesapi.cn/?s=App.Table.FreeUpdate

接口描述: 改批量 功能更强大的更新操作,可以根据自定义的多个条件(AND或者OR),更新指定的数据。为防止误更新全表数据,必须至少有一个有效条件。

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

参数名字参数类型是否必须默认值备注参数说明
app_key字符串必须最小:32公共参数 开发者应用的app_key,查看我的app_key,如果还没有,可免费注册开通。
sign字符串可选公共参数接口签名,其中:
  • 使用动态签名,签名生成算法请见:如何生成签名,或直接使用封装好的SDK开发包,通过在线测试工具可进行签名的对比和调试。
  • 使用静态签名,点击获取我的静态签名
  • 关闭签名,如果不需要签名,可进入小白开放平台接口签名设置关闭或开启签名。
  • 定制签名支持专属签名算法定制开发
uuid字符串可选公共参数 UUID,当前登录的应用会员ID,即全局唯一用户ID,查看我的应用会员。传递此参数后,可以在开放平台查看每日活跃会员统计图表。uuid需要和token一起传递。
token字符串可选公共参数 当前登录会员的会话凭证,可通过会员登录接口获得。uuid需要和token一起传递。
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","_t": 1657513450, "_auth": "9bcd54ff53e71a1d80d37c52bdfabf76"};
  • 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待检测的口令,仅当在小白开放平台配置口令后才会对此参数进行检测,规则配置教程
logic枚举类型可选and范围:and/orwhere条件的逻辑组合,logic=and表示逻辑且,logic=or表示逻辑或
where字符串JSON格式可选[["id", ">=", "1"]]SQL语句的WHERE查询条件,JSON格式,格式为:[第一组条件, 第二组条件, ……]。(where和where_X二选一,不可混用,以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参数介绍。
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优先)
data字符串JSON格式可选待更新的数据,需要JSON编码后传递。格式:data={"字段名1":"字段值1","字段名2":"字段值2"...}。JSON在线解析及格式化验证(data和data_X二选一)
data_X字符串可选动态参数,优先于data的JSON数据。可自由传入动态参数,字段名组合格式:data_ + X(X要换成你的字段名),例如数据表单标题title字段,组合后为:&data_title=YesApi,等效于:&data={"title":"YesApi"}。可以同时传入多个动态参数,例如:&data_title=YesApi&data_year=2020,比JSON格式更方便(data和data_X二选一)

客户端请求示例

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

HTTP通用示例PHP示例Python示例
请求(使用data的JSON格式传递,data和data_X二选一):
{你的接口域名}/?s=App.Table.FreeUpdate&model_name=article&where=[["title","=","123456"]]&data={"title":"654321"}&app_key={你的app_key}&sign={动态签名}

请求(使用data_X动态参数传递,data和data_X二选一):
{你的接口域名}/?s=App.Table.FreeUpdate&model_name=article&where_title=123456&data_title=654321&app_key={你的app_key}&sign={动态签名}

返回:
{
    "ret": 200,
    "data": {
        "err_code": 0,
        "err_msg": "",
        "update_rows": 1
    },
    "msg": ""
}
<?php

// 引入文件
require_once dirname(__FILE__) . '/OkayApiClient.php';

// 调用小白开放接口
$rs = OkayApiClient::request('App.Table.FreeUpdate',array('model_name'=>'Price','where'=>json_encode(array(array("shangpin","LIKE","%葡萄%"))),'data'=>json_encode(array('price'=>'6'))));
// 输出结果
print_r($rs);


/*
Array 
( 
	[ret] => 200 
	[data] => Array 
	( 
		[err_code] => 0 
		[err_msg] => 
		[update_rows] => 2 
	) 
	[msg] => 小白开放接口:App.Table.FreeUpdate 
)
*/
#!/usr/bin/python
#coding=utf-8

import requests
import hashlib

# TODO: 请根据需要,换成您的HOST,app_key和app_secrect
API_URL     = '你的小白接口域名,例如:http://api.okayapi.com/'
APP_KEY     = '你的app_key'
APP_SECRET  = '你的app_secrect'

# 生成签名
def Signature(params, key=None, secret=None):
    key = key or APP_KEY
    secret = secret or APP_SECRET
    params.pop('app_secrect', None)
    params['app_key'] = key
    md5_ctx = hashlib.md5()
    md5_ctx.update(''.join([params[value] for value in sorted([key for key in params])]) + secret)
    return md5_ctx.hexdigest().upper()
    

# 调用小白开放接口
def HTTPGet(url, params):
    params['sign'] = Signature(params)
    resp = requests.get(url, params)
    return resp.json()


def main():
    # 待请求的接口与相关参数(根据需要,可动态调整请求参数)
    params = {
        's': 'App.Table.FreeUpdate',
        'model_name': 'okayapi_message',
        'where': json.dumps([['message_key', '=', 'aba']]),
        'data': json.dumps({'message_content': 'after_update'})
    }

    # 发起请求
    return HTTPGet(API_URL, params)


pprint.pprint(main())

# {u'data': {u'err_code': 0, u'err_msg': u'', u'update_rows': 2},
#  u'msg': u'\u5f53\u524d\u5c0f\u767d\u63a5\u53e3\uff1aApp.Table.FreeUpdate',
#  u'ret': 200}

接口返回及数据结构

返回字段类型说明
ret整型接口状态码,200表示成功,4xx表示客户端非法请求,5xx表示服务端异常,查看异常错误码
dataobject/array/混合接口返回的业务数据,由不同的API接口决定不同的数据返回字段和结构。当return_data=1时,接口只会返回此data字段。
data.err_code整型状态操作码,0成功;1开发类错误,更新失败(不符合表字段要求,或表字段不存在);2应用层规则拦截,拦截后可以小白开放平台查看日记,3无数据更新
data.err_msg字符串错误提示信息,err_code非0时参考此提示信息
data.update_rows整型更新的行数,0表示无任何更新
msg字符串提示信息,面向技术人员的帮助或错误提示信息
_t整数服务器当时Unix时间戳,例如:1657513450
_auth字符串反向数字签名,可用于客户端进行反向验证,防止数据篡改,例如:9bcd54ff53e71a1d80d37c52bdfabf76。验证算法:_auth = md5(data返回的JSON字符串 + _t当前时间戳字符串 + APP_SECRECT密钥字符串),若需要关闭或开启请提交工单

YesApi 接口文档

1812 精确取数据接口

接口路径(新):http://api.yesapi.cn/api/App/Table/Get

接口路径(旧):http://api.yesapi.cn/?s=App.Table.Get

接口描述: 查 根据ID,获取自定义数据表单中的数据

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

参数名字参数类型是否必须默认值备注参数说明
app_key字符串必须最小:32公共参数 开发者应用的app_key,查看我的app_key,如果还没有,可免费注册开通。
sign字符串可选公共参数接口签名,其中:
  • 使用动态签名,签名生成算法请见:如何生成签名,或直接使用封装好的SDK开发包,通过在线测试工具可进行签名的对比和调试。
  • 使用静态签名,点击获取我的静态签名
  • 关闭签名,如果不需要签名,可进入小白开放平台接口签名设置关闭或开启签名。
  • 定制签名支持专属签名算法定制开发
uuid字符串可选公共参数 UUID,当前登录的应用会员ID,即全局唯一用户ID,查看我的应用会员。传递此参数后,可以在开放平台查看每日活跃会员统计图表。uuid需要和token一起传递。
token字符串可选公共参数 当前登录会员的会话凭证,可通过会员登录接口获得。uuid需要和token一起传递。
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","_t": 1657513450, "_auth": "9bcd54ff53e71a1d80d37c52bdfabf76"};
  • 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待检测的口令,仅当在小白开放平台配置口令后才会对此参数进行检测,规则配置教程
id整型必须最小:1数据ID,例如:1,2,3,……

客户端请求示例

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

HTTP通用示例PHP示例Python示例
请求:
{你的接口域名}/?s=App.Table.Get&model_name=article&id=1&app_key={你的app_key}&sign={动态签名}

返回:
{
    "ret": 200,
    "data": {
        "err_code": 0,
        "err_msg": "",
        "data": {
            "id": 1,
            "uuid": "",
            "add_time": "2017-11-23 23:35:13",
            "update_time": "2018-06-27 22:27:18",
            "ext_data": null,
            "title": "PHP程序员历险记",
            "content": "PHP<a>test</a>(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。PHP<a>test</a>(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。PHP<a>test</a>(外文名:PHP: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。",
            "post_time": "1970-01-01 00:00:00",
            "view_times": "5",
            "state": "1"
        }
    },
    "msg": ""
}
<?php

// 引入文件
require_once dirname(__FILE__) . '/OkayApiClient.php';

// 调用小白开放接口
$rs = OkayApiClient::request('App.Table.Get', array('model_name'=>'telephone','id'=>3));

// 输出结果
print_r($rs);


/*
Array
( 
	[ret] => 200
	[data] =>
	Array 
	( 
	 	[err_code] => 0
		[err_msg] => 
		[data] => 
		Array 
		( 
			[id] => 3
			[uuid] =>
			[add_time] => 2019-02-02 22:49:39
			[update_time] => 
			[ext_data] => 
			[mobile] => 13902928166 
			[mobile_status] => 1 
		)
	 ) 
	 
	 [msg] => 小白开放接口:App.Table.Get
 )
*/
#!/usr/bin/python
#coding=utf-8

import requests
import hashlib

# TODO: 请根据需要,换成您的HOST,app_key和app_secrect
API_URL     = '你的小白接口域名,例如:http://api.okayapi.com/'
APP_KEY     = '你的app_key'
APP_SECRET  = '你的app_secrect'

# 生成签名
def Signature(params, key=None, secret=None):
    key = key or APP_KEY
    secret = secret or APP_SECRET
    params.pop('app_secrect', None)
    params['app_key'] = key
    md5_ctx = hashlib.md5()
    md5_ctx.update(''.join([params[value] for value in sorted([key for key in params])]) + secret)
    return md5_ctx.hexdigest().upper()
    

# 调用小白开放接口
def HTTPGet(url, params):
    params['sign'] = Signature(params)
    resp = requests.get(url, params)
    return resp.json()


def main():
    # 待请求的接口与相关参数
    params = {'s': 'App.Table.Get', 'model_name': 'okayapi_message', 'id' : '1'}

    # 发起请求
    return HTTPGet(API_URL, params)


print(main())

#{u'msg': u'\u5f53\u524d\u5c0f\u767d\u63a5\u53e3\uff1aApp.Table.Get', u'data': {u'data': {u'update_time': u'2019-01-26 23:34:28', u'uuid': u'', u'ext_data': None, u'message_content': u'<p>\u8fd9\u662f\u4e00\u6761\u8bc4\u8bba\u4fe1\u606f</p>', u'message_post_time': u'2018-11-09 14:18:04', u'message_nickname': u'dogstar', u'id': 1, u'add_time': u'2018-11-09 14:18:04'}, u'err_msg': u'', u'err_code': 0}, u'ret': 200}

接口返回及数据结构

返回字段类型说明
ret整型接口状态码,200表示成功,4xx表示客户端非法请求,5xx表示服务端异常,查看异常错误码
dataobject/array/混合接口返回的业务数据,由不同的API接口决定不同的数据返回字段和结构。当return_data=1时,接口只会返回此data字段。
data.err_code整型状态操作码,0成功;1开发类错误,获取失败(符合表字段要求,或表字段不存在);2应用层规则拦截,拦截后可以小白开放平台查看日记;3获取失败(数据已删除或不存在)
data.err_msg字符串错误提示信息,err_code非0时参考此提示信息
data.data对象获取的数据,并返回全部字段的数据
msg字符串提示信息,面向技术人员的帮助或错误提示信息
_t整数服务器当时Unix时间戳,例如:1657513450
_auth字符串反向数字签名,可用于客户端进行反向验证,防止数据篡改,例如:9bcd54ff53e71a1d80d37c52bdfabf76。验证算法:_auth = md5(data返回的JSON字符串 + _t当前时间戳字符串 + APP_SECRECT密钥字符串),若需要关闭或开启请提交工单

YesApi 接口文档

1813 生成并下载word文档

接口路径(新):http://api.yesapi.cn/api/App/Table/GetDocx

接口路径(旧):http://api.yesapi.cn/?s=App.Table.GetDocx

接口描述: 查 根据ID,获取自定义数据表单中的数据,并生成可直接下载的word文档。HTML内容将会被作为普通文本序列化输出。注意,仅当成功时才可下载word文档,失败时依然以接口JSON结果返回。

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

参数名字参数类型是否必须默认值备注参数说明
app_key字符串必须最小:32公共参数 开发者应用的app_key,查看我的app_key,如果还没有,可免费注册开通。
sign字符串可选公共参数接口签名,其中:
  • 使用动态签名,签名生成算法请见:如何生成签名,或直接使用封装好的SDK开发包,通过在线测试工具可进行签名的对比和调试。
  • 使用静态签名,点击获取我的静态签名
  • 关闭签名,如果不需要签名,可进入小白开放平台接口签名设置关闭或开启签名。
  • 定制签名支持专属签名算法定制开发
uuid字符串可选公共参数 UUID,当前登录的应用会员ID,即全局唯一用户ID,查看我的应用会员。传递此参数后,可以在开放平台查看每日活跃会员统计图表。uuid需要和token一起传递。
token字符串可选公共参数 当前登录会员的会话凭证,可通过会员登录接口获得。uuid需要和token一起传递。
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","_t": 1657513450, "_auth": "9bcd54ff53e71a1d80d37c52bdfabf76"};
  • 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待检测的口令,仅当在小白开放平台配置口令后才会对此参数进行检测,规则配置教程
id整型必须最小:1数据ID,例如:1,2,3,……
title字符串可选word文档标题及文件名
tpl字符串可选word文档的模板,表单字段点位符为:{{字段名}}。例如:
ID为{{id}},更新时间为{{update_time}},创建时间{{add_time}},特别地,换行为{{\n}}。
未设置模板时,默认显示全部字段,一行一个字段
font_style字符串JSON格式可选{"name":"Arial"}word文档的格式设置,JSON格式,示例:
{"name": "Microsoft Yahei UI", "size": 20, "color": "#ff6600", "bold": true}
格式配置:
  • name:字体,如微软雅黑为Microsoft Yahei UI,又如Arial
  • size:字体大小,例如14、20、22
  • color:字体颜色,如黑色为#000000
  • bgColor:字体背景色,例如#FF0000
  • bold:是否为粗体,布尔值
  • italic:是否为斜体,布尔值

客户端请求示例

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

接口返回及数据结构

返回字段类型说明
ret整型接口状态码,200表示成功,4xx表示客户端非法请求,5xx表示服务端异常,查看异常错误码
dataobject/array/混合接口返回的业务数据,由不同的API接口决定不同的数据返回字段和结构。当return_data=1时,接口只会返回此data字段。
data.err_code整型状态操作码,0成功,注意,仅当成功时才可下载word文档,失败时依然以接口JSON结果返回。;1开发类错误,获取失败(符合表字段要求,或表字段不存在);2应用层规则拦截,拦截后可以小白开放平台查看日记;3获取失败(数据已删除或不存在)
data.err_msg字符串错误提示信息,err_code非0时参考此提示信息
msg字符串提示信息,面向技术人员的帮助或错误提示信息
_t整数服务器当时Unix时间戳,例如:1657513450
_auth字符串反向数字签名,可用于客户端进行反向验证,防止数据篡改,例如:9bcd54ff53e71a1d80d37c52bdfabf76。验证算法:_auth = md5(data返回的JSON字符串 + _t当前时间戳字符串 + APP_SECRECT密钥字符串),若需要关闭或开启请提交工单

YesApi 接口文档

1814 批量ID取数据接口

接口路径(新):http://api.yesapi.cn/api/App/Table/MultiGet

接口路径(旧):http://api.yesapi.cn/?s=App.Table.MultiGet

接口描述: 批量查 根据批量ID,批量获取自定义数据表单中的数据

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

参数名字参数类型是否必须默认值备注参数说明
app_key字符串必须最小:32公共参数 开发者应用的app_key,查看我的app_key,如果还没有,可免费注册开通。
sign字符串可选公共参数接口签名,其中:
  • 使用动态签名,签名生成算法请见:如何生成签名,或直接使用封装好的SDK开发包,通过在线测试工具可进行签名的对比和调试。
  • 使用静态签名,点击获取我的静态签名
  • 关闭签名,如果不需要签名,可进入小白开放平台接口签名设置关闭或开启签名。
  • 定制签名支持专属签名算法定制开发
uuid字符串可选公共参数 UUID,当前登录的应用会员ID,即全局唯一用户ID,查看我的应用会员。传递此参数后,可以在开放平台查看每日活跃会员统计图表。uuid需要和token一起传递。
token字符串可选公共参数 当前登录会员的会话凭证,可通过会员登录接口获得。uuid需要和token一起传递。
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","_t": 1657513450, "_auth": "9bcd54ff53e71a1d80d37c52bdfabf76"};
  • 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待检测的口令,仅当在小白开放平台配置口令后才会对此参数进行检测,规则配置教程
idsids必须最大:500多个ID,使用英文逗号分割,例如:ids=1,2,3

客户端请求示例

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

HTTP通用示例
请求:
{你的接口域名}/?s=App.Table.MultiGet&model_name=article&ids=36,37&app_key={你的app_key}&sign={动态签名}

返回:
{
    "ret": 200,
    "data": {
        "err_code": 0,
        "err_msg": "",
        "list": [
        {
            "id": 36,
            "uuid": "",
            "add_time": "2019-04-06 17:25:13",
            "update_time": "2019-05-01 20:49:53",
            "ext_data": null,
            "title": "PHP程序员历险记223",
            "content": "<p><em>PHP</em>(外文名:<em>PHP</em>: Hypertext Preprocessor,中文名:“超文本预处理器”)</p>",
            "post_time": "2020-07-29 06:30:00",
            "view_times": "0",
            "state": "0",
            "test_time": "2019-04-06 17:25:13",
            "zhaiyao": ""
        },
        {
            "id": 37,
            "uuid": "",
            "add_time": "2019-06-07 10:00:23",
            "update_time": null,
            "ext_data": null,
            "title": "来吧~",
            "content": null,
            "post_time": "1970-01-01 00:00:00",
            "view_times": "0",
            "state": "0",
            "test_time": "2019-06-07 10:00:23",
            "zhaiyao": "来吧~"
        }
        ]
    },
    "msg": "小白开放接口:App.Table.MultiGet"
}

接口返回及数据结构

返回字段类型说明
ret整型接口状态码,200表示成功,4xx表示客户端非法请求,5xx表示服务端异常,查看异常错误码
dataobject/array/混合接口返回的业务数据,由不同的API接口决定不同的数据返回字段和结构。当return_data=1时,接口只会返回此data字段。
data.err_code整型状态操作码,0成功;1开发类错误,获取失败(符合表字段要求,或表字段不存在);2应用层规则拦截,拦截后可以小白开放平台查看日记
data.err_msg字符串错误提示信息,err_code非0时参考此提示信息
data.list字符串获取的数据,没有任何数据时为空数组,如果未找到ID对应的数据则没有任何元素
msg字符串提示信息,面向技术人员的帮助或错误提示信息
_t整数服务器当时Unix时间戳,例如:1657513450
_auth字符串反向数字签名,可用于客户端进行反向验证,防止数据篡改,例如:9bcd54ff53e71a1d80d37c52bdfabf76。验证算法:_auth = md5(data返回的JSON字符串 + _t当前时间戳字符串 + APP_SECRECT密钥字符串),若需要关闭或开启请提交工单

YesApi 接口文档

1815 精确删除数据接口

接口路径(新):http://api.yesapi.cn/api/App/Table/Delete

接口路径(旧):http://api.yesapi.cn/?s=App.Table.Delete

接口描述: 删 根据ID,删除自定义数据表单中的数据

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

参数名字参数类型是否必须默认值备注参数说明
app_key字符串必须最小:32公共参数 开发者应用的app_key,查看我的app_key,如果还没有,可免费注册开通。
sign字符串可选公共参数接口签名,其中:
  • 使用动态签名,签名生成算法请见:如何生成签名,或直接使用封装好的SDK开发包,通过在线测试工具可进行签名的对比和调试。
  • 使用静态签名,点击获取我的静态签名
  • 关闭签名,如果不需要签名,可进入小白开放平台接口签名设置关闭或开启签名。
  • 定制签名支持专属签名算法定制开发
uuid字符串可选公共参数 UUID,当前登录的应用会员ID,即全局唯一用户ID,查看我的应用会员。传递此参数后,可以在开放平台查看每日活跃会员统计图表。uuid需要和token一起传递。
token字符串可选公共参数 当前登录会员的会话凭证,可通过会员登录接口获得。uuid需要和token一起传递。
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","_t": 1657513450, "_auth": "9bcd54ff53e71a1d80d37c52bdfabf76"};
  • 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待检测的口令,仅当在小白开放平台配置口令后才会对此参数进行检测,规则配置教程
id整型必须最小:1数据ID,例如:1,2,3,……

客户端请求示例

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

HTTP通用示例PHP示例
请求:
{你的接口域名}/?s=App.Table.Delete&model_name=article&id=4&app_key={你的app_key}&sign={动态签名}

返回:
{
    "ret": 200,
    "data": {
        "err_code": 0,
        "err_msg": ""
    },
    "msg": ""
}
<?php

// 引入文件
require_once dirname(__FILE__) . '/OkayApiClient.php';

// 调用小白开放接口(第一个示例:从省份开始选择):
$rs = OkayApiClient::request('App.Table.Delete',array('model_name'=>'telephone','id'=>6));

// 输出结果
print_r($rs);

/*
Array 
( 
	[ret] => 200 
	[data] => 
	Array 
	( 
		[err_code] => 0 
		[err_msg] => 
	) 
	[msg] => 小白开放接口:App.Table.Delete 
)
*/

接口返回及数据结构

返回字段类型说明
ret整型接口状态码,200表示成功,4xx表示客户端非法请求,5xx表示服务端异常,查看异常错误码
dataobject/array/混合接口返回的业务数据,由不同的API接口决定不同的数据返回字段和结构。当return_data=1时,接口只会返回此data字段。
data.err_code整型状态操作码,0成功删除;1开发类错误,删除失败(表单不存在);2应用层规则拦截,拦截后可以小白开放平台查看日记
data.err_msg字符串错误提示信息,err_code非0时参考此提示信息
msg字符串提示信息,面向技术人员的帮助或错误提示信息
_t整数服务器当时Unix时间戳,例如:1657513450
_auth字符串反向数字签名,可用于客户端进行反向验证,防止数据篡改,例如:9bcd54ff53e71a1d80d37c52bdfabf76。验证算法:_auth = md5(data返回的JSON字符串 + _t当前时间戳字符串 + APP_SECRECT密钥字符串),若需要关闭或开启请提交工单

YesApi 接口文档

1816 批量ID删除数据接口

接口路径(新):http://api.yesapi.cn/api/App/Table/MultiDelete

接口路径(旧):http://api.yesapi.cn/?s=App.Table.MultiDelete

接口描述: 批量删 根据多个ID,批量删除自定义数据表单中的数据

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

参数名字参数类型是否必须默认值备注参数说明
app_key字符串必须最小:32公共参数 开发者应用的app_key,查看我的app_key,如果还没有,可免费注册开通。
sign字符串可选公共参数接口签名,其中:
  • 使用动态签名,签名生成算法请见:如何生成签名,或直接使用封装好的SDK开发包,通过在线测试工具可进行签名的对比和调试。
  • 使用静态签名,点击获取我的静态签名
  • 关闭签名,如果不需要签名,可进入小白开放平台接口签名设置关闭或开启签名。
  • 定制签名支持专属签名算法定制开发
uuid字符串可选公共参数 UUID,当前登录的应用会员ID,即全局唯一用户ID,查看我的应用会员。传递此参数后,可以在开放平台查看每日活跃会员统计图表。uuid需要和token一起传递。
token字符串可选公共参数 当前登录会员的会话凭证,可通过会员登录接口获得。uuid需要和token一起传递。
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","_t": 1657513450, "_auth": "9bcd54ff53e71a1d80d37c52bdfabf76"};
  • 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待检测的口令,仅当在小白开放平台配置口令后才会对此参数进行检测,规则配置教程
idsids必须最大:500多个ID,使用英文逗号分割,例如:ids=1,2,3

客户端请求示例

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

HTTP通用示例
请求:
{你的接口域名}/?s=App.Table.MultiDelete&model_name=article&ids=36,37&app_key={你的app_key}&sign={动态签名}

返回:
{
    "ret": 200,
    "data": {
        "err_code": 0,
        "err_msg": ""
    },
    "msg": "小白开放接口:App.Table.MultiDelete"
}

接口返回及数据结构

返回字段类型说明
ret整型接口状态码,200表示成功,4xx表示客户端非法请求,5xx表示服务端异常,查看异常错误码
dataobject/array/混合接口返回的业务数据,由不同的API接口决定不同的数据返回字段和结构。当return_data=1时,接口只会返回此data字段。
data.err_code整型状态操作码,0成功删除;1开发类错误,删除失败(表单不存在);2应用层规则拦截,拦截后可以小白开放平台查看日记
data.err_msg字符串错误提示信息,err_code非0时参考此提示信息
msg字符串提示信息,面向技术人员的帮助或错误提示信息
_t整数服务器当时Unix时间戳,例如:1657513450
_auth字符串反向数字签名,可用于客户端进行反向验证,防止数据篡改,例如:9bcd54ff53e71a1d80d37c52bdfabf76。验证算法:_auth = md5(data返回的JSON字符串 + _t当前时间戳字符串 + APP_SECRECT密钥字符串),若需要关闭或开启请提交工单

YesApi 接口文档

1817 获取总数接口

接口路径(新):http://api.yesapi.cn/api/App/Table/Count

接口路径(旧):http://api.yesapi.cn/?s=App.Table.Count

接口描述: 查统计 获取自定义数据表单中数据的总条目数量

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

参数名字参数类型是否必须默认值备注参数说明
app_key字符串必须最小:32公共参数 开发者应用的app_key,查看我的app_key,如果还没有,可免费注册开通。
sign字符串可选公共参数接口签名,其中:
  • 使用动态签名,签名生成算法请见:如何生成签名,或直接使用封装好的SDK开发包,通过在线测试工具可进行签名的对比和调试。
  • 使用静态签名,点击获取我的静态签名
  • 关闭签名,如果不需要签名,可进入小白开放平台接口签名设置关闭或开启签名。
  • 定制签名支持专属签名算法定制开发
uuid字符串可选公共参数 UUID,当前登录的应用会员ID,即全局唯一用户ID,查看我的应用会员。传递此参数后,可以在开放平台查看每日活跃会员统计图表。uuid需要和token一起传递。
token字符串可选公共参数 当前登录会员的会话凭证,可通过会员登录接口获得。uuid需要和token一起传递。
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","_t": 1657513450, "_auth": "9bcd54ff53e71a1d80d37c52bdfabf76"};
  • 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待检测的口令,仅当在小白开放平台配置口令后才会对此参数进行检测,规则配置教程

客户端请求示例

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

HTTP通用示例PHP示例
请求:
{你的接口域名}/?s=App.Table.Count&model_name=article&app_key={你的app_key}&sign={动态签名}

返回:
{
    "ret": 200,
    "data": {
        "err_code": 0,
        "err_msg": "",
        "total": 2
    },
    "msg": ""
}
<?php

// 引入文件
require_once dirname(__FILE__) . '/OkayApiClient.php';

// 调用小白开放接口
$rs = OkayApiClient::request('App.Table.Count', array('model_name'=>'telephone'));

// 输出结果
print_r($rs);


/*
Array 
( 
	[ret] => 200 
    [data] => 
     Array 
     ( 
     	[err_code] => 0 
        [err_msg] => 
        [total] => 2 
      ) 
      
     [msg] => 小白开放接口:App.Table.Count 
)
*/

接口返回及数据结构

返回字段类型说明
ret整型接口状态码,200表示成功,4xx表示客户端非法请求,5xx表示服务端异常,查看异常错误码
dataobject/array/混合接口返回的业务数据,由不同的API接口决定不同的数据返回字段和结构。当return_data=1时,接口只会返回此data字段。
data.err_code整型状态操作码,0成功;1开发类错误,获取失败(表单不存在);2应用层规则拦截,拦截后可以小白开放平台查看日记
data.err_msg字符串错误提示信息,err_code非0时参考此提示信息
data.total整型数据的总条目数量
msg字符串提示信息,面向技术人员的帮助或错误提示信息
_t整数服务器当时Unix时间戳,例如:1657513450
_auth字符串反向数字签名,可用于客户端进行反向验证,防止数据篡改,例如:9bcd54ff53e71a1d80d37c52bdfabf76。验证算法:_auth = md5(data返回的JSON字符串 + _t当前时间戳字符串 + APP_SECRECT密钥字符串),若需要关闭或开启请提交工单

YesApi 接口文档

1818 分组聚合查询接口

接口路径(新):http://api.yesapi.cn/api/App/Table/FreeAF

接口路径(旧):http://api.yesapi.cn/?s=App.Table.FreeAF

接口描述: 查统计 表单分组查询接口,可以根据自定义的多个条件(AND或者OR),进行GROUP聚合操作运算

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

参数名字参数类型是否必须默认值备注参数说明
app_key字符串必须最小:32公共参数 开发者应用的app_key,查看我的app_key,如果还没有,可免费注册开通。
sign字符串可选公共参数接口签名,其中:
  • 使用动态签名,签名生成算法请见:如何生成签名,或直接使用封装好的SDK开发包,通过在线测试工具可进行签名的对比和调试。
  • 使用静态签名,点击获取我的静态签名
  • 关闭签名,如果不需要签名,可进入小白开放平台接口签名设置关闭或开启签名。
  • 定制签名支持专属签名算法定制开发
uuid字符串可选公共参数 UUID,当前登录的应用会员ID,即全局唯一用户ID,查看我的应用会员。传递此参数后,可以在开放平台查看每日活跃会员统计图表。uuid需要和token一起传递。
token字符串可选公共参数 当前登录会员的会话凭证,可通过会员登录接口获得。uuid需要和token一起传递。
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","_t": 1657513450, "_auth": "9bcd54ff53e71a1d80d37c52bdfabf76"};
  • 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待检测的口令,仅当在小白开放平台配置口令后才会对此参数进行检测,规则配置教程
op_fun枚举类型必须SUM范围:SUM/COUNT/MIN/MAX/AVG聚合函数操作
op_field字符串必须进行聚合的字段名称,例如:SUM(price)中的price价格字段
group_filed字符串用,分割必须分组字段,多个分组字段使用英文逗号分割,相当于:GROUP BY {group_filed}
sort_type整型可选1排序的类型:1是聚合结果升序(默认);2是聚合结果逆序;3是分组字段升序;4是分组字段降序
page整型可选1最小:1第几页
top_num整型可选10最小:1;最大:500返回结果的数量,前面多少条
logic枚举类型可选and范围:and/orwhere条件的逻辑组合,logic=and表示逻辑且,logic=or表示逻辑或
where字符串JSON格式可选[["id", ">=", "1"]]SQL语句的WHERE查询条件,JSON格式,格式为:[第一组条件, 第二组条件, ……]。(where和where_X二选一,不可混用,以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参数介绍。
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优先)
select_more字符串用,分割可选需要选择的更多字段,默认已经固定返回{groupField}参数字段和聚合结果这两个字段。多个字段用英文逗号分割,如:select_more=id,uuid。如果需要再进行聚合运算,可以类似这样:select_more=id@MIN,uuid。即:字段@聚合运算。聚合运算主要有:SUM/COUNT/MIN/MAX/AVG。id@MIN 对应返回的字段名是 id_AT_MIN,name@COUNT 对应返回字段是 name_AT_COUNT,依次类似。即对应字段格式是:字段_AT_聚合运算。

客户端请求示例

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

HTTP通用示例PHP示例
请求(where和where_X二选一):
{你的接口域名}/?s=App.Table.FreeAF&model_name=article&op_fun=SUM&op_field=view_times&group_filed=title&where=[["id",">",0]]&app_key={你的app_key}&sign={动态签名}

请求(where和where_X二选一):
{你的接口域名}/?s=App.Table.FreeAF&model_name=article&op_fun=SUM&op_field=view_times&group_filed=title&where_id=GT-0&app_key={你的app_key}&sign={动态签名}

上面查询相当于,SELECT title, SUM(view_times) AS total_num FROM article WHERE id > 0 GROUP BY title ORDER BY total_num ASC LIMIT 0,10

返回:
{
    "ret": 200,
    "data": {
        "err_code": 0,
        "err_msg": "",
        "items": [
            {
                "title": "这是一篇文章标题",
                "total_num": "100"
            },
            {
                "title": "这又是另一篇文章标题",
                "total_num": "200"
            },
            // 略……
        ],
        "total": 12
    },
    "msg": ""
}


示例2-附加更多选择字段select_more:
请求:
{你的接口域名}/?s=App.Table.FreeAF&model_name=article&