接口路径(新):http://api.yesapi.net/api/App/Table/Create
接口路径(旧):http://api.yesapi.net/?s=App.Table.Create
接口描述: 增 在自定义数据表单中添加一个新数据,添加的字段应先在后台进行添加。
| 参数名字 | 参数类型 | 是否必须 | 默认值 | 备注 | 参数说明 |
|---|---|---|---|---|---|
| app_key | 字符串 | 必须 | 最小:32 | 公共参数 开发者应用的app_key,点击查看,或免费注册。 | |
| sign | 字符串 | 可选 | 公共参数接口签名,其中: | ||
| uuid | 字符串 | 可选 | 公共参数 UUID,当前登录的应用会员ID,即全局唯一用户ID,查看我的应用会员。传递此参数后,可以在开放平台查看每日活跃会员统计图表。uuid需要和token一起传递。 | ||
| token | 字符串 | 可选 | 公共参数 当前登录会员的会话凭证,可通过会员登录接口获得。uuid需要和token一起传递。 | ||
| return_data | 字符串 | 可选 | 公共参数 数据返回结构,其中:
| ||
| yesapi_allow_origin | 整型 | 可选 | 0 | 公共参数 是否允许跨域请求,1表示允许,0表示不允许。 | |
| model_name | 字符串 | 必须 | 表单名称(对应在小白开放平台创建时的数据库表名称),查看我的全部表单 | ||
| model_uuid | 字符串 | 可选 | 最大:32 | 表单UUID,即对应表单数据里的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 客户端接入指南(如何生成签名) 开启/关闭签名
我的客户端是【XXX】,需求是【XXX】,app_key是【XXX】,请根据以下接口文档,完成API接入。
# 【 1801 创建新数据接口】接口文档
**所属平台**: YesApi果创云
**接口地址**: `http://`你的API接口域名`/?s=App.Table.Create`
**请求方式**: POST/GET
## 接口基本信息
- **功能描述**: 增 在自定义数据表单中添加一个新数据,添加的字段应先在后台进行添加。
- **返回格式**: JSON
## 请求参数说明
### 系统参数(使用Query传递)
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|--------|
| s | string | 必填 | 接口服务名,固定为`App.Table.Create` |
| 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传递)
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| model_name | string | 必填 | 表单名称(对应在小白开放平台创建时的数据库表名称),查看我的全部表单 |
| model_uuid | string | 可选 | 表单UUID,即对应表单数据里的uuid字段。分为三种情况: model_uuid为@NULL或未提供时(默认值):如model_uuid=@NULL,即不限制uuid,可匹配任意uuid,包括uuid为空和不为空的数据纪录; model_uuid为空字符串:为空字符串时,如model_uuid=,只匹配uuid为空字符串的数据纪录(即游客数据); model_uuid为具体的值:如model_uuid=8AEA2AF1951C0376EC668A74B8CAA64A,则进行精确匹配,只匹配与表单uuid相等的数据纪录。 |
| check_code | string | 可选 | 待检测的口令,仅当在小白开放平台配置口令后才会对此参数进行检测,规则配置教程 |
| data | array | 可选 | 创建时的初始化数据,需要JSON编码后传递。格式:data={"字段名1":"字段值1","字段名2":"字段值2"...}。数据中的uuid将优先于model_uuid参数。JSON在线解析及格式化验证(data和data_X二选一) |
| data_X | string | 可选 | 动态参数,优先于data的JSON数据。可自由传入动态参数,字段名组合格式:data_ + X(X要换成你的字段名),例如数据表单标题title字段,组合后为:&data_title=YesApi,等效于:&data={"title":"YesApi"}。可以同时传入多个动态参数,例如:&data_title=YesApi&data_year=2020,比JSON格式更方便(data和data_X二选一) |
## 返回字段
| 返回字段 | 类型 | 说明 |
|--------|------|------|
| ret | int | 接口状态码,`200`表示成功,`4xx`表示客户端非法请求,`5xx`表示服务端异常 |
| data | object/array/混合 | 接口返回的业务数据,由不同的API接口决定不同的数据返回字段和结构。当`return_data=1`时,接口只会返回此`data`字段。|
| msg | 字符串 | 提示信息,面向技术人员的帮助或错误提示信息,成功返回时为空字符串 |
| data.err_code | int | 状态操作码,0成功;1创建失败(不符合表字段要求,或表字段不存在);2应用层规则拦截,拦截后可以小白开放平台查看日记|
| data.err_msg | string | 错误提示信息,err_code非0时参考此提示信息|
| data.id | int | 新创建数据的自增ID|
## 请求示例
```bash
curl -X POST "http://`你的API接口域名`/?s=App.Table.Create&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参数错误"
}
```请求(使用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表示服务端异常,查看异常错误码 |
| data | object/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密钥字符串),若需要关闭或开启请提交工单 |
接口路径(新):http://api.yesapi.net/api/App/Table/CheckCreate
接口路径(旧):http://api.yesapi.net/?s=App.Table.CheckCreate
接口描述: 增非重复 在自定义数据表单中添加一个【非重复】新数据,添加的字段应先在后台进行添加。即当数据不存在时则创建,当数据已存在时不进行任何操作。
| 参数名字 | 参数类型 | 是否必须 | 默认值 | 备注 | 参数说明 |
|---|---|---|---|---|---|
| app_key | 字符串 | 必须 | 最小:32 | 公共参数 开发者应用的app_key,点击查看,或免费注册。 | |
| sign | 字符串 | 可选 | 公共参数接口签名,其中: | ||
| uuid | 字符串 | 可选 | 公共参数 UUID,当前登录的应用会员ID,即全局唯一用户ID,查看我的应用会员。传递此参数后,可以在开放平台查看每日活跃会员统计图表。uuid需要和token一起传递。 | ||
| token | 字符串 | 可选 | 公共参数 当前登录会员的会话凭证,可通过会员登录接口获得。uuid需要和token一起传递。 | ||
| return_data | 字符串 | 可选 | 公共参数 数据返回结构,其中:
| ||
| yesapi_allow_origin | 整型 | 可选 | 0 | 公共参数 是否允许跨域请求,1表示允许,0表示不允许。 | |
| model_name | 字符串 | 必须 | 表单名称(对应在小白开放平台创建时的数据库表名称),查看我的全部表单 | ||
| model_uuid | 字符串 | 可选 | 最大:32 | 表单UUID,即对应表单数据里的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 客户端接入指南(如何生成签名) 开启/关闭签名
我的客户端是【XXX】,需求是【XXX】,app_key是【XXX】,请根据以下接口文档,完成API接入。
# 【 1802 创建非重复新数据接口】接口文档
**所属平台**: YesApi果创云
**接口地址**: `http://`你的API接口域名`/?s=App.Table.CheckCreate`
**请求方式**: POST/GET
## 接口基本信息
- **功能描述**: 增非重复 在自定义数据表单中添加一个【非重复】新数据,添加的字段应先在后台进行添加。即当数据不存在时则创建,当数据已存在时不进行任何操作。
- **返回格式**: JSON
## 请求参数说明
### 系统参数(使用Query传递)
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|--------|
| s | string | 必填 | 接口服务名,固定为`App.Table.CheckCreate` |
| 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传递)
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| model_name | string | 必填 | 表单名称(对应在小白开放平台创建时的数据库表名称),查看我的全部表单 |
| model_uuid | string | 可选 | 表单UUID,即对应表单数据里的uuid字段。分为三种情况: model_uuid为@NULL或未提供时(默认值):如model_uuid=@NULL,即不限制uuid,可匹配任意uuid,包括uuid为空和不为空的数据纪录; model_uuid为空字符串:为空字符串时,如model_uuid=,只匹配uuid为空字符串的数据纪录(即游客数据); model_uuid为具体的值:如model_uuid=8AEA2AF1951C0376EC668A74B8CAA64A,则进行精确匹配,只匹配与表单uuid相等的数据纪录。 |
| check_code | string | 可选 | 待检测的口令,仅当在小白开放平台配置口令后才会对此参数进行检测,规则配置教程 |
| data | array | 可选 | 创建时的初始化数据,需要JSON编码后传递。格式:data={"字段名1":"字段值1","字段名2":"字段值2"...}。数据中的uuid将优先于model_uuid参数。JSON在线解析及格式化验证(data和data_X二选一) |
| data_X | string | 可选 | 动态参数,优先于data的JSON数据。可自由传入动态参数,字段名组合格式:data_ + X(X要换成你的字段名),例如数据表单标题title字段,组合后为:&data_title=YesApi,等效于:&data={"title":"YesApi"}。可以同时传入多个动态参数,例如:&data_title=YesApi&data_year=2020,比JSON格式更方便(data和data_X二选一) |
| check_field | array | 必填 | 待检测的字段。注意:data数据中必须包含此字段的数据,用作检测重复的依据。多个检测字段用英文逗号分割。例如:check_field=name,age,表示同时检测名字和年龄。请留意字段类型的相等性判断,如字符串类型的字段不能在data参数中传整型参数。 |
| model_return_data | boolean | 可选 | 是否返回新创建或原来的数据,model_return_data=1 返回,model_return_data=0 不返回 |
## 返回字段
| 返回字段 | 类型 | 说明 |
|--------|------|------|
| ret | int | 接口状态码,`200`表示成功,`4xx`表示客户端非法请求,`5xx`表示服务端异常 |
| data | object/array/混合 | 接口返回的业务数据,由不同的API接口决定不同的数据返回字段和结构。当`return_data=1`时,接口只会返回此`data`字段。|
| msg | 字符串 | 提示信息,面向技术人员的帮助或错误提示信息,成功返回时为空字符串 |
| data.err_code | int | 状态操作码,0成功;1创建失败(不符合表字段要求,或表字段不存在);2应用层规则拦截,拦截后可以小白开放平台查看日记;3、数据已存在,不再创建|
| data.err_msg | string | 错误提示信息,err_code非0时参考此提示信息|
| data.id | int | 新创建数据的自增ID/或原来数据的ID|
| data.data | object | 新创建或原来的数据,全部字段返回。默认不返回,model_return_data=1 才返回。|
## 请求示例
```bash
curl -X POST "http://`你的API接口域名`/?s=App.Table.CheckCreate&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参数错误"
}
```请求(使用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表示服务端异常,查看异常错误码 |
| data | object/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密钥字符串),若需要关闭或开启请提交工单 |
接口路径(新):http://api.yesapi.net/api/App/Table/MultiCheckCreate
接口路径(旧):http://api.yesapi.net/?s=App.Table.MultiCheckCreate
接口描述: 批量增非重复 批量操作,在自定义数据表单中添加一个【非重复】新数据,添加的字段应先在小白开放平台进行添加。
| 参数名字 | 参数类型 | 是否必须 | 默认值 | 备注 | 参数说明 |
|---|---|---|---|---|---|
| app_key | 字符串 | 必须 | 最小:32 | 公共参数 开发者应用的app_key,点击查看,或免费注册。 | |
| sign | 字符串 | 可选 | 公共参数接口签名,其中: | ||
| uuid | 字符串 | 可选 | 公共参数 UUID,当前登录的应用会员ID,即全局唯一用户ID,查看我的应用会员。传递此参数后,可以在开放平台查看每日活跃会员统计图表。uuid需要和token一起传递。 | ||
| token | 字符串 | 可选 | 公共参数 当前登录会员的会话凭证,可通过会员登录接口获得。uuid需要和token一起传递。 | ||
| return_data | 字符串 | 可选 | 公共参数 数据返回结构,其中:
| ||
| yesapi_allow_origin | 整型 | 可选 | 0 | 公共参数 是否允许跨域请求,1表示允许,0表示不允许。 | |
| model_name | 字符串 | 必须 | 表单名称(对应在小白开放平台创建时的数据库表名称),查看我的全部表单 | ||
| model_uuid | 字符串 | 可选 | 最大:32 | 表单UUID,即对应表单数据里的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 客户端接入指南(如何生成签名) 开启/关闭签名
我的客户端是【XXX】,需求是【XXX】,app_key是【XXX】,请根据以下接口文档,完成API接入。
# 【 1803 批量创建非重复新数据接口】接口文档
**所属平台**: YesApi果创云
**接口地址**: `http://`你的API接口域名`/?s=App.Table.MultiCheckCreate`
**请求方式**: POST/GET
## 接口基本信息
- **功能描述**: 批量增非重复 批量操作,在自定义数据表单中添加一个【非重复】新数据,添加的字段应先在小白开放平台进行添加。
- **返回格式**: JSON
## 请求参数说明
### 系统参数(使用Query传递)
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|--------|
| s | string | 必填 | 接口服务名,固定为`App.Table.MultiCheckCreate` |
| 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传递)
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| model_name | string | 必填 | 表单名称(对应在小白开放平台创建时的数据库表名称),查看我的全部表单 |
| model_uuid | string | 可选 | 表单UUID,即对应表单数据里的uuid字段。分为三种情况: model_uuid为@NULL或未提供时(默认值):如model_uuid=@NULL,即不限制uuid,可匹配任意uuid,包括uuid为空和不为空的数据纪录; model_uuid为空字符串:为空字符串时,如model_uuid=,只匹配uuid为空字符串的数据纪录(即游客数据); model_uuid为具体的值:如model_uuid=8AEA2AF1951C0376EC668A74B8CAA64A,则进行精确匹配,只匹配与表单uuid相等的数据纪录。 |
| check_code | string | 可选 | 待检测的口令,仅当在小白开放平台配置口令后才会对此参数进行检测,规则配置教程 |
| datas | array | 必填 | 批量创建时的初始化数据,注意是数组格式,需要JSON编码后传递。格式:datas=[{"字段名1":"字段值1","字段名2":"字段值2"...}]。数据中的uuid将优先于model_uuid参数。JSON在线解析及格式化验证 |
| check_field | array | 必填 | 待检测的字段。注意:data数据中必须包含此字段的数据,用作检测重复的依据。多个检测字段用英文逗号分割。例如:check_field=name,age,表示同时检测名字和年龄。请留意字段类型的相等性判断,如字符串类型的字段不能在data参数中传整型参数。 |
## 返回字段
| 返回字段 | 类型 | 说明 |
|--------|------|------|
| ret | int | 接口状态码,`200`表示成功,`4xx`表示客户端非法请求,`5xx`表示服务端异常 |
| data | object/array/混合 | 接口返回的业务数据,由不同的API接口决定不同的数据返回字段和结构。当`return_data=1`时,接口只会返回此`data`字段。|
| msg | 字符串 | 提示信息,面向技术人员的帮助或错误提示信息,成功返回时为空字符串 |
| data.err_code | int | 状态操作码,0成功;1操作失败,2应用层规则拦截,拦截后可以小白开放平台查看日记|
| data.err_msg | string | 错误提示信息,err_code非0时参考此提示信息|
| data.details | array | 创建的详情|
| data.details[].id | int | 客户端传递参数的序号,从1开始|
| data.details[].create_status | int | 服务端创建非重复数据的状态,0表示创建添加成功,1表示创建失败,2表示数据已存在|
| data.details[].data_id | int | 数据ID,创建成功时是新添加数据的ID,数据存在时是原来数据的ID|
| data.details[].msg | string | 创建时的错误提示信息|
## 请求示例
```bash
curl -X POST "http://`你的API接口域名`/?s=App.Table.MultiCheckCreate&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.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表示服务端异常,查看异常错误码 |
| data | object/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密钥字符串),若需要关闭或开启请提交工单 |
接口路径(新):http://api.yesapi.net/api/App/Table/CheckCreateOrUpdate
接口路径(旧):http://api.yesapi.net/?s=App.Table.CheckCreateOrUpdate
接口描述: 增改非重复 在自定义数据表单中尝试添加一个【非重复】新数据,如果数据已经存在,则进行更新操作。
| 参数名字 | 参数类型 | 是否必须 | 默认值 | 备注 | 参数说明 |
|---|---|---|---|---|---|
| app_key | 字符串 | 必须 | 最小:32 | 公共参数 开发者应用的app_key,点击查看,或免费注册。 | |
| sign | 字符串 | 可选 | 公共参数接口签名,其中: | ||
| uuid | 字符串 | 可选 | 公共参数 UUID,当前登录的应用会员ID,即全局唯一用户ID,查看我的应用会员。传递此参数后,可以在开放平台查看每日活跃会员统计图表。uuid需要和token一起传递。 | ||
| token | 字符串 | 可选 | 公共参数 当前登录会员的会话凭证,可通过会员登录接口获得。uuid需要和token一起传递。 | ||
| return_data | 字符串 | 可选 | 公共参数 数据返回结构,其中:
| ||
| yesapi_allow_origin | 整型 | 可选 | 0 | 公共参数 是否允许跨域请求,1表示允许,0表示不允许。 | |
| model_name | 字符串 | 必须 | 表单名称(对应在小白开放平台创建时的数据库表名称),查看我的全部表单 | ||
| model_uuid | 字符串 | 可选 | 最大:32 | 表单UUID,即对应表单数据里的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 客户端接入指南(如何生成签名) 开启/关闭签名
我的客户端是【XXX】,需求是【XXX】,app_key是【XXX】,请根据以下接口文档,完成API接入。
# 【 1804 创建或更新非重复新数据接口】接口文档
**所属平台**: YesApi果创云
**接口地址**: `http://`你的API接口域名`/?s=App.Table.CheckCreateOrUpdate`
**请求方式**: POST/GET
## 接口基本信息
- **功能描述**: 增改非重复 在自定义数据表单中尝试添加一个【非重复】新数据,如果数据已经存在,则进行更新操作。
- **返回格式**: JSON
## 请求参数说明
### 系统参数(使用Query传递)
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|--------|
| s | string | 必填 | 接口服务名,固定为`App.Table.CheckCreateOrUpdate` |
| 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传递)
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| model_name | string | 必填 | 表单名称(对应在小白开放平台创建时的数据库表名称),查看我的全部表单 |
| model_uuid | string | 可选 | 表单UUID,即对应表单数据里的uuid字段。分为三种情况: model_uuid为@NULL或未提供时(默认值):如model_uuid=@NULL,即不限制uuid,可匹配任意uuid,包括uuid为空和不为空的数据纪录; model_uuid为空字符串:为空字符串时,如model_uuid=,只匹配uuid为空字符串的数据纪录(即游客数据); model_uuid为具体的值:如model_uuid=8AEA2AF1951C0376EC668A74B8CAA64A,则进行精确匹配,只匹配与表单uuid相等的数据纪录。 |
| check_code | string | 可选 | 待检测的口令,仅当在小白开放平台配置口令后才会对此参数进行检测,规则配置教程 |
| data | array | 可选 | 创建时的初始化数据,需要JSON编码后传递。格式:data={"字段名1":"字段值1","字段名2":"字段值2"...}。数据中的uuid将优先于model_uuid参数。JSON在线解析及格式化验证(data和data_X二选一) |
| data_X | string | 可选 | 动态参数,优先于data的JSON数据。可自由传入动态参数,字段名组合格式:data_ + X(X要换成你的字段名),例如数据表单标题title字段,组合后为:&data_title=YesApi,等效于:&data={"title":"YesApi"}。可以同时传入多个动态参数,例如:&data_title=YesApi&data_year=2020,比JSON格式更方便(data和data_X二选一) |
| check_field | array | 必填 | 待检测的字段。注意:data数据中必须包含待检测的全部字段。即check_field可指定data数据中的一个或多个字段。多个检测字段用英文逗号分割。例如:check_field=name,age,表示同时检测名字和年龄。请留意字段类型的相等性判断,如字符串类型的字段不能在data参数中传整型参数。 |
| logic | enum | 可选 | 多个check_field的逻辑组合,logic=and表示逻辑且,logic=or表示逻辑或 |
## 返回字段
| 返回字段 | 类型 | 说明 |
|--------|------|------|
| ret | int | 接口状态码,`200`表示成功,`4xx`表示客户端非法请求,`5xx`表示服务端异常 |
| data | object/array/混合 | 接口返回的业务数据,由不同的API接口决定不同的数据返回字段和结构。当`return_data=1`时,接口只会返回此`data`字段。|
| msg | 字符串 | 提示信息,面向技术人员的帮助或错误提示信息,成功返回时为空字符串 |
| data.err_code | int | 状态操作码,0成功;1创建失败(不符合表字段要求,或表字段不存在);2应用层规则拦截,拦截后可以小白开放平台查看日记;|
| data.err_msg | string | 错误提示信息,err_code非0时参考此提示信息|
| data.id | int | 新创建数据的自增ID/或原来数据的ID|
| data.op_type | string | 本次操作的具体类型,insert为插入,update为更新|
## 请求示例
```bash
curl -X POST "http://`你的API接口域名`/?s=App.Table.CheckCreateOrUpdate&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参数错误"
}
```请求(使用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表示服务端异常,查看异常错误码 |
| data | object/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密钥字符串),若需要关闭或开启请提交工单 |
接口路径(新):http://api.yesapi.net/api/App/Table/MultiCheckCreateOrUpdate
接口路径(旧):http://api.yesapi.net/?s=App.Table.MultiCheckCreateOrUpdate
接口描述: 批量增改非重复 批量版接口,在自定义数据表单中尝试添加一个【非重复】新数据,如果数据已经存在,则进行更新操作。
| 参数名字 | 参数类型 | 是否必须 | 默认值 | 备注 | 参数说明 |
|---|---|---|---|---|---|
| app_key | 字符串 | 必须 | 最小:32 | 公共参数 开发者应用的app_key,点击查看,或免费注册。 | |
| sign | 字符串 | 可选 | 公共参数接口签名,其中: | ||
| uuid | 字符串 | 可选 | 公共参数 UUID,当前登录的应用会员ID,即全局唯一用户ID,查看我的应用会员。传递此参数后,可以在开放平台查看每日活跃会员统计图表。uuid需要和token一起传递。 | ||
| token | 字符串 | 可选 | 公共参数 当前登录会员的会话凭证,可通过会员登录接口获得。uuid需要和token一起传递。 | ||
| return_data | 字符串 | 可选 | 公共参数 数据返回结构,其中:
| ||
| yesapi_allow_origin | 整型 | 可选 | 0 | 公共参数 是否允许跨域请求,1表示允许,0表示不允许。 | |
| model_name | 字符串 | 必须 | 表单名称(对应在小白开放平台创建时的数据库表名称),查看我的全部表单 | ||
| model_uuid | 字符串 | 可选 | 最大:32 | 表单UUID,即对应表单数据里的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 客户端接入指南(如何生成签名) 开启/关闭签名
我的客户端是【XXX】,需求是【XXX】,app_key是【XXX】,请根据以下接口文档,完成API接入。
# 【 1805 批量创建或更新非重复新数据接口】接口文档
**所属平台**: YesApi果创云
**接口地址**: `http://`你的API接口域名`/?s=App.Table.MultiCheckCreateOrUpdate`
**请求方式**: POST/GET
## 接口基本信息
- **功能描述**: 批量增改非重复 批量版接口,在自定义数据表单中尝试添加一个【非重复】新数据,如果数据已经存在,则进行更新操作。
- **返回格式**: JSON
## 请求参数说明
### 系统参数(使用Query传递)
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|--------|
| s | string | 必填 | 接口服务名,固定为`App.Table.MultiCheckCreateOrUpdate` |
| 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传递)
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| model_name | string | 必填 | 表单名称(对应在小白开放平台创建时的数据库表名称),查看我的全部表单 |
| model_uuid | string | 可选 | 表单UUID,即对应表单数据里的uuid字段。分为三种情况: model_uuid为@NULL或未提供时(默认值):如model_uuid=@NULL,即不限制uuid,可匹配任意uuid,包括uuid为空和不为空的数据纪录; model_uuid为空字符串:为空字符串时,如model_uuid=,只匹配uuid为空字符串的数据纪录(即游客数据); model_uuid为具体的值:如model_uuid=8AEA2AF1951C0376EC668A74B8CAA64A,则进行精确匹配,只匹配与表单uuid相等的数据纪录。 |
| check_code | string | 可选 | 待检测的口令,仅当在小白开放平台配置口令后才会对此参数进行检测,规则配置教程 |
| datas | array | 必填 | 需要批量创建的初始化数据,需要JSON编码后传递。格式:datas=[{第一组数据},{第二组数据},{第三组数据……}]。每一组的数据格式:{"字段名1":"字段值1","字段名2":"字段值2"...}。数据中的uuid将优先于model_uuid参数。JSON在线解析及格式化验证 |
| check_field | array | 必填 | 待检测的字段,非批量,全部检测的字段都应一致。注意:datas批量数据每一组数据中必须包含待检测的全部字段。即check_field可指定data数据中的一个或多个字段。多个检测字段用英文逗号分割。例如:check_field=name,age,表示同时检测名字和年龄。请留意字段类型的相等性判断,如字符串类型的字段不能在data参数中传整型参数。 |
| logic | enum | 可选 | 多个check_field的逻辑组合,非批量,全部检测的字段都应一致。logic=and表示逻辑且,logic=or表示逻辑或 |
## 返回字段
| 返回字段 | 类型 | 说明 |
|--------|------|------|
| ret | int | 接口状态码,`200`表示成功,`4xx`表示客户端非法请求,`5xx`表示服务端异常 |
| data | object/array/混合 | 接口返回的业务数据,由不同的API接口决定不同的数据返回字段和结构。当`return_data=1`时,接口只会返回此`data`字段。|
| msg | 字符串 | 提示信息,面向技术人员的帮助或错误提示信息,成功返回时为空字符串 |
| data.err_code | int | 状态操作码,0成功;1创建失败(不符合表字段要求,或表字段不存在);2应用层规则拦截,拦截后可以小白开放平台查看日记;3存在部分失败的情况|
| data.err_msg | string | 错误提示信息,err_code非0时参考此提示信息|
| data.details | array | 批量的结果|
| data.details[].id | int | 新创建数据的自增ID/或原来数据的ID|
| data.details[].op_type | string | 本次操作的具体类型,insert为插入,update为更新,fail为失败(参数错误)|
| data.model_name | string | 当前表单名称|
## 请求示例
```bash
curl -X POST "http://`你的API接口域名`/?s=App.Table.MultiCheckCreateOrUpdate&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.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表示服务端异常,查看异常错误码 |
| data | object/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密钥字符串),若需要关闭或开启请提交工单 |
接口路径(新):http://api.yesapi.net/api/App/Table/MultiCreate
接口路径(旧):http://api.yesapi.net/?s=App.Table.MultiCreate
接口描述: 批量增 批量导入多条新数据,导入完毕后会返回导入的概况
| 参数名字 | 参数类型 | 是否必须 | 默认值 | 备注 | 参数说明 |
|---|---|---|---|---|---|
| app_key | 字符串 | 必须 | 最小:32 | 公共参数 开发者应用的app_key,点击查看,或免费注册。 | |
| sign | 字符串 | 可选 | 公共参数接口签名,其中: | ||
| uuid | 字符串 | 可选 | 公共参数 UUID,当前登录的应用会员ID,即全局唯一用户ID,查看我的应用会员。传递此参数后,可以在开放平台查看每日活跃会员统计图表。uuid需要和token一起传递。 | ||
| token | 字符串 | 可选 | 公共参数 当前登录会员的会话凭证,可通过会员登录接口获得。uuid需要和token一起传递。 | ||
| return_data | 字符串 | 可选 | 公共参数 数据返回结构,其中:
| ||
| yesapi_allow_origin | 整型 | 可选 | 0 | 公共参数 是否允许跨域请求,1表示允许,0表示不允许。 | |
| model_name | 字符串 | 必须 | 表单名称(对应在小白开放平台创建时的数据库表名称),查看我的全部表单 | ||
| model_uuid | 字符串 | 可选 | 最大:32 | 表单UUID,即对应表单数据里的uuid字段。分为三种情况:
| |
| check_code | 字符串 | 可选 | 最大:64 | 待检测的口令,仅当在小白开放平台配置口令后才会对此参数进行检测,规则配置教程 | |
| datas | 字符串JSON格式 | 必须 | 批量导入的数据。特别注意!这是复数datas,即需要传递是的单个创建时的数组的数组。格式为JSON,即:datas=[单个创建时的数据1, 单个创建时的数据2, ...]。一次最多只允许导入1000条数据。数据中的uuid将优先于model_uuid参数。JSON在线解析及格式化验证 |
查看我的接口域名、app_key和app_secrect 客户端接入指南(如何生成签名) 开启/关闭签名
我的客户端是【XXX】,需求是【XXX】,app_key是【XXX】,请根据以下接口文档,完成API接入。
# 【 1806 批量创建新数据接口】接口文档
**所属平台**: YesApi果创云
**接口地址**: `http://`你的API接口域名`/?s=App.Table.MultiCreate`
**请求方式**: POST/GET
## 接口基本信息
- **功能描述**: 批量增 批量导入多条新数据,导入完毕后会返回导入的概况
- **返回格式**: JSON
## 请求参数说明
### 系统参数(使用Query传递)
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|--------|
| s | string | 必填 | 接口服务名,固定为`App.Table.MultiCreate` |
| 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传递)
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| model_name | string | 必填 | 表单名称(对应在小白开放平台创建时的数据库表名称),查看我的全部表单 |
| model_uuid | string | 可选 | 表单UUID,即对应表单数据里的uuid字段。分为三种情况: model_uuid为@NULL或未提供时(默认值):如model_uuid=@NULL,即不限制uuid,可匹配任意uuid,包括uuid为空和不为空的数据纪录; model_uuid为空字符串:为空字符串时,如model_uuid=,只匹配uuid为空字符串的数据纪录(即游客数据); model_uuid为具体的值:如model_uuid=8AEA2AF1951C0376EC668A74B8CAA64A,则进行精确匹配,只匹配与表单uuid相等的数据纪录。 |
| check_code | string | 可选 | 待检测的口令,仅当在小白开放平台配置口令后才会对此参数进行检测,规则配置教程 |
| datas | array | 必填 | 批量导入的数据。特别注意!这是复数datas,即需要传递是的单个创建时的数组的数组。格式为JSON,即:datas=[单个创建时的数据1, 单个创建时的数据2, ...]。一次最多只允许导入1000条数据。数据中的uuid将优先于model_uuid参数。JSON在线解析及格式化验证 |
## 返回字段
| 返回字段 | 类型 | 说明 |
|--------|------|------|
| ret | int | 接口状态码,`200`表示成功,`4xx`表示客户端非法请求,`5xx`表示服务端异常 |
| data | object/array/混合 | 接口返回的业务数据,由不同的API接口决定不同的数据返回字段和结构。当`return_data=1`时,接口只会返回此`data`字段。|
| msg | 字符串 | 提示信息,面向技术人员的帮助或错误提示信息,成功返回时为空字符串 |
| data.err_code | int | 状态操作码,0导入成功;1导入失败(如表不存在);2应用层规则拦截,拦截后可以小白开放平台查看日记|
| data.err_msg | string | 错误提示信息,err_code非0时参考此提示信息|
| data.total | int | 本次导入的总数量|
| data.import_num | int | 成功导入的数量|
| data.not_import_num | int | 导入失败的数量|
| data.details | array | 导入过程中的操作纪录|
| data.details[].id | int | 导入的ID,从1开始|
| data.details[].new_id | int | 数据添加成功时的纪录ID,失败时为0|
| data.details[].msg | string | 导入的结果|
## 请求示例
```bash
curl -X POST "http://`你的API接口域名`/?s=App.Table.MultiCreate&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.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表示服务端异常,查看异常错误码 |
| data | object/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密钥字符串),若需要关闭或开启请提交工单 |
接口路径(新):http://api.yesapi.net/api/App/Table/MultiFastCreate
接口路径(旧):http://api.yesapi.net/?s=App.Table.MultiFastCreate
接口描述: 批量增 批量极速导入多条新数据,速度很快但无明细,此接口可用于批量导入数据,适用于数据初始化和还原。同时,值得注意的是,此接口因为接近原始的数据导入,因此可以设置小白系统字段:id(不提供时为自增主键)、uuid(用户登录时则自动绑定登录用户)、add_time(不提供时为当前创建时间)、update_time、ext_data。
| 参数名字 | 参数类型 | 是否必须 | 默认值 | 备注 | 参数说明 |
|---|---|---|---|---|---|
| app_key | 字符串 | 必须 | 最小:32 | 公共参数 开发者应用的app_key,点击查看,或免费注册。 | |
| sign | 字符串 | 可选 | 公共参数接口签名,其中: | ||
| uuid | 字符串 | 可选 | 公共参数 UUID,当前登录的应用会员ID,即全局唯一用户ID,查看我的应用会员。传递此参数后,可以在开放平台查看每日活跃会员统计图表。uuid需要和token一起传递。 | ||
| token | 字符串 | 可选 | 公共参数 当前登录会员的会话凭证,可通过会员登录接口获得。uuid需要和token一起传递。 | ||
| return_data | 字符串 | 可选 | 公共参数 数据返回结构,其中:
| ||
| yesapi_allow_origin | 整型 | 可选 | 0 | 公共参数 是否允许跨域请求,1表示允许,0表示不允许。 | |
| model_name | 字符串 | 必须 | 表单名称(对应在小白开放平台创建时的数据库表名称),查看我的全部表单 | ||
| model_uuid | 字符串 | 可选 | 最大:32 | 表单UUID,即对应表单数据里的uuid字段。分为三种情况:
| |
| check_code | 字符串 | 可选 | 最大:64 | 待检测的口令,仅当在小白开放平台配置口令后才会对此参数进行检测,规则配置教程 | |
| datas | 字符串JSON格式 | 必须 | 批量导入的数据。特别注意!这是复数datas,即需要传递是的单个创建时的数组的数组。格式为JSON,即:datas=[单个创建时的数据1, 单个创建时的数据2, ...]。一次最多只允许导入1000条数据。 | ||
| is_ignore | 布尔型 | 可选 | true | 是否启用IGNORE,1是0否,其中:
|
查看我的接口域名、app_key和app_secrect 客户端接入指南(如何生成签名) 开启/关闭签名
我的客户端是【XXX】,需求是【XXX】,app_key是【XXX】,请根据以下接口文档,完成API接入。
# 【 1807 批量极速创建新数据接口】接口文档
**所属平台**: YesApi果创云
**接口地址**: `http://`你的API接口域名`/?s=App.Table.MultiFastCreate`
**请求方式**: POST/GET
## 接口基本信息
- **功能描述**: 批量增 批量极速导入多条新数据,速度很快但无明细,此接口可用于批量导入数据,适用于数据初始化和还原。同时,值得注意的是,此接口因为接近原始的数据导入,因此可以设置小白系统字段:id(不提供时为自增主键)、uuid(用户登录时则自动绑定登录用户)、add_time(不提供时为当前创建时间)、update_time、ext_data。
- **返回格式**: JSON
## 请求参数说明
### 系统参数(使用Query传递)
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|--------|
| s | string | 必填 | 接口服务名,固定为`App.Table.MultiFastCreate` |
| 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传递)
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| model_name | string | 必填 | 表单名称(对应在小白开放平台创建时的数据库表名称),查看我的全部表单 |
| model_uuid | string | 可选 | 表单UUID,即对应表单数据里的uuid字段。分为三种情况: model_uuid为@NULL或未提供时(默认值):如model_uuid=@NULL,即不限制uuid,可匹配任意uuid,包括uuid为空和不为空的数据纪录; model_uuid为空字符串:为空字符串时,如model_uuid=,只匹配uuid为空字符串的数据纪录(即游客数据); model_uuid为具体的值:如model_uuid=8AEA2AF1951C0376EC668A74B8CAA64A,则进行精确匹配,只匹配与表单uuid相等的数据纪录。 |
| check_code | string | 可选 | 待检测的口令,仅当在小白开放平台配置口令后才会对此参数进行检测,规则配置教程 |
| datas | array | 必填 | 批量导入的数据。特别注意!这是复数datas,即需要传递是的单个创建时的数组的数组。格式为JSON,即:datas=[单个创建时的数据1, 单个创建时的数据2, ...]。一次最多只允许导入1000条数据。 |
| is_ignore | boolean | 可选 | 是否启用IGNORE,1是0否,其中:若为是,则在创建时判断是否存在相同的数据,并且重复时忽略跳过,最终结果是部分或全部成功创建;若为若,则不管是否存均进行创建,如果有唯一索引或其他原因导致失败将会全部创建不成功。 |
## 返回字段
| 返回字段 | 类型 | 说明 |
|--------|------|------|
| ret | int | 接口状态码,`200`表示成功,`4xx`表示客户端非法请求,`5xx`表示服务端异常 |
| data | object/array/混合 | 接口返回的业务数据,由不同的API接口决定不同的数据返回字段和结构。当`return_data=1`时,接口只会返回此`data`字段。|
| msg | 字符串 | 提示信息,面向技术人员的帮助或错误提示信息,成功返回时为空字符串 |
| data.err_code | int | 状态操作码,0导入成功;1导入失败(如表不存在);2应用层规则拦截,拦截后可以小白开放平台查看日记|
| data.err_msg | string | 错误提示信息,err_code非0时参考此提示信息|
| data.total | int | 本次导入的总数量|
## 请求示例
```bash
curl -X POST "http://`你的API接口域名`/?s=App.Table.MultiFastCreate&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参数错误"
}
```| 返回字段 | 类型 | 说明 |
|---|---|---|
| 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 | 整型 | 本次导入的总数量 |
| msg | 字符串 | 提示信息,面向技术人员的帮助或错误提示信息 |
| _t | 整数 | 服务器当时Unix时间戳,例如:1657513450 |
| _auth | 字符串 | 反向数字签名,可用于客户端进行反向验证,防止数据篡改,例如:9bcd54ff53e71a1d80d37c52bdfabf76。验证算法:_auth = md5(data返回的JSON字符串 + _t当前时间戳字符串 + APP_SECRECT密钥字符串),若需要关闭或开启请提交工单 |
接口路径(新):http://api.yesapi.net/api/App/Table/MultiFastCreateExt
接口路径(旧):http://api.yesapi.net/?s=App.Table.MultiFastCreateExt
接口描述: 批量增 批量极速导入多条新数据[二分法递归增强版],此接口的区别在于,若批量创建的数据失败,则会进行对半拆分分别重试创建,从而最大可能导入数据,最大重试深度为4级。其他功能请参见:批量极速创建新数据接口。
| 参数名字 | 参数类型 | 是否必须 | 默认值 | 备注 | 参数说明 |
|---|---|---|---|---|---|
| app_key | 字符串 | 必须 | 最小:32 | 公共参数 开发者应用的app_key,点击查看,或免费注册。 | |
| sign | 字符串 | 可选 | 公共参数接口签名,其中: | ||
| uuid | 字符串 | 可选 | 公共参数 UUID,当前登录的应用会员ID,即全局唯一用户ID,查看我的应用会员。传递此参数后,可以在开放平台查看每日活跃会员统计图表。uuid需要和token一起传递。 | ||
| token | 字符串 | 可选 | 公共参数 当前登录会员的会话凭证,可通过会员登录接口获得。uuid需要和token一起传递。 | ||
| return_data | 字符串 | 可选 | 公共参数 数据返回结构,其中:
| ||
| yesapi_allow_origin | 整型 | 可选 | 0 | 公共参数 是否允许跨域请求,1表示允许,0表示不允许。 | |
| model_name | 字符串 | 必须 | 表单名称(对应在小白开放平台创建时的数据库表名称),查看我的全部表单 | ||
| model_uuid | 字符串 | 可选 | 最大:32 | 表单UUID,即对应表单数据里的uuid字段。分为三种情况:
| |
| check_code | 字符串 | 可选 | 最大:64 | 待检测的口令,仅当在小白开放平台配置口令后才会对此参数进行检测,规则配置教程 | |
| datas | 字符串JSON格式 | 必须 | 批量导入的数据。特别注意!这是复数datas,即需要传递是的单个创建时的数组的数组。格式为JSON,即:datas=[单个创建时的数据1, 单个创建时的数据2, ...]。一次最多只允许导入1000条数据。若批量创建的数据失败,则会进行对半拆分分别重试创建,从而最大可能导入数据,最大重试深度为4级。 | ||
| is_ignore | 布尔型 | 可选 | true | 是否启用IGNORE,1是0否,其中:
|
查看我的接口域名、app_key和app_secrect 客户端接入指南(如何生成签名) 开启/关闭签名
我的客户端是【XXX】,需求是【XXX】,app_key是【XXX】,请根据以下接口文档,完成API接入。
# 【 1808 批量极速创建新数据接口[二分法递归增强版]】接口文档
**所属平台**: YesApi果创云
**接口地址**: `http://`你的API接口域名`/?s=App.Table.MultiFastCreateExt`
**请求方式**: POST/GET
## 接口基本信息
- **功能描述**: 批量增 批量极速导入多条新数据[二分法递归增强版],此接口的区别在于,若批量创建的数据失败,则会进行对半拆分分别重试创建,从而最大可能导入数据,最大重试深度为4级。其他功能请参见:批量极速创建新数据接口。
- **返回格式**: JSON
## 请求参数说明
### 系统参数(使用Query传递)
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|--------|
| s | string | 必填 | 接口服务名,固定为`App.Table.MultiFastCreateExt` |
| 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传递)
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| model_name | string | 必填 | 表单名称(对应在小白开放平台创建时的数据库表名称),查看我的全部表单 |
| model_uuid | string | 可选 | 表单UUID,即对应表单数据里的uuid字段。分为三种情况: model_uuid为@NULL或未提供时(默认值):如model_uuid=@NULL,即不限制uuid,可匹配任意uuid,包括uuid为空和不为空的数据纪录; model_uuid为空字符串:为空字符串时,如model_uuid=,只匹配uuid为空字符串的数据纪录(即游客数据); model_uuid为具体的值:如model_uuid=8AEA2AF1951C0376EC668A74B8CAA64A,则进行精确匹配,只匹配与表单uuid相等的数据纪录。 |
| check_code | string | 可选 | 待检测的口令,仅当在小白开放平台配置口令后才会对此参数进行检测,规则配置教程 |
| datas | array | 必填 | 批量导入的数据。特别注意!这是复数datas,即需要传递是的单个创建时的数组的数组。格式为JSON,即:datas=[单个创建时的数据1, 单个创建时的数据2, ...]。一次最多只允许导入1000条数据。若批量创建的数据失败,则会进行对半拆分分别重试创建,从而最大可能导入数据,最大重试深度为4级。 |
| is_ignore | boolean | 可选 | 是否启用IGNORE,1是0否,其中:若为是,则在创建时判断是否存在相同的数据,并且重复时忽略跳过,最终结果是部分或全部成功创建;若为若,则不管是否存均进行创建,如果有唯一索引或其他原因导致失败将会全部创建不成功。 |
## 返回字段
| 返回字段 | 类型 | 说明 |
|--------|------|------|
| ret | int | 接口状态码,`200`表示成功,`4xx`表示客户端非法请求,`5xx`表示服务端异常 |
| data | object/array/混合 | 接口返回的业务数据,由不同的API接口决定不同的数据返回字段和结构。当`return_data=1`时,接口只会返回此`data`字段。|
| msg | 字符串 | 提示信息,面向技术人员的帮助或错误提示信息,成功返回时为空字符串 |
| data.err_code | int | 状态操作码,0导入成功;1导入失败(如表不存在);2应用层规则拦截,拦截后可以小白开放平台查看日记|
| data.err_msg | string | 错误提示信息,err_code非0时参考此提示信息|
| data.total | int | 本次导入的总数量|
## 请求示例
```bash
curl -X POST "http://`你的API接口域名`/?s=App.Table.MultiFastCreateExt&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参数错误"
}
```以下示例将会演示小白接口如何进行二分法递归创建。对于文章表单: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表示服务端异常,查看异常错误码 |
| data | object/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密钥字符串),若需要关闭或开启请提交工单 |
接口路径(新):http://api.yesapi.net/api/App/Table/Update
接口路径(旧):http://api.yesapi.net/?s=App.Table.Update
接口描述: 改 根据ID,更新自定义数据表单中的数据,更新的字段需要先存在。对系统保留表字段(id, uuid, add_time, update_time, ext_data)的更新将会被忽略。
| 参数名字 | 参数类型 | 是否必须 | 默认值 | 备注 | 参数说明 |
|---|---|---|---|---|---|
| app_key | 字符串 | 必须 | 最小:32 | 公共参数 开发者应用的app_key,点击查看,或免费注册。 | |
| sign | 字符串 | 可选 | 公共参数接口签名,其中: | ||
| uuid | 字符串 | 可选 | 公共参数 UUID,当前登录的应用会员ID,即全局唯一用户ID,查看我的应用会员。传递此参数后,可以在开放平台查看每日活跃会员统计图表。uuid需要和token一起传递。 | ||
| token | 字符串 | 可选 | 公共参数 当前登录会员的会话凭证,可通过会员登录接口获得。uuid需要和token一起传递。 | ||
| return_data | 字符串 | 可选 | 公共参数 数据返回结构,其中:
| ||
| yesapi_allow_origin | 整型 | 可选 | 0 | 公共参数 是否允许跨域请求,1表示允许,0表示不允许。 | |
| model_name | 字符串 | 必须 | 表单名称(对应在小白开放平台创建时的数据库表名称),查看我的全部表单 | ||
| model_uuid | 字符串 | 可选 | 最大:32 | 表单UUID,即对应表单数据里的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 客户端接入指南(如何生成签名) 开启/关闭签名
我的客户端是【XXX】,需求是【XXX】,app_key是【XXX】,请根据以下接口文档,完成API接入。
# 【 1809 精确更新数据接口】接口文档
**所属平台**: YesApi果创云
**接口地址**: `http://`你的API接口域名`/?s=App.Table.Update`
**请求方式**: POST/GET
## 接口基本信息
- **功能描述**: 改 根据ID,更新自定义数据表单中的数据,更新的字段需要先存在。对系统保留表字段(id, uuid, add_time, update_time, ext_data)的更新将会被忽略。
- **返回格式**: JSON
## 请求参数说明
### 系统参数(使用Query传递)
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|--------|
| s | string | 必填 | 接口服务名,固定为`App.Table.Update` |
| 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传递)
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| model_name | string | 必填 | 表单名称(对应在小白开放平台创建时的数据库表名称),查看我的全部表单 |
| model_uuid | string | 可选 | 表单UUID,即对应表单数据里的uuid字段。分为三种情况: model_uuid为@NULL或未提供时(默认值):如model_uuid=@NULL,即不限制uuid,可匹配任意uuid,包括uuid为空和不为空的数据纪录; model_uuid为空字符串:为空字符串时,如model_uuid=,只匹配uuid为空字符串的数据纪录(即游客数据); model_uuid为具体的值:如model_uuid=8AEA2AF1951C0376EC668A74B8CAA64A,则进行精确匹配,只匹配与表单uuid相等的数据纪录。 |
| check_code | string | 可选 | 待检测的口令,仅当在小白开放平台配置口令后才会对此参数进行检测,规则配置教程 |
| id | int | 必填 | 数据ID,例如:1,2,3,…… |
| data | array | 可选 | 待更新的数据,需要JSON编码后传递。格式:data={"字段名1":"字段值1","字段名2":"字段值2"...}。JSON在线解析及格式化验证(data和data_X二选一) |
| data_X | string | 可选 | 动态参数,优先于data的JSON数据。可自由传入动态参数,字段名组合格式:data_ + X(X要换成你的字段名),例如数据表单标题title字段,组合后为:&data_title=YesApi,等效于:&data={"title":"YesApi"}。可以同时传入多个动态参数,例如:&data_title=YesApi&data_year=2020,比JSON格式更方便(data和data_X二选一) |
## 返回字段
| 返回字段 | 类型 | 说明 |
|--------|------|------|
| ret | int | 接口状态码,`200`表示成功,`4xx`表示客户端非法请求,`5xx`表示服务端异常 |
| data | object/array/混合 | 接口返回的业务数据,由不同的API接口决定不同的数据返回字段和结构。当`return_data=1`时,接口只会返回此`data`字段。|
| msg | 字符串 | 提示信息,面向技术人员的帮助或错误提示信息,成功返回时为空字符串 |
| data.err_code | int | 状态操作码,0成功;1开发类错误,更新失败(不符合表字段要求,或表字段不存在);2应用层规则拦截,拦截后可以小白开放平台查看日记;3更新失败(数据已删除或不存在)|
| data.err_msg | string | 错误提示信息,err_code非0时参考此提示信息|
## 请求示例
```bash
curl -X POST "http://`你的API接口域名`/?s=App.Table.Update&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参数错误"
}
```请求(使用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表示服务端异常,查看异常错误码 |
| data | object/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密钥字符串),若需要关闭或开启请提交工单 |
接口路径(新):http://api.yesapi.net/api/App/Table/MultiUpdate
接口路径(旧):http://api.yesapi.net/?s=App.Table.MultiUpdate
接口描述: 批量改 根据多个ID,批量更新自定义数据表单中的数据,更新的字段需要先存在。对系统保留表字段(id, uuid, add_time, update_time, ext_data)的更新将会被忽略。
| 参数名字 | 参数类型 | 是否必须 | 默认值 | 备注 | 参数说明 |
|---|---|---|---|---|---|
| app_key | 字符串 | 必须 | 最小:32 | 公共参数 开发者应用的app_key,点击查看,或免费注册。 | |
| sign | 字符串 | 可选 | 公共参数接口签名,其中: | ||
| uuid | 字符串 | 可选 | 公共参数 UUID,当前登录的应用会员ID,即全局唯一用户ID,查看我的应用会员。传递此参数后,可以在开放平台查看每日活跃会员统计图表。uuid需要和token一起传递。 | ||
| token | 字符串 | 可选 | 公共参数 当前登录会员的会话凭证,可通过会员登录接口获得。uuid需要和token一起传递。 | ||
| return_data | 字符串 | 可选 | 公共参数 数据返回结构,其中:
| ||
| yesapi_allow_origin | 整型 | 可选 | 0 | 公共参数 是否允许跨域请求,1表示允许,0表示不允许。 | |
| model_name | 字符串 | 必须 | 表单名称(对应在小白开放平台创建时的数据库表名称),查看我的全部表单 | ||
| model_uuid | 字符串 | 可选 | 最大:32 | 表单UUID,即对应表单数据里的uuid字段。分为三种情况:
| |
| check_code | 字符串 | 可选 | 最大:64 | 待检测的口令,仅当在小白开放平台配置口令后才会对此参数进行检测,规则配置教程 | |
| ids | ids | 必须 | 最大: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 客户端接入指南(如何生成签名) 开启/关闭签名
我的客户端是【XXX】,需求是【XXX】,app_key是【XXX】,请根据以下接口文档,完成API接入。
# 【 1810 批量ID更新数据接口】接口文档
**所属平台**: YesApi果创云
**接口地址**: `http://`你的API接口域名`/?s=App.Table.MultiUpdate`
**请求方式**: POST/GET
## 接口基本信息
- **功能描述**: 批量改 根据多个ID,批量更新自定义数据表单中的数据,更新的字段需要先存在。对系统保留表字段(id, uuid, add_time, update_time, ext_data)的更新将会被忽略。
- **返回格式**: JSON
## 请求参数说明
### 系统参数(使用Query传递)
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|--------|
| s | string | 必填 | 接口服务名,固定为`App.Table.MultiUpdate` |
| 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传递)
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| model_name | string | 必填 | 表单名称(对应在小白开放平台创建时的数据库表名称),查看我的全部表单 |
| model_uuid | string | 可选 | 表单UUID,即对应表单数据里的uuid字段。分为三种情况: model_uuid为@NULL或未提供时(默认值):如model_uuid=@NULL,即不限制uuid,可匹配任意uuid,包括uuid为空和不为空的数据纪录; model_uuid为空字符串:为空字符串时,如model_uuid=,只匹配uuid为空字符串的数据纪录(即游客数据); model_uuid为具体的值:如model_uuid=8AEA2AF1951C0376EC668A74B8CAA64A,则进行精确匹配,只匹配与表单uuid相等的数据纪录。 |
| check_code | string | 可选 | 待检测的口令,仅当在小白开放平台配置口令后才会对此参数进行检测,规则配置教程 |
| ids | ids | 必填 | 多个ID,使用英文逗号分割,例如:ids=1,2,3 |
| data | array | 可选 | 待更新的数据,需要JSON编码后传递。格式:data={"字段名1":"字段值1","字段名2":"字段值2"...}。JSON在线解析及格式化验证(data和data_X二选一) |
| data_X | string | 可选 | 动态参数,优先于data的JSON数据。可自由传入动态参数,字段名组合格式:data_ + X(X要换成你的字段名),例如数据表单标题title字段,组合后为:&data_title=YesApi,等效于:&data={"title":"YesApi"}。可以同时传入多个动态参数,例如:&data_title=YesApi&data_year=2020,比JSON格式更方便(data和data_X二选一) |
## 返回字段
| 返回字段 | 类型 | 说明 |
|--------|------|------|
| ret | int | 接口状态码,`200`表示成功,`4xx`表示客户端非法请求,`5xx`表示服务端异常 |
| data | object/array/混合 | 接口返回的业务数据,由不同的API接口决定不同的数据返回字段和结构。当`return_data=1`时,接口只会返回此`data`字段。|
| msg | 字符串 | 提示信息,面向技术人员的帮助或错误提示信息,成功返回时为空字符串 |
| data.err_code | int | 状态操作码,0成功;1开发类错误,更新失败(不符合表字段要求,或表字段不存在);2应用层规则拦截,拦截后可以小白开放平台查看日记;3更新失败(数据已删除或不存在)|
| data.err_msg | string | 错误提示信息,err_code非0时参考此提示信息|
| data.update_total | int | 成功更新的数量|
## 请求示例
```bash
curl -X POST "http://`你的API接口域名`/?s=App.Table.MultiUpdate&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.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表示服务端异常,查看异常错误码 |
| data | object/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密钥字符串),若需要关闭或开启请提交工单 |
接口路径(新):http://api.yesapi.net/api/App/Table/FreeUpdate
接口路径(旧):http://api.yesapi.net/?s=App.Table.FreeUpdate
接口描述: 改批量 功能更强大的更新操作,可以根据自定义的多个条件(AND或者OR),更新指定的数据。为防止误更新全表数据,必须至少有一个有效条件。
| 参数名字 | 参数类型 | 是否必须 | 默认值 | 备注 | 参数说明 |
|---|---|---|---|---|---|
| app_key | 字符串 | 必须 | 最小:32 | 公共参数 开发者应用的app_key,点击查看,或免费注册。 | |
| sign | 字符串 | 可选 | 公共参数接口签名,其中: | ||
| uuid | 字符串 | 可选 | 公共参数 UUID,当前登录的应用会员ID,即全局唯一用户ID,查看我的应用会员。传递此参数后,可以在开放平台查看每日活跃会员统计图表。uuid需要和token一起传递。 | ||
| token | 字符串 | 可选 | 公共参数 当前登录会员的会话凭证,可通过会员登录接口获得。uuid需要和token一起传递。 | ||
| return_data | 字符串 | 可选 | 公共参数 数据返回结构,其中:
| ||
| yesapi_allow_origin | 整型 | 可选 | 0 | 公共参数 是否允许跨域请求,1表示允许,0表示不允许。 | |
| model_name | 字符串 | 必须 | 表单名称(对应在小白开放平台创建时的数据库表名称),查看我的全部表单 | ||
| model_uuid | 字符串 | 可选 | 最大:32 | 表单UUID,即对应表单数据里的uuid字段。分为三种情况:
| |
| check_code | 字符串 | 可选 | 最大:64 | 待检测的口令,仅当在小白开放平台配置口令后才会对此参数进行检测,规则配置教程 | |
| logic | 枚举类型 | 可选 | and | 范围:and/or | where条件的逻辑组合,logic=and表示逻辑且,logic=or表示逻辑或 |
| where | 字符串JSON格式 | 可选 | [["id", ">=", "1"]] | SQL语句的WHERE查询条件,JSON格式,格式为:[第一组条件, 第二组条件, ……]。(where和where_X二选一,不可混用,以where_X优先) 写法1:每一组的条件格式为:["字段名", "比较符", "比较值"],其中:
写法2(Beta):每一组的条件格式可以为:MySQL条件字符串,支持嵌套、组合、函数等,功能更强大,组合更灵活,但要求:
以上两种写法可以混合使用。如果需要有效防止SQL注入,请用写法1;如果需要更强大的条件组合,并且是固定参数条件时,可用写法2。更多示例说明请参考WHERE参数介绍。 | |
| where_X | 字符串 | 可选 | 动态条件,优先于where的JSON数据,简化的where条件,更易使用但只支持部分比较符。条件格式:where_ + X(X要换成你的字段名) = 比较符(见下方) + 中横线(-) + 比较值。支持的比较符和示例如下:
||分割,如: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 客户端接入指南(如何生成签名) 开启/关闭签名
我的客户端是【XXX】,需求是【XXX】,app_key是【XXX】,请根据以下接口文档,完成API接入。
# 【 1811 自由批量更新数据接口】接口文档
**所属平台**: YesApi果创云
**接口地址**: `http://`你的API接口域名`/?s=App.Table.FreeUpdate`
**请求方式**: POST/GET
## 接口基本信息
- **功能描述**: 改批量 功能更强大的更新操作,可以根据自定义的多个条件(AND或者OR),更新指定的数据。为防止误更新全表数据,必须至少有一个有效条件。
- **返回格式**: JSON
## 请求参数说明
### 系统参数(使用Query传递)
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|--------|
| s | string | 必填 | 接口服务名,固定为`App.Table.FreeUpdate` |
| 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传递)
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| model_name | string | 必填 | 表单名称(对应在小白开放平台创建时的数据库表名称),查看我的全部表单 |
| model_uuid | string | 可选 | 表单UUID,即对应表单数据里的uuid字段。分为三种情况: model_uuid为@NULL或未提供时(默认值):如model_uuid=@NULL,即不限制uuid,可匹配任意uuid,包括uuid为空和不为空的数据纪录; model_uuid为空字符串:为空字符串时,如model_uuid=,只匹配uuid为空字符串的数据纪录(即游客数据); model_uuid为具体的值:如model_uuid=8AEA2AF1951C0376EC668A74B8CAA64A,则进行精确匹配,只匹配与表单uuid相等的数据纪录。 |
| check_code | string | 可选 | 待检测的口令,仅当在小白开放平台配置口令后才会对此参数进行检测,规则配置教程 |
| logic | enum | 可选 | where条件的逻辑组合,logic=and表示逻辑且,logic=or表示逻辑或 |
| where | array | 可选 | 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 | string | 可选 | 动态条件,优先于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 | array | 可选 | 待更新的数据,需要JSON编码后传递。格式:data={"字段名1":"字段值1","字段名2":"字段值2"...}。JSON在线解析及格式化验证(data和data_X二选一) |
| data_X | string | 可选 | 动态参数,优先于data的JSON数据。可自由传入动态参数,字段名组合格式:data_ + X(X要换成你的字段名),例如数据表单标题title字段,组合后为:&data_title=YesApi,等效于:&data={"title":"YesApi"}。可以同时传入多个动态参数,例如:&data_title=YesApi&data_year=2020,比JSON格式更方便(data和data_X二选一) |
## 返回字段
| 返回字段 | 类型 | 说明 |
|--------|------|------|
| ret | int | 接口状态码,`200`表示成功,`4xx`表示客户端非法请求,`5xx`表示服务端异常 |
| data | object/array/混合 | 接口返回的业务数据,由不同的API接口决定不同的数据返回字段和结构。当`return_data=1`时,接口只会返回此`data`字段。|
| msg | 字符串 | 提示信息,面向技术人员的帮助或错误提示信息,成功返回时为空字符串 |
| data.err_code | int | 状态操作码,0成功;1开发类错误,更新失败(不符合表字段要求,或表字段不存在);2应用层规则拦截,拦截后可以小白开放平台查看日记,3无数据更新|
| data.err_msg | string | 错误提示信息,err_code非0时参考此提示信息|
| data.update_rows | int | 更新的行数,0表示无任何更新|
## 请求示例
```bash
curl -X POST "http://`你的API接口域名`/?s=App.Table.FreeUpdate&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参数错误"
}
```请求(使用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表示服务端异常,查看异常错误码 |
| data | object/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密钥字符串),若需要关闭或开启请提交工单 |
接口路径(新):http://api.yesapi.net/api/App/Table/Get
接口路径(旧):http://api.yesapi.net/?s=App.Table.Get
接口描述: 查 根据ID,获取自定义数据表单中的数据
| 参数名字 | 参数类型 | 是否必须 | 默认值 | 备注 | 参数说明 |
|---|---|---|---|---|---|
| app_key | 字符串 | 必须 | 最小:32 | 公共参数 开发者应用的app_key,点击查看,或免费注册。 | |
| sign | 字符串 | 可选 | 公共参数接口签名,其中: | ||
| uuid | 字符串 | 可选 | 公共参数 UUID,当前登录的应用会员ID,即全局唯一用户ID,查看我的应用会员。传递此参数后,可以在开放平台查看每日活跃会员统计图表。uuid需要和token一起传递。 | ||
| token | 字符串 | 可选 | 公共参数 当前登录会员的会话凭证,可通过会员登录接口获得。uuid需要和token一起传递。 | ||
| return_data | 字符串 | 可选 | 公共参数 数据返回结构,其中:
| ||
| yesapi_allow_origin | 整型 | 可选 | 0 | 公共参数 是否允许跨域请求,1表示允许,0表示不允许。 | |
| model_name | 字符串 | 必须 | 表单名称(对应在小白开放平台创建时的数据库表名称),查看我的全部表单 | ||
| model_uuid | 字符串 | 可选 | 最大:32 | 表单UUID,即对应表单数据里的uuid字段。分为三种情况:
| |
| check_code | 字符串 | 可选 | 最大:64 | 待检测的口令,仅当在小白开放平台配置口令后才会对此参数进行检测,规则配置教程 | |
| id | 整型 | 必须 | 最小:1 | 数据ID,例如:1,2,3,…… |
查看我的接口域名、app_key和app_secrect 客户端接入指南(如何生成签名) 开启/关闭签名
我的客户端是【XXX】,需求是【XXX】,app_key是【XXX】,请根据以下接口文档,完成API接入。
# 【 1812 精确取数据接口】接口文档
**所属平台**: YesApi果创云
**接口地址**: `http://`你的API接口域名`/?s=App.Table.Get`
**请求方式**: POST/GET
## 接口基本信息
- **功能描述**: 查 根据ID,获取自定义数据表单中的数据
- **返回格式**: JSON
## 请求参数说明
### 系统参数(使用Query传递)
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|--------|
| s | string | 必填 | 接口服务名,固定为`App.Table.Get` |
| 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传递)
| 参数名 | 类型 | 必填 | 说明 |
|--------|------|------|------|
| model_name | string | 必填 | 表单名称(对应在小白开放平台创建时的数据库表名称),查看我的全部表单 |
| model_uuid | string | 可选 | 表单UUID,即对应表单数据里的uuid字段。分为三种情况: model_uuid为@NULL或未提供时(默认值):如model_uuid=@NULL,即不限制uuid,可匹配任意uuid,包括uuid为空和不为空的数据纪录; model_uuid为空字符串:为空字符串时,如model_uuid=,只匹配uuid为空字符串的数据纪录(即游客数据); model_uuid为具体的值:如model_uuid=8AEA2AF1951C0376EC668A74B8CAA64A,则进行精确匹配,只匹配与表单uuid相等的数据纪录。 |
| check_code | string | 可选 | 待检测的口令,仅当在小白开放平台配置口令后才会对此参数进行检测,规则配置教程 |
| id | int | 必填 | 数据ID,例如:1,2,3,…… |
## 返回字段
| 返回字段 | 类型 | 说明 |
|--------|------|------|
| ret | int | 接口状态码,`200`表示成功,`4xx`表示客户端非法请求,`5xx`表示服务端异常 |
| data | object/array/混合 | 接口返回的业务数据,由不同的API接口决定不同的数据返回字段和结构。当`return_data=1`时,接口只会返回此`data`字段。|
| msg | 字符串 | 提示信息,面向技术人员的帮助或错误提示信息,成功返回时为空字符串 |
| data.err_code | int | 状态操作码,0成功;1开发类错误,获取失败(符合表字段要求,或表字段不存在);2应用层规则拦截,拦截后可以小白开放平台查看日记;3获取失败(数据已删除或不存在)|
| data.err_msg | string | 错误提示信息,err_code非0时参考此提示信息|
| data.data | object | 获取的数据,并返回全部字段的数据|
## 请求示例
```bash
curl -X POST "http://`你的API接口域名`/?s=App.Table.Get&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.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表示服务端异常,查看异常错误码 |
| data | object/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密钥字符串),若需要关闭或开启请提交工单 |
接口路径(新):http://api.yesapi.net/api/App/Table/GetDocx
接口路径(旧):http://api.yesapi.net/?s=App.Table.GetDocx
接口描述: 查 根据ID,获取自定义数据表单中的数据,并生成可直接下载的word文档。HTML内容将会被作为普通文本序列化输出。注意,仅当成功时才可下载word文档,失败时依然以接口JSON结果返回。
| 参数名字 | 参数类型 | 是否必须 | 默认值 | 备注 | 参数说明 |
|---|---|---|---|---|---|
| app_key | 字符串 | 必须 | 最小:32 | 公共参数 开发者应用的app_key,点击查看,或免费注册。 | |
| sign | 字符串 | 可选 | 公共参数接口签名,其中: | ||
| uuid | 字符串 | 可选 | 公共参数 UUID,当前登录的应用会员ID,即全局唯一用户ID,查看我的应用会员。传递此参数后,可以在开放平台查看每日活跃会员统计图表。uuid需要和token一起传递。 | ||
| token | 字符串 | 可选 | 公共参数 当前登录会员的会话凭证,可通过会员登录接口获得。uuid需要和token一起传递。 | ||
| return_data | 字符串 | 可选 | 公共参数 数据返回结构,其中:
| ||
| yesapi_allow_origin | 整型 | 可选 | 0 | 公共参数 是否允许跨域请求,1表示允许,0表示不允许。 | |
| model_name | 字符串 | 必须 | 表单名称(对应在小白开放平台创建时的数据库表名称),查看我的全部表单 | ||
| model_uuid | 字符串 | 可选 | 最大:32 | 表单 |