开放接口更新主数据记录

路径 /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