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 NameData TypeNote
fileDescriptionString
fileCreationDateStringYYYY-MM-DD
offerRecordCountNumericThe number of offer records included in the file

OfferRecord

FieldData TypeRequiredNotes
offerStatusStringYes for SFTP, No for HTTP REST
offerIdStringYesPartner’s unique identifier of their Merchant as shared in the Merchant feed
merchantIdStringYesPartner’s unique Offer Id for the Merchant
offerNameStringYesOffer Name
assets.logo.value.large.urlStringYes *(Either logoUrl or logoContent)URL to the logo image: Dimensions: 627 * 627
assets.logo.value.large.contentStringYes *(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.urlStringYes *(Either largeRectangleUrl or largeRectangleContent)URL to the large rectangle image: Dimensions: 1200 * 627
assets.largeRectangle.value.large.contentStringYes*(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...

What’s Next