Documentation

Status

Status is the usual way to see whether a unit is accepted, in progress or rejected after an update or a send to GS1.

fmcgProductsStatus is one of:

Value Meaning
SENT Sent to GS1, awaiting response
OK Uploaded to GS1
PENDING Previously uploaded, data has changed, waiting to resend
FAILED Rejected at GS1

The JSON also includes gs1Status, gs1Response, gs1Warnings, gs1LastSendDate, gs1StatusDate, validationErrors, sendStatusList and dataRecipientStatusList when they apply. Norwegian top products may include epdNumber and epdStatus.

One product

GET /api/status/{productId}

curl -sS -H "X-Api-Key: YOUR_KEY" \
  "https://{instance}.fmcgproducts.dk/api/status/01234567890123.208"

Query: activeVersion (same meaning as on details).

All products

GET /api/products/status

GET /api/products/status/{exportProfileId}

Optional query:

Parameter Meaning
fromdate GS1 response date, dd-MM-yyyy
targetMarket Country number, for example 208
limit Max number of products in this page
offset 1-based start position
revalidate If true, recalculates validation and returns it in validationErrors
deltaChanges If true, and status is PENDING, adds fieldsChangedSinceLastSendToGS1
activeVersion Active version from X9200 / X9202

The envelope includes count (full match count), products, and the filters you sent. An optional export profile adds those profile fields on each product.

targetMarket must be numeric or the API returns HTTP 400.

Selected products

POST /api/products/status

POST /api/products/status/{exportProfileId}

Body: a JSON array of product ids.

["01234567890123.208", "01234567890130.208"]

Unknown ids in the list are returned as { "productId": "…", "error": "Product not found" } rather than failing the whole call. Invalid id format returns HTTP 400. limit, offset, deltaChanges and activeVersion work as on GET.