Placewise API
Get startedExplore
Get startedExplore
Performance Cloud 🗗
Placewise 🗗
ExplorePublic API
Management APIUsers APIOperations APIMessaging APIReporting APIML APIData API
ExplorePublic API
Management APIUsers APIOperations APIMessaging APIReporting APIML APIData API
  1. Offers
  • Introduction
  • Loyalty Club
    • Loyalty Clubs
      • Introduction
      • Show Loyalty Club
      • List Loyalty Clubs
    • Schema
      • Show Schema
    • Legal Information
      • Show Legal Information
    • Translations
      • List Translations (v4)
      • List Translations (v3)
    • Carbon Offset Program
      • Show Carbon Offset Program Info
    • Cars
      • Show Cars Configuration
      • Show Available Cars Colors
    • Programs
      • Introduction
      • List Programs
      • Show Program
    • Receipts
      • Introduction
      • Show Receipts Configuration
  • Member
    • Authentication
      • OAuth Flow
      • One Time Password
        • Send OTP via SMS
        • Send OTP via SMS by Email
        • Send OTP via Email
        • Send OTP via Email by MSISDN
      • Registration Password
        • Send Registration Password SMS
        • Send Registration Password Email
      • Create Token
      • Revoke Token
      • Show Token Info
    • Profile
      • Public Info
        • Show Member Public Info
        • Show Member Public Info by MSISDN
        • Show Member Public Info by Email
      • Person ID
        • Show Member Person ID
        • Show Member Person ID by MSISDN
        • Show Member Person ID by Email
      • Create Member
      • Update Member
      • Validate Member
      • Register Member App Token
      • Show Member
      • Destroy Member
    • Programs
      • Registration
        • Start
        • Confirm
      • Update Member Programs
      • Add Member to Program
      • List Member Programs
      • Remove Member from Program
    • Cars
      • Introduction
      • List Member Cars
      • Create Member Car
      • Show Member Car
      • Update Member Car
      • Renew Member Car
      • Destroy Member Car
      • Lookup a Car
    • Benefits
      • Introduction
      • List Member Benefits
      • Show Member Benefit
    • Verification
      • Send Verification Email
      • Send Verification SMS
      • Verify Email
      • Verify MSISDN
    • Password
      • Update Password
      • Reset Password
      • Send Password Reset Token
    • Integrations
      • Amano Parking Integration
        • Create Card
        • Delete Card
      • Spaycial Integrations
        • Generate Connections URL
        • Generate Connect URL
        • Show Spaycial Connections Status
        • Show Spaycial Feature Settings
        • Update Spaycial Feature Settings
    • Receipts
      • Introduction
      • List Submissions
      • Show Submission
      • Create Submission
      • Update Submission
      • Delete Submission
      • Check Limits Exceeded
    • Misc
      • Checkin to Store
      • Show Member Messages History v2
    • Files
      • Uploads
        • Upload status
        • Start Upload
        • Upload Part
        • Finish Upload
        • Activate Uploaded File
    • Messages
      • Send "delivered" event for push message
      • Send "open" event for push message
  • Offers
    • Introduction
    • Offers
      • Show Offers Meta
      • Show Offer
      • Encode Offer
      • List Offers
      • Use Offer
      • Like Offer
      • Unlike Offer
    • Offers Preview
      • Preview Offers Meta
      • Preview Offer
      • Preview Offers List
    • Events
      • Introduction
      • Register "clicked" Event
      • Register "seen" Event
  • Rewards
    • Introduction
    • Rewards Program
      • Show Rewards Program
      • Join To Rewards Program
      • Leave Rewards Program
      • Show Member Rewards Program Status
      • Show Achievements Summary
    • Rewards
      • List Rewards
      • List Purchased Rewards
      • Purchase Reward
      • Use Reward
  • Games
    • Introduction
    • Games
      • List Games
      • Show Game Details
      • Show Game Ticket
      • Play Game
      • Issue Game Prize
  • CMS Content
    • Introduction
    • Website
      • Introduction
      • Show Website
    • Venue Info
      • Introduction
      • Show Venue Info
    • Components
      • Component Schema Model
      • Show Components Schema
    • Pages
      • Page Model
      • List Pages
      • Show Page
      • Route Page
    • Articles
      • Article Model
      • Articles Categories
        • List Articles Categories
        • Show Articles Categories
      • List Articles
      • Show Article
    • Events
      • Event Model
      • Events Groups
        • Introduction
        • List Events Groups
        • Show Events Group
      • Events Categories
        • List Events Categories
        • Show Events Categories
      • List Events
      • Show Event
    • Job Postings
      • Introduction
      • List Job Postings
      • Show Job Posting
    • Service Messages
      • Introduction
      • List Service Messages
      • Show Service Message
    • Stores
      • Introduction
      • List
      • Show
    • Stores Categories
      • Introduction
      • List Stores Categories
      • Show Stores Category
    • Promotions
      • Introduction
      • List Promotions Collections
      • List Promotions
      • Show Promotion
    • Press Releases
      • Press Release Model
      • List Press Releases
      • Show Press Release
    • Attachments
      • Attachment Model
      • List Attachments
  1. Offers

Introduction

This section describes endpoints destined for end user (e.g. for mobile apps) that work only within context of (signed in) member.
Navigate to Offers Admin section to see docs for offers management endpoints.

Member context#

Offers API supports two distinct approaches to work with context of member.

Member ID OAuth (recommended)#

In the first one member context is resolved from MPC OAuth member session.
This setup requires use of endpoints that have /me/ URL segment and requires token provided with authorization header.

Member ID#

In this approach member context is resolved from Member's ID provided within URL.
This setup requires use of endpoints that have /:member_id/ URL segment and requires no authentication.
This approach is designed for implementations in which member is authenticated by your system and
should not be used on front-end implementations, where API token is exposed to an end user.

Guest access#

Some API client implementations may need to present content to a non-authenticated user.
In order to allow this, static endpoints (like offers list) may work without member context.
They exist in versions which use /guest/ URL segment instead of /me/ or /member_id/ and may be used by both
aforementioned approaches.

Scoping#

A scoping is introduced in order to divide offers into multiple independent namespaces in the API.
Scope defines on which types (See: Offer types) of offers the API operates on and can
be specified by query param. To access offers within a specific scope, user should have the corresponding permit.
ScopeDescriptionRequred permit
standardFor general use (default)Offers:Api:Scopes:Standard
informationalFor non-usable offersOffers:Api:Scopes:Informational
parkingFor parking-related benefitsOffers:Api:Scopes:Parking
carbon_offsetFor carbon offset member check-insOffers:Api:Scopes:CarbonOffset
rewardFor rewardsOffers:Api:Scopes:Reward

Offer model#

Example#

{
  "id": 1000115,
  "name": "Buy two shoes, get one jacket",
  "description": null,
  "type": "REGULAR",
  "external_url": "https://example.com/foo",
  "usable_since": "2019-03-13T17:32:00.000Z",
  "usable_until": null,
  "usage_authorization_token_required": false,
  "collection_ids": [1000016, 1000017],
  "stores": ["M&H"],
  "images": [
    {
      "url": "https://offers-api.s3.eu-central-1.amazonaws.com/offer-1000115-offer_default-original.jpg",
    }
  ],
  "display": {
    "read_more": { "button_title": "Button title", "url": null, "title": "Title", "text": "Text" },
    "activation_texts": { "modal": "Modal", "button": "Button", "description": null }
  },
  "liked": false,
  "usage": {
    "usable": true,
    "max_uses": 10,
    "uses_left": 3,
    "active_until": "2019-03-13T18:41:00.000Z",
    "period": null
  },
  "extras": {
    "category": 42
  }
}

Definition#

KeyTypeOptional?Description
idintegerno
namestringyes
typeenumnoSee: Offer types (uppercase)
descriptionstringyes
external_urlstringyesThe URL the offer may be linked with
usable_sinceDateyesTime since the offer may be used. If null, there is no restriction.
usable_untilDateyesTime until the offer may be used. If null, there is no restriction.
usage_authorization_token_requiredBooleannoWhen required, a special authorization code is required for using the offer
collection_idsinteger[]no (may be empty)List of collections ids the offer belongs to
storesstring[]no (may be empty)List of shop names associated with the offer
imagesObject[]no (may be empty)A list of offer images (must be uploaded to Files API as offer_image type)
images[].urlStringno
likedBooleannoHas offer been liked by user?
usageUsagenoUsage information object - see Offer usage model
extrasObjectno (may be empty)Extendable container for any potential extra data
displayObjectnoStores display information
display.read_moreObjectyes
display.read_more.button_titlestringyes
display.read_more.urlstringyes
display.read_more.titlestringyes
display.read_more.textstringyes
display.read_moreObjectyes
display.activation_texts.modalstringyes
display.activation_texts.buttonstringyes
display.activation_texts.descriptionstringyes

Offer usage model#

KeyTypeOptional?Description
usableBooleannoIs the offer usable?
max_usesintegeryesMaximum number of times the specific member can use the offer. When null, there's no limit.
uses_leftintegeryesHow many more times the specific member can use the offer - this number can be also affected by global offer limit. When null, there's no limit.
active_untilDateyesThe last time time the offer has been used at+ activation time (configurable per Loyalty Club, e.x. 30s). When null, the offer has not been activated (used) yet
periodObjectyesIf present, it describes limtations of using the offer by member within specific period
period.timespanenum: ['MINUTE', 'HOUR', 'DAY', 'WEEK', 'MONTH', 'YEAR']noDefines the period in which usage is limited
period.max_usesintegernoDefines how many times the offer may be used by member within period
period.uses_leftintegeryesDefines how many times member may use the offer until end of current period

Collection model#

KeyTypeOptional?Description
idintegerno
titlestringyes
descriptionstringyes
offers_orderinteger[]no (may be empty)Describes order in which offers should be displayed inside this collection
filesFile[]noA list of Offer Files - see File model
Previous
Send "open" event for push message
Next
Show Offers Meta
Built with