On most objects enabled for creation and update in BFS API it is possible to add and update an array of CustomFields. This enables the users of the API to add their own customized objects.
A CusomField object consists of two properties, FieldName and Value. Both are strings, so the user is responsible to handle any conversions on their own side when reading the properties.
When updating CustomFields, BFS updates the existing CustomField if it exists (FieldName is key), if it dont exists, BFS see it as a new CustomField and adds it to existing.
If the customer wants to remove an existing CustomField, this is done by setting Value to null and update the object.
This is an example of how we store the CustomFields in the database (in this exampel a on a Person object)
If the customer wants to update CustomField_1 and set the value to Value_modified, this is done by updating the user with the new info
If the customer wants to remove CustomField_1, this is done by setting the value to null
Other CustomFields that allready exists will not be changed.
If the customer wants to add a new CustomField, CustomField_3, this is done by updating the person with the new CustomField.
CustomFields that allready exists will not be changed.