Account Configuration

Besides managing accounts and their base attributes such as name, imageUrl and the account's defaultUrl you can also define and manage account-specific configuration attributes.

This API gives you the possibility to define and manage configurations such as your account's unique identifiers settings, your custom dashboards, your labelling designations, and more.

You are still able to read all configurations at the parent Accounts API under the configuration JSON object, however, this configuration API allows you to manage each specific attribute without running the risk of deleting/editing other configuration traits unintentionally.

API Status General Availability: /accounts/:accountId/configuration/activateApplication /accounts/:accountId/configuration/bi /accounts/:accountId/configuration/brandIntegrity /accounts/:accountId/configuration/brands /accounts/:accountId/configuration/consumerEngagement /accounts/:accountId/configuration/dashboards /accounts/:accountId/configuration/epcisCaptureApp /accounts/:accountId/configuration/epcisCloudSync /accounts/:accountId/configuration/gs1ApplicationIdentifiers /accounts/:accountId/configuration/resourceSchemas /accounts/:accountId/configuration/supplyChain /accounts/:accountId/configuration/uniqueIdentifiers

AccountConfigurationDocument Data Model

Object containing account related configuration.

.bi (AccountConfigurationBiDocument)
    Configuration for Business Intelligence integrations.

.brands (array of string, max. 25)
    An array of brand strings that one can find in a product 
    resource.

.consumerEngagmentment (AccountConfigurationConsumerEngagementDocument)
    Definitions for the Amplify dashboard within the Product 
    Cloud.

.dashboards (array of AccountConfigurationDashboardsDocument)
    Configuration of custom dashboards associated with the 
    account

.labels (AccountConfigurationLabelsDocument)
    Labels for specific identifiers on a given resource type, 
    such as products.

.regions (array of AccountConfigurationRegionsDocument)
    A list of regions that you use to support web applications 
    and the way they interact with world-wide actions on your 
    resources.An array of regions with specific ISO country 
    codes.

.resourceSchemas (AccountConfigurationResourceSchemasDocument)
    Schemas associated with specific resources, such as products 
    or places.

.types (AccountConfigurationTypesDocument)
    An array of resource type schemas for a given resource type, 
    such as Thngs.

.uniqueIdentifiers (AccountConfigurationUniqueIdentifiersDocument)
    Object containing lists of identifier keys which are meant 
    to be unique for a particular entity.
TODO

Read All Configurations

To read all the existing configurations you should use the Accounts API.

Enable Configurations for your account

The configuration attribute on an account resource is not a mandatory field. Therefore, in order to make any configuration management via this API, you should make sure you first add a configuration JSON object to your account resource.

You can do that via the Accounts API as so:


Read an Account Configuration

Read an account configuration by its ID and resource name by sending a GET request to the /accounts/:accountId/configuration/:resourceName endpoint.


Add or Update an Account Configuration

Add or update account configurations by sending a PUT request to the /accounts/:accountId/configuration/:resourceName endpoint.

Remember to use the payload specified for the resourceName you want, check them out in the AccountConfiguration Data Model section above.

Delete an Account Configuration resource

You can delete an entire configuration resource by making a DELETE request to the /accounts/:accountId/configuration/:resourceName endpoint.

Caution!

Deleting the configuration resource will delete all fields within that configuration attribute, regardless of its type (object, array, string, etc). \nDeleting particular fields within a configuration object is not supported.


Unique identifiers

Follow the syntax below for updating unique identifier account configuration.

Products

A single unique identifier per Product is supported.

Unique Identifiers are a list of identifier keys for products or thngs. For example, if your array consists of ["gs1:01", "gs1:22", "gs1:8003"], then any product that has one or more of those identifier keys will have a unique identifier value associated with it.

The unique identifier is additive in array order, so if the product has multiple qualifying identifier keys then the unique identifier for the product will be a pipe-delimited concatenation of these values, e.g. gs1:01:1234|gs1:22:5678.

Attempting to create or update another Product with the same unique identifier will result in a 409 conflict error response.


Thngs

Multiple unique identifiers per Thng are supported.

Each object represents a potential matching unique identifier on a Thng, so the maximum possible number of unique identifiers for a given Thng is equal to the number of objects in the array.

Thng identifier uniqueness supports concatenation of the Thng's Product identifier and one or more Thng identifiers.

For example, consider the following payload:

If a Thng has the following identifiers: gs1:21:10230456, gs1:250:AxBCxDEF

And its associated Product has the following identifier: gs1:01:90870654

Then two unique identifier values will be created: gs1:01:90870654|gs1:21:10230456, gs1:250:AxBCxDEF

Attempting to create or update another Thng with the same gs1:250 value, or the same combination of gs1:01 (on the Product) and gs1:21 (on the Thng) values will result in a 409 conflict error response

The combination of a gs1:01 identifier key on a Product and a gs1:21 identifier key on a Thng is also known as a Serialized GTIN, or SGTIN. This data can also be embedded in an RFID tag as an Electronic Product Code, or EPC.