Skip to main content

Get Offer by Id

This endpoint allows to get offers available to a customer.

Request

GET <API base url>/customers/{customerId}/offers/{offerId}

URL query parameters

NameTypeRequiredDescription
languagestringyesTwo letter language code according to ISO 639-1
showArchivedbooleannoIf specified, accrued rewards includes expired rewards

Response

On success:

{
"value": {
"id": required uint64,
"merchant": {
"id": required uint64,
"marketName": required string,
"logo": optional string (as URL),
"legalName": required string,
"phones": optional string,
"emails": optional string,
"website": optional string
},
"type": required string (one of - offer, privilege) // Deprecated
"category": optional string,
"averageCheck": optional string,
"startDate": optional string (date in format YYYY-MM-DD),
"startTime": optional string (time in format HH:MM:SS),
"endDate": optional string (date in format YYYY-MM-DD),
"endTime": optional string (time in format HH:MM:SS),
"daysOfWeek": optional uint8[] (monday - 1 ... sunday - 7),
"dayStartTime": optional string (time in format HH:MM:SS),
"dayEndTime": optional string (time in format HH:MM:SS),
"isOnline": optional boolean,
"isLiked": optional boolean,
"activationStatus": optional string (one of - undefined, activated, viewed),
"isFavorite": optional boolean,
"newRewardAvailableFrom": optional date,
"announcedFrom": required date,
"receivedAt": required date,
"ad": optional {
"languageCode": required string,
"name": required string,
"description": optional string,
"rewardText": optional string,
"buttonText": optional string,
"buttonUrl": optional string,
"image": optional string (as URL)
},
"stats": required {
"likeCount": required number,
"offerRewardLimit": optional number,
"customerRewardLimit": optional number,
"offerRewardCount": required number,
"customerRewardCount": required number,
"customerSpentRewardCount": required number,
"hasAvailablePromoCodes": optional boolean
},
"reward": optional {
"merchant": {
"id": required uint64,
"marketName": required string,
"logo": optional string (as URL)
},
"type": required string (one of - discount, gift, certificate, plusX, etc.),
"certificate": optional {
"provider": required string,
"id": optional string, // Deprecated
"ids": optional array of string,
"value": optional number
},
"limit": optional {
"used": required number,
"max": required number
}
},
"accruedRewards": optional array {
"id": required number,
"createdAt": required date,
"merchant": required {
"id": required number,
"marketName": required string,
"logo": optional string (as URL)
},
"type": required string (one of - discount, gift, certificate, plusX, etc.),
"expiresAt": optional date,
"text": optional string,
"termsOfUse": optional string,
"promoCode": optional {
"value": optional string,
"status": required string (one of - unassigned, displayed),
"displayTypes": required string[] (plainText, qr, barcodeCode128, barcodeEan13)
// recommended display type is a first element in displayTypes
},
"certificate": optional {
"provider": required string,
"id": optional string // Deprecated
"ids": optional array of string,
"value": optional number
},
"isSpent": required boolean,
"isOpened": required boolean
"customData": optional any
},
"conditions": optional {
"type": required string (one of - none,
offersAccumulation,
transactionsAccumulation,
referral,
registrationBonus),
"targetCount": optional number,
"targetAmount": optional number,
},
"requiresActivation": required boolean,
"progress": optional {
"currentCount": optional number,
"currentAmount": optional number,
},
"customFields": optional { [key:string]: any },
"regions": optional array {
"id": required number,
"name": required string,
"geometry": optional string
},
"marketWide": required boolean,
"locations": optional array of {
"name": optional string,
"address": optional string,
"lon": required double - longitude,
"lat": required double - latitude
}
}
}