Offer Ingestion API
Abstract
The Offer Ingestion API facilitates the structured submission of offer data from partners, supporting both SFTP and HTTP REST protocols. The API defines a clear schema for offer files, which includes a header section detailing file metadata (such as file description, creation date, and record count), followed by a list of offer records. Each offer record captures essential attributes like offer and merchant identifiers, offer name, status, and associated media assets (logos and large rectangles), with strict requirements for image formats and dimensions.
The schema enforces data integrity and compatibility, ensuring that all required fields are present and correctly formatted, with flexible support for image assets as either URLs or Base64-encoded content, adhering to RFC 2397 standards. This design enables seamless, reliable ingestion and integration of partner offers into downstream systems.
Offer Schema
Header
Field Name | Data Type | Note |
---|---|---|
fileDescription | String | |
fileCreationDate | String | YYYY-MM-DD |
offerRecordCount | Numeric | The number of offer records included in the file |
OfferRecord
Field | Data Type | Required | Notes |
---|---|---|---|
offerStatus | String | Yes for SFTP, No for HTTP REST | |
offerId | String | Yes | Partner’s unique identifier of their Merchant as shared in the Merchant feed |
merchantId | String | Yes | Partner’s unique Offer Id for the Merchant |
offerName | String | Yes | Offer Name |
assets.logo.value.large.url | String | Yes *(Either logoUrl or logoContent) | URL to the logo image: Dimensions: 627 * 627 |
assets.logo.value.large.content | String | Yes *(Either logoUrl or logoContent) | Base64 encoded logo image String Dimensions: 627 * 627 RFC Standard 2397 data:${mimeType};base64,${base64Data} Example: data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQ... |
assets.largeRectangle.value.large.url | String | Yes *(Either largeRectangleUrl or largeRectangleContent) | URL to the large rectangle image: Dimensions: 1200 * 627 |
assets.largeRectangle.value.large.content | String | Yes*(Either largeRectangleUrl or largeRectangleContent) | Base64 encoded large rectangle image String Dimensions: 1200 * 627 RFC Standard 2397 data:${mimeType};base64,${base64Data} Example: data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQ... |
Updated about 10 hours ago