Media Content Handling
The SCX system emits seller events containing media file links; channels receive these events but do not generate them. When handling media in event payloads and channel attributes, channels MUST follow these rules:
Media Fields in Events and Attributes
- Events provided by SCX include
pictureList
andmainPicture
in both Seller:Offer.New and Seller:Offer.Update payloads. These fields are URLs to image files. - Any channel-specific attribute defined as type
image
ordocument
also appears as a URL to the corresponding file.
Defining Media Attributes
Channels can register attributes of type image or document using the endpoint:
PUT /v1/channel/attribute/global
{
"attributeList": [
{
"attributeId": "DEMO-TYPES_image",
"displayName": "Image",
"description": "Link to Image file",
"type": "image"
},
{
"attributeId": "DEMO-TYPES_document",
"displayName": "Document",
"description": "Link to a Document file",
"type": "document"
}
]
}
File URL Structure
All media links are hosted on an S3-compatible storage and follow this pattern:
https://s3.api.jtl-software.com/scx-api/public/{media-hash}.{ext}
where:
{media-hash}
is the SHA-1 hash of the file contents.{ext}
is the file extension (gif
,jpg
,png
,svg
, orpdf
).- The filename's hash is unique; no additional metadata is encoded in the name.
Media URL Lifetime
- Media URLs remain valid for 7 days after event generation.
- After this period, requests may return HTTP 404 or 403.
- If a marketplace integration requires access beyond 7 days, the channel SHALL proactively fetch and store or rehost the file to ensure ongoing availability.
Supported Formats and Size Limits
Allowed MIME Types and Extensions:
MIME Type | Extension |
---|---|
image/gif | gif |
image/jpeg | jpg |
image/pjpeg | jpg |
image/png | png |
image/x-png | png |
image/svg+xml | svg |
application/pdf | pdf |
- Maximum file size: 16 MB per media file.
- Files that do not match these MIME types or exceed the size limit may be rejected by the SCX system or remain unsupported.
Example: Simplified Seller:Offer.New Event
{
"type": "Seller:Offer.New",
"sellerId": "MYSELLERID",
"offerId": 1,
"mainPicture": "https://s3.api.jtl-software.com/scx-api/public/ca95311f233973a4a6b8a7415051096702e32110df8fac86b1d446ab54adf2eb812dc59e88d32cd9917d83425be5ea3999a89ab759ac8db1f0e872dd9c1b0872.jpg",
"pictureList": [
"https://s3.api.jtl-software.com/scx-api/public/ff5a3c1b2e9f8d7c6b5a4e3d2c1f0a9b8e7d6c5b4a3f2e1d0c9b8a7f6e5d4c3.jpg",
"https://s3.api.jtl-software.com/scx-api/public/11aa22bb33cc44dd55ee66ff77gg88hh99ii00jj11kk22ll33mm44nn55oo66pp77.png"
],
"channelAttributeList": [
{
"attributeId": "thumbnailImage",
"value": "https://s3.api.jtl-software.com/scx-api/public/aabbccddeeff00112233445566778899aabbccddeeff00112233445566778899.pdf"
}
]
}