Custom attributes
Custom attributes can be added to all editable fulfillmenttools entities.
You can store any relevant data for the entity you want (within reason) if our current properties don't fit your needs.
There's no schema to follow, and there's no validation from our side. You're free to work with the data as you wish, as long as you follow the limitations section.
Some entities display the custom attributes in Backoffice, such as the Network order details view, but others are only accessible via API.
Example use cases for custom attributes include storing a consumer rating for a shop, specifying a consumer segment, indicating how to access a facility, or defining a foreign key that relates to data in a connected system.
Using custom attributes
If you see the customAttributes field within the fulfillmenttools entity, you can add any relevant data to it, whether that be from integrations or other services outside of fulfillmenttools.
Within the relevant entity, you can add the customAttributes object. For example, in the code extract below, we've added our own customAttributes as part of the facility entity:
{
...
"name": "Nerd Herd Clothing",
"type": "MANAGED_FACILITY",
"customAttributes": {
"accessibility": "Stairs only",
"storageSize": "Medium",
"staff": 12
},
...
}The customAttributes are stored and can be retrieved through the various fulfillmenttools APIs.
Limitations
Although you can add the data that you wish to a custom attribute, it needs to follow the limitations below:
Each
customAttributesobject is serialized into a string and is subject to a size limit of 15,360 characters. You'll get an HTTP 400 error if creating or updating an entity exceeds this limit.Keys within a
customAttributesobject must not start with a$character and must not contain a.character.Follow our responsible API usage guidelines.
You're responsible for the data, including regulations that fall under GDPR or similar.
Inheritance
Custom attributes are inherited when creating entities in fulfillmenttools.
For example, when customAttributes are supplied for order line items, the resulting pick job line items also contain these customAttributes.
In general, all subsequent entities inherit these customAttributes.
Last updated
Was this helpful?

