Article attributes

Article attributes can be used in the fulfillmenttools platform to impose a certain degree of customization to a process, such as improving the appearance of the platform and clients.

Don't confuse attributes with customAttributes mentioned in Custom attributes.

For example, an entry of the attributes model looks like the following:

{
    "category": "descriptive",
    "type": "STRING",
    "priority": 100,
    "key": "Farbe",
    "keyLocalized": {
        "de_DE": "Farbe",
        "en_US": "Color"
    },
    "value": "Blau",
    "valueLocalized": {
        "de_DE": "Blau",
        "en_US": "Blue"
    }
}

The priority property sorts the attributes in a client. The smallest allowed value is 1, the maximum allowed value is 1000, and the default value is 1001.

Supported categories

Category
Comment

descriptive

key and value are shown in our clients, like the Android App or the Backoffice. They can be used to beef up the displayed data in order to ease processing.

pickingSequence

Defines the sequence of how line items are ordered during picking.

miscellaneous (default)

Is currently not used by the fulfillmenttools clients. Exception with key BRANDS, see the info box below.

customs

Has keys like valuePerUnit, hsCode and currency. Other keys are possible for this attribute.

insurance

Is for insurance-related data and can have keys like valuePerUnit and currency.

shop

Is for customer shop price and can have keys like valuePerUnit and currency.

dimensions

Is for dimensions and has keys weightPerUnit, height, width, length.

For categories customs, insurance, shop and dimensions, it is mandatory to fill the field type. The type can be CURRENCY (ISO-4217), NUMBER or STRING. For other categories, the field type is optional.

Special keys

Special keys are predefined fulfillmenttools keys that have a function on our platform.

Key
Comment

%%subtitle%%

Can be used in the context of the descriptive categoryto show the attribute directly below the line item in our clients.

BRAND

It can be used to add information about the brand of the product. This enables the brand to filter and search in the Backoffice. Used in the context of the miscellaneous category.

%%weightPerUnit%%

Must be greater than zero.

%%valuePerUnit%%

Must be greater or equal to zero.

%%hsCode%%

Must be a string and cannot be empty. Using an 8-digit HS code is recommended.

When several currency keys are declared in attributes, all must refer to one value, for example, only USD or EUR. Using different currencies within the same attribute set is not valid.

Example

When you create an order you can add attributes as ArticleAttributeItems on the article within the line items. Let's assume that we want to display the brand of the article as subtitle and other product information in the fulfillmenttools apps. This could be the line item which you add to the order:

{
  "quantity": 2,
  "article": {
    "tenantArticleId": "111222333",
    "title": "T-Shirt",
    "imageUrl": "https://loremflickr.com/320/240/shirt",
    "attributes": [
      {
        "key": "%%subtitle%%",
        "value": "Super Brand",
        "category": "descriptive",
        "priority": 100
      },
      {
        "key": "Color",
        "value": "white",
        "category": "descriptive",
        "priority": 101
      },
      {
        "key": "Size",
        "value": "M",
        "category": "descriptive",
        "priority": 102
      }
    ]
  }
}

These attributes are going to show in the clients like this:

Article attribute inheritance

Custom attributes are inherited during the creation of entities within the fulfillmenttools platform. If you supply custom attributes to order line items, the pick job line items will also have these custom attributes. In general, all subsequent entities will inherit these attributes. If you additionally supply attributes to listings, these will be taken as a fallback.

Limitations

Each attributes object has a limit of 15360 chars (the whole object is serialized as a string). This approximately corresponds to 15 objects with around 1024 chars. The API responds with an HTTP error code 400 if you try to create or update an entity that exceeds this limit.

Last updated