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 maps to X9004 and 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

gs1Status is the latest status from GS1 (or EPD). If the product has never been sent, it is NEVER_SENT. If fmcgProductsStatus is PENDING, gs1Status is still the last GS1 result, not PENDING.

Value Meaning
SENT Sent, awaiting response
OK Accepted
FAILED Rejected
NEVER_SENT Never sent to GS1 or EPD
EXPIRED Expired at GS1
WITHDRAWN Withdrawn from GS1

The JSON also includes 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 ISO 3166-1 numeric country code, for example 040 for Austria and 208 for Denmark. See Identifiers and fields.
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. Keep leading zeros in the value: 040 for Austria, and 40 is a different code.

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.