Documentation

Identifiers and fields

Product id

Most GET paths identify a unit as GTIN, a dot, then the target market country code:

{GTIN}.{country}

The country code is the GS1 target market code: the ISO 3166-1 numeric code, three digits, sent as a string. Keep leading zeros, for example 040 for Austria and 208 for Denmark.

A GS1 company-prefix range, such as 570–579 on a Danish GTIN, is a different number. An alpha-2 code such as DK is a different standard.

Example used throughout the API: 01234567890123.208. A product id without a dot is rejected.

GTIN (D8165) must be digits only.

The instance accepts the codes on its D8255 keyword list. Read that list with GET /api/keywords/D8255/{targetMarket}.

Field ids

Field ids are case-sensitive: D8165, not d8165.

Prefix Meaning
D GDSN fields, for example GTIN (D8165) and product name (D8258)
E Own fields on the instance, for example assortment or category
X System fields, for example X9000 (ready for GS1)

Use /api/fields for the catalogue on the instance.

Required fields on write

Create or update with JSON field ids, not labels.

Field Meaning
D8165 GTIN
D8255 Target market country code (ISO 3166-1 numeric, three digits, as a string)
D8276 Unit type. Required when creating a new product. Must not be sent as blank.

Example:

{
  "D8165": "01234567890123",
  "D8255": "208",
  "D8276": "BASE_UNIT_OR_EACH",
  "D8258_1": "Test product",
  "D8259_1": "en"
}

Unit types

When a path or body asks for unit type, use:

  • BASE_UNIT_OR_EACH
  • CASE
  • DISPLAY_SHIPPER
  • PALLET

You can also look a product up by internal item number D8256 with:

GET /api/details/{unitType}/{targetMarket}/{itemId}/{exportProfileId}

Grid fields

Repeating values (names, languages, nutrients, and similar) are grid fields. In JSON they use the field id plus _ plus a 1-based row index: D8258_1, D8259_1. Sending a grid field without a row index is rejected. Sending a non-grid field with a row index is also rejected.

To clear or shrink a grid, see Update products.

Field catalogue

GET /api/fields

GET /api/fields/{targetmarket}

Returns the field list for the instance (or one target market), including ids, names in Danish, English, Swedish, Finnish, Norwegian and German, format, whether the field is a grid, keyword list name, and help text. Use this to map ERP columns to fmcgProducts ids.

Keywords

GET /api/keywords

GET /api/keywords/{codelist}

GET /api/keywords/{field}/{targetmarket}

Returns code lists with display value and code value. The field-specific path fails if the field name is unknown or the field does not use a keyword.

Read vs write names

GET can return display values for keyword fields when displayValues=true (or when the export profile has that option). Writes still expect codes, not translated labels.

Readonly and computed fields in an update body are ignored. Unknown field ids are rejected.