Applicable Offers (Redemptions 1.0)

​

Returns all applicable rewards available to the user per the items added to the check

Headers

  • The signature for the API call

  • Set this header to application/json.

  • Advertises which content types the client is able to understand

  • For details, see User Agent.

  • You may pass the access_token instead of the authentication_token in Online Ordering endpoints to authorize the request. It must be supplied as Bearer ACCESS_TOKEN_GOES_HERE.

Body

application/json
  • Channel through which the order was placed. If a channel is defined in the Receipt Qualifier condition under Offers > Qualification Criteria in the Punchh platform, the API returns the list of offers applicable to the transaction after evaluating the value set for the channel. Possible values: online_order, web.

  • Client key of the business

  • Order amount before taxes, calculated as the sum of item_amount for M line items in menu_items minus the item_amount for D line items; S, T, and P line items are excluded. See the description of the D, S, T, and P items in the menu_items.menu_item_type request parameter. The value of this parameter should match subtotal_amount.

    Note: We do not recommend sending either brand or Punchh discounts as line items in any Redemptions 1.0 requests. See the description of the D item in the menu_item_type request parameter. For multiple redemptions, include previously applied offers as D line items in subsequent requests. See Multiple Redemptions Example for processing multiple discounts.

    ⚠️ Important: During create check-in or update check-in, loyalty points and visits are calculated based on the individual item amounts in the menu_items array, not directly from receipt_amount.

  • Timestamp of the receipt as per ISO 8601, in YYYY-MM-DDThh:mm:ssZ format

  • Order amount before taxes, calculated as the sum of item_amount for M line items in menu_items minus the item_amount for D line items; S, T, and P line items are excluded. See the description of the D, S, T, and P items in the menu_items.menu_item_type request parameter. Same as receipt_amount. For historical reasons, include this parameter along with receipt_amount in the API request.

  • The authentication token of the user. You can retrieve this from the response of a successful sign-in API call or through the SSO process.

  • This object used in the API request contains one or more menu items added to an order. See How To Send Menu Items to Punchh

    Properties: 8
  • Location where the redemption must be redeemed

Responses

  • application/json
  • Sending invalid credentials

  • Sending invalid Signature

  • The given reward can't be applied to the given receipt details

Request Example for get/api/auth/redemptions/applicable_offers
curl https://SERVER_NAME_GOES_HERE.punchh.com/api/auth/redemptions/applicable_offers \
  --header 'x-pch-digest: SIGNATURE_GOES_HERE' \
  --header 'Content-Type: application/json' \
  --header 'Accept: application/json' \
  --header 'User-Agent: Punchh/OnlineOrder/1.0/Web/BrowserVersion/OS_Type' \
  --header 'Authorization: Bearer ACCESS_TOKEN_GOES_HERE' \
  --data '{
  "authentication_token": "",
  "client": "",
  "receipt_amount": 1,
  "subtotal_amount": 1,
  "receipt_datetime": "",
  "store_number": "",
  "menu_items": [
    {
      "item_name": "",
      "item_qty": 1,
      "item_amount": 1,
      "menu_item_type": "",
      "menu_item_id": "",
      "menu_family": "",
      "menu_major_group": "",
      "serial_number": ""
    }
  ],
  "channel": "online_order"
}'
[
  {
    "menu_items": [
      {
        "item_name": "Adult",
        "item_qty": 1,
        "item_amount": 100,
        "menu_item_type": "M",
        "menu_item_id": "1",
        "menu_family": "1",
        "menu_major_group": "1",
        "serial_number": "3.0"
      }
    ],
    "discount_amount": 2,
    "reward": {
      "created_at": "2023-04-03T05:42:02Z",
      "end_date_tz": null,
      "start_date_tz": "2023-04-03T05:42:02Z",
      "updated_at": "2023-04-03T05:42:02Z",
      "id": 1,
      "image": "IMAGE_URL_GOES_HERE",
      "status": "unredeemed",
      "points": 0,
      "discount_amount": 2,
      "description": "$2 Off Your Order. Participating locations only.",
      "name": "Redeemable - $2 Off Your Order",
      "redeemable_properties": null
    }
  },
  {
    "menu_items": [
      {
        "item_name": "Adult",
        "item_qty": 1,
        "item_amount": 100,
        "menu_item_type": "M",
        "menu_item_id": "1",
        "menu_family": "1",
        "menu_major_group": "1",
        "serial_number": "3.0"
      }
    ],
    "discount_amount": 2,
    "reward": {
      "created_at": "2023-04-03T05:46:32Z",
      "end_date_tz": null,
      "start_date_tz": "2023-04-03T05:46:32Z",
      "updated_at": "2023-04-03T05:46:32Z",
      "id": 2,
      "image": "IMAGE_URL_GOES_HERE",
      "status": "unredeemed",
      "points": 0,
      "discount_amount": 2,
      "description": "",
      "name": "2% off Subtotal Amount",
      "redeemable_properties": null
    }
  }
]