开放接口更新主数据记录
开放接口更新主数据记录
路径 | /industry/masterdata/record/write |
版本号 | 1.0.5 |
协议 | HTTPS |
请求方法 | POST |
是否需要用户身份鉴权 | 否 |
超时时间 | 5000 |
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
dataId | Long | 否 | 1234 | 元数据的id。dataId和metaDataName必须传一个 |
action | String | 是 | INSERT | 表示当前操作的类型,目前支持的操作: INSERT/MODIFY/ARCHIVE。INSERT操作插入的数据默认就是已发布状态 |
nodes | List | 否 | ["asset_num", "brevity_code", "equipment_model","usable_condition"] | 数据记录的字段名列表。对于INSERT/UPDATE操作,该字段必填;对于ARCHIVE,该字段会被后台忽略。例如生产设备主数据有固定资产编号(asset_num)、简码(brevity_code)、所属设备型号(equipment_model)、使用状态(usable_condition)四个属性,要操作人员主数据记录的话,这个字段就传["asset_num", "brevity_code", "equipment_model","usable_condition"] |
data | String | 否 | 对于INSERT操作,data是二维数组的字符串格式;对于MOFIFY操作,data是一维数组的字符串格式;对于ARCHIVE操作,忽略nodes和data字段。例如入职了一位名为张三、手机号为1390000****的员工,工号为2019****,如果nodes传的是["id", "name", "phone"], 那么用该字段表示为"[[2019****, \"张三\", \"1390000****\"]]" 改成 例如新采购了一台设备固定资产编号为EQ****、简码为NEQ、属于X品牌的冲压机(设备型号的编码为XP),状态为新建,如果nodes传的是["asset_num", "brevity_code", "equipment_model","usable_condition"], 那么用该字段表示为"[[\"EQ****\", \"NEQ\", \"XP\", 1]]" | |
condition | Struct | 否 | {"col": "phone", "op": "EQUAL", "value": "XXXXX"} | 更新操作的具体条件。该字段对INSERT操作无意义。例如人员主数据记录中有一个属性的为phone,查询某个特定手机号的人员信息,可以这么指定condition: "condition": {"col": "phone", "op": "EQUAL", "value": "XXXXX"} |
op | String | 否 | 逻辑操作,目前支持的有, AND, OR, EQUAL, NOT_EQUAL, LESS_EQUAL, GREATER_EQUAL, LESS, GREATER, IN, NOT_IN, LIKE, NOT_LIKE, NOTNULL, ISNULL | |
col | String | 否 | 列名,逻辑操作的左值 | |
value | String | 否 | 逻辑操作的右值。如果操作符op是EQUAL, NOT_EQUAL, LESS_EQUAL, GREATER_EQUAL, LESS, GREATER, LIKE, NOT_LIKE中的其中一个时,value是一个字符串,表示待比较的值;如果操作符op是IN, NOT_IN,value则是一个字符串列表,表示操作数的集合; 如果操作符op是AND/OR, value无效,这时候需要指定子级condition | |
condition | List | 否 | 查询的过滤条件 | |
op | String | 否 | 逻辑操作,目前支持的有, AND, OR, EQUAL, NOT_EQUAL, LESS_EQUAL, GREATER_EQUAL, LESS, GREATER, IN, NOT_IN, LIKE, NOT_LIKE, NOTNULL, ISNULL | |
col | String | 否 | 列名,逻辑操作的左值 | |
value | String | 否 | 逻辑操作的右值。如果操作符op是EQUAL, NOT_EQUAL, LESS_EQUAL, GREATER_EQUAL, LESS, GREATER, LIKE, NOT_LIKE中的其中一个时,value是一个字符串,表示待比较的值;如果操作符op是IN, NOT_IN,value则是一个字符串列表,表示操作数的集合; 如果操作符op是AND/OR, value无效,这时候需要指定子级condition | |
condition | List | 否 | 查询的过滤条件 | |
op | String | 否 | 逻辑操作,目前支持的有, AND, OR, EQUAL, NOT_EQUAL, LESS_EQUAL, GREATER_EQUAL, LESS, GREATER, IN, NOT_IN, LIKE, NOT_LIKE, NOTNULL, ISNULL | |
col | String | 否 | 列名,逻辑操作的左值 | |
value | String | 否 | 逻辑操作的右值。如果操作符op是EQUAL, NOT_EQUAL, LESS_EQUAL, GREATER_EQUAL, LESS, GREATER, LIKE, NOT_LIKE中的其中一个时,value是一个字符串,表示待比较的值;如果操作符op是IN, NOT_IN,value则是一个字符串列表,表示操作数的集合; 如果操作符op是AND/OR, value无效,这时候需要指定子级condition | |
source | String | 否 | SAAS | 参数来源源,枚举值,钉钉填写DINGDING,多租户saas应用填SAAS,source、corpId、userId配合使用 |
corpId | String | 否 | 企业标识,每个企业拥有唯一的CorpID,比如钉钉corpID、LH里面的appId,用参数source来区分参数含义 | |
userId | String | 否 | 员工在当前企业内的唯一标识,比如钉钉userId或者IoT的employeeId | |
metaDataName | String | 否 | 物料 | 元数据名称。dataId与metaDataName必须传一个 |
platform | String | 否 | INDUSTRY_PLATFORM_OPERATION表示行业平台, REGION_PLATFORM_OPERATION表示区域平台 |
返回数据
名称 | 类型 | 示例值 | 描述 |
code | Int | 响应码, 200: 成功 | |
message | String | 错误消息 | |
localizedMsg | String | 本地语言错误消息 | |
data | JSON | 响应结果,返回数据唯一键跟ID的映射列表 | |
code | String | 唯一键的标识 | |
dapId | Long | 对应的主数据的id | |
dapRowVersion | String | 主数据的版本号,对于非多版本的主数据,可以忽略这个字段 |
示例
请求示例
{
"id": "1509086454180",
"version": "1.0",
"request":{
"apiVer": "1.0.5"
},
"params":{
"dataId":1234,
"action": "INSERT",
"nodes":[
"asset_num",
"brevity_code",
"equipment_model",
"usable_condition"
],
"data": "value3",
"condition":{
"col": "phone",
"op": "EQUAL",
"value": "XXXXX"
},
"source": "SAAS",
"corpId": "value6",
"userId": "value7",
"metaDataName": "物料",
"platform": "value9"
}
}
正常返回示例
JSON
格式
{
"id": "4de2c367-c1db-417c-aa15-8c585e595d92",
"code": 200,
"message": null,
"localizedMsg": null,
"data": [{
"code": "code",
"dapId": 1
}]
}
异常返回示例
JSON
格式
{
"id": "37f7e5fa-d6a5-4efe-8abf-5bf23dca6284",
"code": 403,
"message": "request forbidden.",
"localizedMsg": "请求被禁止",
"data": null
}
错误码
HttpCode | 错误码 | 错误信息 | 描述 |
500 | 500 | Internal Error | Internal Error |
503 | 503 | Service Unavailable | Service Unavailable |
403 | 403 | Request Limited | Request Limited |
401 | 401 | Empty Signature | Empty Signature |
400 | 400 | Request Format Error | Request Format Error |
200 | 20003 | Find Backend Error | Find Backend Error |
200 | 20004 | Backend Service Error | Backend Service Error |
200 | 20055 | Backend Service Invalid | Request Format Error |
200 | 20056 | Hsf Invoke Timeout | Hsf Invoke Timeout |
200 | 401 | Request Authorized Error | Request Authorized Error |
200 | 403 | Request Forbidden | Request Forbidden |
200 | 500 | Server Error | Server Error |