Collection.SetCustomField
  • 25 May 2021
  • 1 Minute to read
  • Contributors
  • Dark
    Light
  • PDF

Collection.SetCustomField

  • Dark
    Light
  • PDF

Article Summary

Description

Set a custom field to a value on a specified collection.

URL parameters

URL parameter ordering

The URL parameters below are listed in the order they should be entered in the API URL.

NameRequiredTypeDescription
CollectionIDTruestringCollection ID number.
CustomFieldNameTruestringName of the custom field.
CustomFieldValueFalsestringValue for the custom field. If excluded, the value will return to the default value for the account.

Request body (optional)

The collections and values of the custom field you want to edit in bulk. You can format these in XML or JSON.

Custom Field Bulk Edit

When updating in bulk you still must specify the single custom field you are working with but can specify multiple CollectionID's and different values.

XML

NameRequiredTypeDescription
FileFalseXMLA file containing the collections with values for the custom field. POST using Content-Type multipart/form-data.
<ItemList>
	<Item>
		<CollectionID>1005</CollectionID>
		<Value>asd</Value>
	</Item>
	<Item>
		<CollectionID>1006</CollectionID>
		<Value>Vasd</Value>
	</Item>
	<Item>
		<CollectionID>1004</CollectionID>
		<Value>Value4</Value>
	</Item>
</ItemList>

JSON

NameRequiredTypeDescription
POSTDATAFalseJSONJSON array of collections with values for the custom field. POST using Content-Type application/x-www-form-urlencoded.
[
  { "CollectionID": "1002", "value": "update2" },
  { "CollectionID": "1003", "Value": "update3" },
  { "CollectionID": "1004", "Value": "update4" },
  { "CollectionID": "1005", "Value": "update5" }
]

Responses

NameTypeDescription
ResultstringSuccess if the operation was successful.
CollectionIDstringCollection ID number.
<FieldName>*stringThe set value for the field.

*When the user sends a bulk request, it will return an ItemList with each CollectionID and <FieldName>.

Sample requests

GET with collection, custom field and value specified in the URL

curl -X GET 'https://api.mozenda.com/rest?WebServiceKey=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX&Service=Mozenda10&Operation=Collection.SetCustomField&CollectionID=1022&CustomFieldName=TestBoy&CustomFieldValue=test'

POST - XML body

curl -X POST 'https://api.mozenda.com/rest?WebServiceKey=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX&Service=Mozenda10&Operation=Collection.SetCustomField&CustomFieldName=TestBoy'
-F 'file=@/path/to/file.xml'

POST - JSON body

curl -X POST 'https://api.mozenda.com/rest?WebServiceKey=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX&Service=Mozenda10&Operation=Collection.SetCustomField&CustomFieldName=TestBoy'''
-d '[ { "CollectionID": "1002", "value": "update2" }, { "CollectionID": "1003", "Value": "update3" }]'

Sample responses

XML

<?xml version="1.0" encoding="utf-8"?>
<CollectionSetCustomFieldResponse xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <Result>Success</Result>
    <ItemList>
        <Item>
            <CollectionID>1002</CollectionID>
            <myfield>update2</myfield>
        </Item>
        <Item>
            <CollectionID>1003</CollectionID>
            <myfield>update3</myfield>
        </Item>
        <Item>
            <CollectionID>1004</CollectionID>
            <myfield>update4</myfield>
        </Item>
        <Item>
            <CollectionID>1005</CollectionID>
            <myfield>update5</myfield>
        </Item>
    </ItemList>
</CollectionSetCustomFieldResponse>

JSON (add &ResponseFormat=JSON)

{
   "CollectionID":1022,
   "TestBoy":"test",
   "JsonResult":{
      "Command":"Collection.SetCustomField",
      "AutoLoggedIn":false,
      "WebConsoleKey":"",
      "Result":"Success",
      "ErrorCode":"",
      "ErrorDescription":"",
      "ErrorList":[
         
      ],
      "ExecutionTime":{
         "Ticks":0,
         "Days":0,
         "Hours":0,
         "Milliseconds":0,
         "Minutes":0,
         "Seconds":0,
         "TotalDays":0,
         "TotalHours":0,
         "TotalMilliseconds":0,
         "TotalMinutes":0,
         "TotalSeconds":0
      }
   }
}

Was this article helpful?