Media assets

The SupplierXM product API gives you access to three different types of media assets:

  • Images
  • Documents
  • Recipes

Images

SupplierXM handles four different image formats: JPEG, PNG, GIF, and TIFF formats.

Images sent by manufacturers are downloaded and stored on our side. We also ensure that an image is not present more than once by checking the image itself thanks to a cyclical redundancy check. If the image is new, it is simply added to the image list.

For every product image added, we generate different exportable image formats with different resolutions so you can use the resolution that works best for you. We generate the following resolutions:

  • 1024x1024
  • 512x512
  • 256x256
  • 128x128
  • 64x64
    To limit image size, all exportable images are converted to JPG format.

Image attributes

You can find images attributes at Attributes documentation

❗️

If you push data to SupplierXM, you should at least provide the URL of the image to download in the field url. See the Upload assets section for more information.

Mapping between SupplierXM and GS1 image attributes

As an official GDSN data pool, SupplierXM retrieves product images sent via GDSN.
You will find below all information regarding the ways SupplierXM integrates GS1 attributes.

GDSN attributes

Currently, the only types of referenced files sent through GDSN that are integrated in SupplierXM are the product images (referencedFileTypeCode == PRODUCT_IMAGE, MOBILE_DEVICE_IMAGE, OUT_OF_PACKAGE_IMAGE).
For every product image sent through GDSN, SupplierXM integrates the following fields:

GDSN attributesSupplierXM attributes
fileEffectiveEndDateTimepictureEffectiveEndDate
fileEffectiveStartDateTimepictureEffectiveStartDate
uniformResourceIdentifieruniformResourceIdentifierOrigin
canFilesBeEditedcanFilesBeEdited
isFileBackgroundTransparentisFileBackgroundTransparent
verticalCameraAngleCodepictureAngleVerticalCode
isPrimaryFileisPackshot

GS1 image file name

If compliant with GS1 standard, SupplierXM automatically retrieves attributes from the image file name (when exchanged through GDSN)

For example, the following attributes will be deduced from an image file imported on SupplierXM from GDSN and whose image file name is '03046920000048_D1L1_001.png

digit positionexampleSupplierXM attributeMapping between SupplierXM & GS1 value
16thDfileTypeCode0 -> A
1 -> C
2 -> Z
3 -> B
4 -> D
5 -> E
6 -> F
7 -> M
8 -> H
9 -> L
17th1productFaceCode0 -> 6
1 -> 0
2 -> 1
3 -> 2
7 -> 3
8 -> 4
9 -> 5
18thLpictureAngleHorizontalCodeC -> 1
L -> 0
R -> 2
N -> 3
19th1fileContentTypeCode1 -> 1
0 -> 0
D -> 2
K -> 3
A -> 6
B -> 7
C -> 8
E -> 9
F -> 10
G -> 11
H -> 12
J -> 13
L -> 14
M -> 15
20st-22rd001sequenceNumber

Documents

Another media asset type you can access through our API is documents.

Accepted mime types

We currently only accept a restricted type (based on MIME) of documents :

  • application/pdf
  • application/zip
  • application/postscript
  • application/vnd.ms-excel
  • application/vnd.ms-office
  • application/vnd.ms-word
  • application/vnd.ms-powerpoint
  • application/msword
  • application/msexcel
  • application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
  • application/vnd.openxmlformats-officedocument.wordprocessingml.document
  • application/vnd.openxmlformats-officedocument.presentationml.presentation
  • application/csv
  • text/csv
  • text/html
  • text/plain
  • text/rtf

Document attributes

Here are only described the main attributes you will find on your documents. More fields can be set here depending on your organization's configuration.

"documents": [
    {
"tags": ["my_tag"],
"fileType": "application/pdf",
"uniformResourceIdentifier": "https://smedia.alkemics.com/product/document/hash.pdf",
"fileName": "GTIN_L1_s01.pdf",
"documentLanguageList": [
  {
    "documentLanguageCode": {
      "code": "fra",
      "description": "French",
      "label": "French"
    }
  }
],
"contentDescriptionText": [
  {
    "expressedIn": {
      "code": "fra-FR",
      "description": "French",
      "label": "French",
      "normalizedCode": "fr"
    },
    "data": "document fr"
  }
],    
"fileSize": 271169,
"documentTypeCode": {
  "code": "CERTIFICATION",
  "description": "Document which contains a special certification by a third party (e.g. International Food Standard [IFS], QS-Approval Mark for meat product, sausage, fruit, vegetables and potatoes or bio audits).",
  "label": "Certification (assets)"
},
"documentTitleText": [
  {
    "expressedIn": {
      "code": "fra-FR",
      "description": "French",
      "label": "French",
      "normalizedCode": "fr"
    },
    "data": "document"
  }
],
"scope": "public",
"createdAt": "2020-04-09T11:53:33",
"updatedAt": "2020-04-09T11:53:33"
}
]

Recipes

The last type of media asset you can access through our API are recipes.

"enriched_contents": [
    {
      "content": " example", 
      "updatedAt": "2017-02-20T15:30:56.772634", 
      "type": null, 
      "createdAt": "2017-02-17T15:30:56.772487", 
      "title": " example"
    }
  ],

A recipe is an enriched content asset whose type is 'Recipe' (code = 1).

Recipe attributes

  • content : Recipe content stored as a formatted text in the attribute content. Format is done via HTML tags.
  • title : Recipe title. No formatting possible.
  • createdAt : Recipe creation date.
  • updatedAt : The last date the Recipe was modified.
  • type : Identified the enriched content type. Currently only used for recipes (code = 1).

Note on recipes. The title, though mandatory, is not used. Manufacturers are asked to put it into the content field surrounded by an h1 tag for example.


What’s Next