DC 5.4 Setting metadata on an asset

This explains how BatchUpdate is used for setting metadata on an asset

URL : /BatchUpdateService.js

Method : POST

Auth required : Yes

Required parameters

NameExampleDescription
accessKeyeb774621-1c2f-467b-b006-a8efa67094a7accessKey that grants access to the API

The updateXML and values is send as forms data and it looks like this:

updateXML

<r>
	<asset fieldId="MetaDataUpdate">
		<metafield fieldId="MetaFieldLabelid_50723" labelId="50723"/>
		<metafield fieldId="MetaFieldLabelid_51867" labelId="51867"/>
		<metafield fieldId="MetaFieldLabelid_51876" labelId="51876"/>
	</asset>
</r>

values

[{
	"Id": "MetaDataUpdate",
	"FieldId": "MetaDataUpdate",
	"ContainerType": 7,
	"RowId": 1,
	"Values": [{
		"FieldId": "MetaFieldLabelid_50723",
		"Type": 1,
		"Values": ["Desert title 2"]
	},
	{
		"FieldId": "MetaFieldLabelid_51867",
		"Type": 6,
		"Values": [51603]
	},
	{
		"FieldId": "MetaFieldLabelid_51876",
		"Type": 17,
		"Values": ["test 1"]
	}],
	"ItemIds": ["10313"]
}]


cUrl data example

curl -X POST \
'/dmm3bwsv3/BatchUpdateService.js?accesskey=eb774621-1c2f-467b-b006-a8efa67094a7' \
-H 'Cache-Control: no-cache' \
-H 'Content-Type: application/json' \
-H 'Postman-Token: 2fc4dd60-8895-0341-5fed-46b57912981d' \
-H 'content-type: multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW' \
-F 'updateXML=<r><asset fieldId="MetaDataUpdate"><metafield fieldId="MetaFieldLabelid_50723" labelId="50723"/><metafield fieldId="MetaFieldLabelid_51867" labelId="51867"/><metafield fieldId="MetaFieldLabelid_51876" labelId="51876"/></asset></r>' \
-F 'values=[{"Id":"MetaDataUpdate","FieldId":"MetaDataUpdate","ContainerType":7,"RowId":1,"Values":[{"FieldId":"MetaFieldLabelid_50723","Type":1,"Values":["Desert title 2"]},{"FieldId":"MetaFieldLabelid_51867","Type":6,"Values":[51603]},{"FieldId":"MetaFieldLabelid_51876","Type":17,"Values":["test 1"]}],"ItemIds":["10313"]}]'

Success Response

Code : 200 OK

Content example

{
	"success": true,
	"total": 0,
	"error": "",
	"items": [{
		"Id": "MetaDataUpdate",
		"FieldId": "MetaDataUpdate",
		"ItemId": 10313,
		"BaseId": 113,
		"TestFase": false,
		"VersionId": null,
		"ChangesetId": 0,
		"Warnings": []
	}],
	"warnings": []
}

Error Response

Code : 200 OK

Content  example

{
	"success": false,
	"total": 0,
	"error": "A critical exception occurred while we were executing the search(Access denied, login first).\r\n",
	"items": null,
	"warnings": [{
		"Severity": 150,
		"Code": 420,
		"Description": "A critical exception occurred while we were executing the search(Access denied, login first)."
	}]
}