fulfillmenttools
  • Welcome to the fulfillmenttools Platform Documentation
  • Getting Started
    • Setup your access to fulfillmenttools
    • Make your first API Calls
      • Add your first facility
      • Add your first listing
      • Place your first order
    • Core concepts & terminology
      • Order Flow
    • Postman Collection
    • Client SDKs
    • FAQ
  • Clients
    • Backoffice
      • First steps - Registration
      • Network view
        • Home
        • Orders
          • Unroutable orders
          • Pre-orders & Backorders
          • Order History
        • Inventory Management
          • Stock Overview
          • Channel Inventory
        • Facilities
        • Users
        • Returns
        • DOMS configuration
        • Settings
        • Analytics
          • DOMS Pages
          • Fulfillment Operations Pages
          • Inventory Pages
          • Downloads Page
      • Facility view
        • Home
        • Inbound
        • Tasks
        • Listings
        • Storage Locations
        • Facility
        • Users
    • Inventory app
      • Registration Inventory App
      • App sections
        • Inbound
        • Storage and relocation
    • Operations app
      • Android
        • Manual Registration
        • Android Enterprise Registration
        • Sections
          • Picking
            • Load Units (legacy)
            • Substitute items
            • Weighed or measured products
            • Scanning configuration
            • Picking Methods
              • Batch Picking
              • Multi Order Picking
          • Packing
          • Handover
          • Returns (legacy)
        • Printing
        • Notifications
      • Webapp
        • Packing
      • Overview features Android & Webapp
    • Technical requirements
      • Zebra Hardware Scanner Configuration
      • Honeywell Hardware Scanner Configuration
      • Supported barcodes for camera scanning
      • Requirements for fft applications
      • Zebra printer
    • Returns app
      • Handle unannounced returns
      • Handle announced returns
  • Products
    • Core Functionality
      • Process
        • External actions
      • Add and manage facilities
      • Notification Center
      • Checking on features
      • Tags and Stickers Concept
      • GDPR
      • Remote Configuration
      • Expiry
      • Target time
      • Time calculation for queries of future availabilities (LPS-calculation)
      • Interfacility Transfer
    • Carrier Management
      • Overview
        • Available Carriers
      • Concepts
        • Carrier Country Service Mapping (CCSM)
        • Non-delivery-days
        • Custom Carrier & Headless operation of Carriers
      • Providing needed data
    • Fulfillment Options
      • Fulfillability Check
      • Checkout Options
        • Available fulfillment options based on basket
        • Earliest possible delivery date
        • Available delivery dates within time-period
        • Availability for delivery date
      • Delivery Promise
    • Inventory Management
      • Configurations
      • Entities
        • Listing
        • Stock
          • Stock Properties
        • Storage Location
        • Zone
      • Global Inventory
        • Stock availability
        • Channel Inventory
        • Expected stock
        • Inbound Process
        • Reservations
        • Safety Stock
      • Inventory Control
        • Inventory Traits
        • Measurement Units
        • Outbound Inventory Tracking
        • Storage Location Recommendations
    • Order Fulfillment
      • Headless Order Fulfillment
      • Pick Jobs
      • Zone picking
      • Load Units
      • Custom Service
      • Handover Jobs
      • Add External Documents
      • Configurations
        • Picking Configuration
          • Picking methods
          • Short Pick Reasons
        • Packing Configuration
          • Packing Container Types
        • Print / Document Configuration
        • Tag Configurations
          • Parcel Tag Configuration
        • Handover Configuration
        • Operative Container Types
    • Order Routing
      • Entities
        • Ship-from-Store Orders
        • Click-and-Collect Orders
        • Locked Orders
        • Custom Services Orders
          • Simple Custom Service Order
          • Complex Custom Service Order
      • Fences
      • Ratings
      • Order Split
        • Order split - initial routing
        • Order split after shortpick
        • Item bundles
      • Reroute
      • Shape the routing with the DOMS Toolkit
      • Decision logs
    • Returns Management
      • Returns legacy
        • Available status
      • Returns 2.0
        • Return Reasons
        • Item Conditions
        • Integrating Returns with Events
    • Use Cases
      • Demand-Driven Replenishment
      • Expected stock in availability
      • Multi Order Picking
      • Interfacility transfer
      • Assigned Users
  • Connecting to fulfillmenttools
    • General Topics
      • Use external identity providers to authenticate to fulfillmenttools
        • Microsoft Entra ID / Azure Active Directory (AD)
      • Public Event Export
      • Available Regions
      • Backup Policies
    • GraphQL API
    • RESTful API
      • General Topics
        • API Release Life Cycle
        • Versioning
        • Authorization
        • Customization via Attributes
        • Update Guarantees
        • Rate Limits
        • Resource Timestamps
        • Pagination Interface
        • Localization
        • Custom Attributes
      • OpenAPI Specification
        • Swagger UI
        • OpenAPI 3.0 Spec
    • Eventing
      • Structure of an Event
      • Available Events
      • Tutorial
    • commercetools Connect
    • Integration Tutorial
      • Adding facilities
      • Adding listings to facilities
      • Configuring stocks
      • Carrier configuration
      • Placing orders
      • Checkout Options
      • Distributed Order Management System (Routing)
      • Local fulfillment configuration
  • Incident Reporting
    • How to report incidents in fulfillmenttools
    • How to define incident priorities
  • Release Notes
    • Release Summary – May 2024
    • Release Summary – June 2024
    • Release Summary – July 2024
    • Release Summary – August 2024
    • Release Summary – September 2024
    • Release Summary – October 2024
Powered by GitBook
On this page
  • Example
  • Attribute Inheritance
  • Limitations

Was this helpful?

  1. Connecting to fulfillmenttools
  2. RESTful API
  3. General Topics

Customization via Attributes

PreviousAuthorizationNextUpdate Guarantees

Last updated 5 months ago

Was this helpful?

This page is outdated. Please go to our new documentation under .

Attributes are used in the fulfillmenttools platform in order to impose a certain degree of customization to a process, such as improving the appearance in the platform and clients. Currently, we support these different categories of attributes:

Category
Comment

descriptive

key and value are shown in our Clients, like the App or the Backoffice, below the line item. They can be used to beef up the displayed data in order to ease processing, e.g. the packaging type or a storage location.

pickingSequence

defines the sequence how line items are ordered during picking.

miscellaneous (default)

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

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

this attribute is for insurance related data and can have keys like 'valuePerUnit' and 'currency'.

shop

this attribute is for customer shop price and can have keys like 'valuePerUnit' and 'currency'.

this attribute is for dimensions and has keys 'weightPerUnit', 'height', 'width', 'length'.

The special key %%subtitle%% can be used to show the descriptive attribute directly below the line item in our clients.

The special key BRAND (miscellaneous attribute) can be used to add the information about the brand of the product. This enables filtering and searching by the brand in the Backoffice.

The special key %%weightPerUnit%% must be greater than zero.

The special key %%valuePerUnit%% must be greater or equal to zero.

The special key %%hsCode%% must be string and cannot be empty. Using an 8-digit HS code is recommended.

With the priority property you can order the respective attribute category. The lower the value the higher is the priority, e.g. priority 1 is higher than priority 10. Attributes that have the highest priority might be selected for display in different articles in our clients. The smallest allowed value is 1, the maximum allowed value is 1000. Default Value is 1001.

For categories 'customs', 'insurance', 'shop' and 'dimensions', it is mandatory to fill a new field called type. This field shows the type of the key. The type can be CURRENCY (validation ), NUMBER or STRING. For other categories field type is optional.

When several currency keys are declared in attributes, all must just 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:

Attribute Inheritance

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

Limitations

Attributes are supplied as lists. The attributes field has a limit of 15360 chars in total (the whole object serialized as string). This approximately corresponds to 15 attributes with around 1024 chars each. You get an error 400 if you try to create or update an entity which exceeds this limits.

A full working example creating an order using attributes can be found here:

https://docs.fulfillmenttools.com/documentation
ISO-4217
Click and Collect Orders
customs
insurance
dimensions
client displays subtitle and other attributes including their keys
Example of Attributes