Customizations & Extensibility

Custom Attributes

Tulip provides a mechanism for extending Tulip business data objects to reflect client-side specifics through custom attributes (or custom fields). These are are general-purpose extensions to objects in the Tulip data model. They consist of two parts: attributes and attribute values, and are used to construct key-value pairs that can be attached to clients' business data records on the Tulip platform.

Tip: Custom attribute keys can hold localized data; make sure you specify the type of such data as string.

Using attributes involves these steps:

  1. Create the keys of a new key/value pair to make that attribute available for a particular resource.
    This is done by POSTing an attribute to its .../{resource}Attribute endpoint.
    The externalId field of an Attribute is the string that will be used as the key in the key/value pair.

  2. Attach attribute values to the required record using that resource’s attributeValues field.
    The attributeId field of an Attribute Value is a foreign key to the attribute that we created (representing the key of that key/value pair), and the value field represents the value of that key/value pair.
    Attribute values can be localized by specifying a Language ID in its languageId field. See more on localized data.

Attributes in Bulk API targets:

  • Attributes are not absolutely necessary for bulk data loading using the API service and should be deemed as a mechanism of additional information for the purpose of future usage. The details of synching custom fields will depend on specific customization requirements provided by clients; these are usually agreed upon in advance.
  • Tulip mobile application features are built to operate on the core schema only, and attributes may not surface in apps automatically.
  • If these additional Attributes are necessary on each record, then they must be created first before Category records are themselves created.