SbPublicApiCampaignResponse
snowbee.SbPublicApiCampaignResponse
campaignTyperequiredThe campaign's type, which decides how to read each sku's campaignPrice
Allowed values"NORMAL""THREE_FOR_TWO"Example"THREE_FOR_TWO"codeoptional- Example
"SUMMER2024" currencyIsoCoderequiredISO 4217 currency code for campaign prices
Example"NOK"idrequired- Example
"01234567-89ab-cdef-0123-456789abcdef" loyaltyProgramoptionalLoyalty program associated with this campaign
Show child fields
idrequiredUnique identifier of the loyalty program
Example"01234567-89ab-cdef-0123-456789abcdef"namerequired- Example
"Premium Members Club"
memberLevelsrequiredEligible member levels. An empty list adds no level restriction; existing SKU membership requirements still apply. NORMAL explicitly means a program member with no configured level, not a non-member.
Show item fields
codeoptionalProvider member level code; null for NORMAL
idoptionalConfigured member level identifier; null for NORMAL
nameoptionalConfigured member level display name; null for NORMAL
typerequiredNORMAL is the base member level; CONFIGURED identifies a provider level
Allowed values"NORMAL""CONFIGURED"
namerequired- Example
"Summer Sale 2024" skusrequiredShow item fields
campaignPricerequiredThe price this sku sells at while the campaign runs. For a NORMAL campaign that is the discounted price; for THREE_FOR_TWO the unit price does not change, so it is the sku's normal price and campaignType is what carries the offer
- Format: BigDecimal
- Pattern: ^-?\d+(\.\d{1,2})?$
Example"199.00"loyaltyProgramMembershipRequiredrequiredWhether loyalty program membership is required to purchase this SKU at the campaign price
ExamplefalseskuIdrequiredUnique identifier of the SKU
Example"01234567-89ab-cdef-0123-456789abcdef"
statusrequiredCurrent status of the campaign
Allowed values"PLANNED""ACTIVE"timeZonerequiredTenant IANA time zone used to resolve campaign dates and times; also available from GET /settings. Changing the tenant time zone is not supported.
Example"Europe/Oslo"validFromrequiredSelected start date, without a time or offset. Retained for compatibility; use validFromAt for the inclusive start boundary.
- Format: date
Example"2024-06-01"validFromAtrequiredInclusive campaign start as an ISO 8601 datetime with the tenant time zone's UTC offset at this boundary. Apply the campaign when validFromAt <= now < validToAt.
- Format: date-time
Example"2024-06-01T00:00:00+02:00"validFromTimerequiredInclusive start time on validFrom, in HH:mm; 24:00 means next calendar midnight
Example"00:00"validTorequiredSelected end date, without a time or offset. Retained for compatibility; use validToAt for the exclusive end boundary.
- Format: date
Example"2024-08-31"validToAtrequiredExclusive campaign end as an ISO 8601 datetime with the tenant time zone's UTC offset at this boundary. The campaign is inactive at this instant. A selected 24:00 resolves to midnight on the next calendar date.
- Format: date-time
Example"2024-09-01T00:00:00+02:00"validToTimerequiredExclusive end time on validTo, in HH:mm; 24:00 means next calendar midnight
Example"24:00"
View raw schema
{
"type": "object",
"properties": {
"campaignType": {
"$ref": "#/components/schemas/snowbee.SbPublicApiCampaignType",
"description": "The campaign's type, which decides how to read each sku's campaignPrice"
},
"code": {
"type": [
"null",
"string"
],
"example": "SUMMER2024",
"title": "String"
},
"currencyIsoCode": {
"type": "string",
"description": "ISO 4217 currency code for campaign prices",
"example": "NOK",
"title": "String"
},
"id": {
"type": "string",
"example": "01234567-89ab-cdef-0123-456789abcdef",
"title": "String"
},
"loyaltyProgram": {
"description": "Loyalty program associated with this campaign",
"oneOf": [
{
"type": "null"
},
{
"$ref": "#/components/schemas/snowbee.SbPublicApiCampaignLoyaltyProgramResponse"
}
]
},
"memberLevels": {
"type": "array",
"description": "Eligible member levels. An empty list adds no level restriction; existing SKU membership requirements still apply. NORMAL explicitly means a program member with no configured level, not a non-member.",
"items": {
"$ref": "#/components/schemas/snowbee.SbPublicApiCampaignMemberLevelResponse"
},
"title": "List<SbPublicApiCampaignMemberLevelResponse>"
},
"name": {
"type": "string",
"example": "Summer Sale 2024",
"title": "String"
},
"skus": {
"type": "array",
"items": {
"$ref": "#/components/schemas/snowbee.SbPublicApiCampaignSkuResponse"
},
"title": "List<SbPublicApiCampaignSkuResponse>"
},
"status": {
"$ref": "#/components/schemas/snowbee.SbPublicApiCampaignStatus",
"description": "Current status of the campaign"
},
"timeZone": {
"type": "string",
"description": "Tenant IANA time zone used to resolve campaign dates and times; also available from GET /settings. Changing the tenant time zone is not supported.",
"example": "Europe/Oslo",
"title": "String"
},
"validFrom": {
"type": "string",
"format": "date",
"description": "Selected start date, without a time or offset. Retained for compatibility; use validFromAt for the inclusive start boundary.",
"example": "2024-06-01",
"title": "LocalDate"
},
"validFromAt": {
"type": "string",
"format": "date-time",
"description": "Inclusive campaign start as an ISO 8601 datetime with the tenant time zone's UTC offset at this boundary. Apply the campaign when validFromAt <= now < validToAt.",
"example": "2024-06-01T00:00:00+02:00",
"title": "String"
},
"validFromTime": {
"type": "string",
"description": "Inclusive start time on validFrom, in HH:mm; 24:00 means next calendar midnight",
"example": "00:00",
"title": "String"
},
"validTo": {
"type": "string",
"format": "date",
"description": "Selected end date, without a time or offset. Retained for compatibility; use validToAt for the exclusive end boundary.",
"example": "2024-08-31",
"title": "LocalDate"
},
"validToAt": {
"type": "string",
"format": "date-time",
"description": "Exclusive campaign end as an ISO 8601 datetime with the tenant time zone's UTC offset at this boundary. The campaign is inactive at this instant. A selected 24:00 resolves to midnight on the next calendar date.",
"example": "2024-09-01T00:00:00+02:00",
"title": "String"
},
"validToTime": {
"type": "string",
"description": "Exclusive end time on validTo, in HH:mm; 24:00 means next calendar midnight",
"example": "24:00",
"title": "String"
}
},
"required": [
"campaignType",
"currencyIsoCode",
"id",
"memberLevels",
"name",
"skus",
"status",
"timeZone",
"validFrom",
"validFromAt",
"validFromTime",
"validTo",
"validToAt",
"validToTime"
],
"title": "SbPublicApiCampaignResponse"
}