REDEEM

Used to redeem AIR MILES Cash Miles from a Collector’s account to be used towards their purchase.
POST /checkout/amcash/redeem

Take a look at our OpenAPI (Swagger-Spec) schema to learn more about the API calls.

To redeem Miles, the Collector’s card must be either scanned, swiped, or pre-registered (e.g., e-commerce site).

Redemption process

  1. The sales associate makes a redemption request at checkout by submitting a dollarRedeemRequest.
  2. The maximum redemption amount is displayed on-screen, which is less than or equal to the postTaxBasketAmount.
  3. The sales associate selects the appropriate redemption amount (unitsRedeemed) before completing the transaction.

Sample request

curl -X POST \
  https://cert.airmilesapis.ca/checkout/amcash/redeem \
  -H 'Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJ...' \
  -H 'Content-Type: application/json' \
  -H 'cache-control: no-cache' \
  -d '{
  "acquirerId": "100000",
  "cardEntryMode": "SWIPE",
  "collectorNumber": "84095202006",
  "dateTime": "1972-07-16T13:32:00+0400",
  "deviceId": "001",
  "dollarRedeemRequest": "16.12",
  "instantMessage": "en-CA",
  "originalPostTaxBasketAmount": "16.12",
  "originalPreTaxAmount": "16.12",
  "postTaxBasketAmount": "16.12",
  "sponsorCode": "LOY1",
  "storeId": "0001",
  "traceId": "999999999999",
  "vendorId": "100087"
}'

Header parameters

Parameter Description
Authorization Token from authentication.
Content-Type Default value: application/json
cache-control Default value: no-cache

Query parameters

Parameter Description
none none

Body parameters

* Required field

Parameter Description
acquirerId* The acquirer ID identifies the party that sends the request. Usually this is the partner.
cardEntryMode* The method that was used to enter the AIR MILES account number.
collectorNumber* The customer’s AIR MILES account number.
dateTime* Date and time when the request was sent. (see ISO-8601)
deviceId* ID number used to identify the POS terminal currently in use.
dollarRedeemRequest* The dollar amount available to be redeemed.
instantMessage The partner’s language preference for receiving the POS display messages. Default value: en-CA
originalPostTaxBasketAmount Original purchase amount, post-tax.
originalPreTaxAmount Original purchase amount, pre-tax.
postTaxBasketAmount* The total dollar amount of the basket, POST-TAX (i.e., what the Collector spent at checkout).
sponsorCode* Alpha-numeric value used to identify the Partner. To be provided by AIR MILES
storeId* Alpha-numeric value used to identify the Partner’s location. To be provided by Partner
traceId* Partner’s unique transaction tracking number. To be provided by Partner
vendorId* Number used to identify the Partner and for downstream financial payments. To be provided by AIR MILES

Sample response

HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Transfer-Encoding: chunked
Date: Mon, 29 Oct 2018 15:27:34 GMT
{
    "acquirerId": "100000",
    "availableCashBalance": "95",
    "availableDollarAmount": "10",
    "cashBalance": "120",
    "collectorNumber": "80000000001",
    "dailyOfferLimit": "10",
    "dateTime": "2019-01-30T04:39:59.503-0400",
    "deviceId": "001",
    "dreamBalance": "550",
    "message": "Approved",
    "milesRedeemed": "95",
    "offerDescEn": "Sample offer description in English.",
    "offerDescFr": "Exemple de description de l'offre en français.",
    "offerId": "1111111111",
    "offerType": "RGL",
    "responseCode": "0000",
    "sponsorCode": "1234",
    "storeId": "0001",
    "traceId": "000012345678",
    "transDateTime": "2018-10-27T02:25:10",
    "txnConfirmationNumber": "0000",
    "unitsRedeemed": "1",
    "unitValueAMCash": "95",
    "unitValueDollars": "10.00",
    "vendorId": "555555"
}

Response model

Includes all “Request” parameters listed above, plus the additional ones below.

Parameter Description
availableCashBalance The remaining available daily limit of AM Cash redemptions, in Miles (post-transaction); or the Collector’s total Miles balance - whichever is lower. Standard default is $750 CAD or 7,125 Miles per day
availableDollarAmount The dollar ($) amount available that the Collector can redeem. This value is rounded down to the nearest $10
cashBalance The Collector’s AM Cash account balance in Miles (post-transaction).
dailyOfferLimit The maximum number of units a Collector can redeem in a single day (i.e., a 24 hour period).
dreamBalance The Collector’s “AIR MILES Dream” account balance.
message Text description of the response code.
milesRedeemed The number of AM Cash miles redeemed in the transaction.
offerDescEn Offer description (English)
offerDescFr Offer description (French)
offerId AM Cash offer ID.
offerType Either RGL (regular offers) or SPL (special/discounted offers).
responseCode Number indicating the result of the transaction.
transDateTime Date and time when the response was sent. (see ISO-8601)
txnConfirmationNumber The confirmation number returned upon a successful redemption. This value should be printed on the purchase receipt and is required to process a reversal. To be provided by AIR MILES
unitsRedeemed The number of AM Cash units redeemed in the transaction.
unitValueAMCash The number of AM Cash miles required for a single redemption unit.
unitValueDollars The dollar ($) value for a single unit of redemption.

Status/Response codes

Status Code Response Code Display Message Description
200 0000 Approved The transaction was successful. The POS terminal AND receipt should display the appropriate information.
202 0001 Approved - balance suppressed The transaction was successful, however the Collector opted to not view their rewards balances. The printed receipt MUST NOT show the Collector’s ‘Cash’/‘Dream’ balances, or the available “AM Cash” that can be redeemed.
401 0002 Collector account inactive The Collector account is not active. Please ask the Collector to visit the airmiles.ca self-serve page, online chat support, or contact our call-center.
202 0005 Balance suppressed, unable to redeem The transaction was successful, but the Collector opted to not view their balances, or allow instant cash redemptions. The POS terminal MUST NOT prompt for an “AM Cash” Redemption.
202 0006 Unable to redeem The transaction was successful, but the Collector account is set to not allow instant “AM Cash” redemptions. The POS terminal MUST NOT prompt for an “AM Cash” Redemption.
408 0008 Transaction timeout The transaction timed out when a request was sent to the “Instant POS” Switch. The Partner’s Switch/POS Terminal should retry the request one (1) time. If a cashier receives this error, they should escalate the issue as indicated in the “AM Cash - Sponsor Escalation Guide”.
403 0009 Card not swiped or scanned Redemption offers will not be sent if the Collector Card is not presented. The Collector Card is physically required to perform instant cash redemptions. Please ask the Collector to visit the airmiles.ca self-serve page, online chat support, or contact our call-center to request a replacement card.
401 0025 Invalid collector number The Collector number is invalid. Please ask the Collector to visit the airmiles.ca self-serve page, online chat support, or contact our call-center to request a replacement card.
400 0035 Invalid request parameter A mistake was made when submitting the request. Please correct the error and try again.
202 0051 Insufficient AIR MILES reward Miles The Collector has not earned enough in their “AIR MILES Cash” balance for the requested redemption amount. Please ask the Collector to go to airmiles.ca and check their redemption/earning history.
202 0065 Exceeded daily redemption limit The Collector has exceeded the daily redemption limit. The Collector’s account has exceeded the maximum daily redemption amount. Please ask the Collector to wait until the following day to redeem more Cash miles.
202 0066 Insufficient basket size The Collector’s basket size is too small to make a redemption. The purchase amount is not enough to make a redemption. Ask the customer if they wish to add more items to their basket in order to make an AM Cash redemption.
408 0067 Offer is temporarily unavailable The offer being requested is temporarily unavailable. Please advise the Collector to try redeeming this offer at a later time.
503 0092 Scheduled outage The system is unavailable due to scheduled maintenance. No requests can be sent.
500 0096 Server error or no response An unknown error occurred while calling the “Instant POS” Switch". The Sponsor Switch/POS Terminal should retry one time and if the error persists, they should escalate the issue as indicated in the “AM Cash - Sponsor Escalation Guide”.
none none Missing or invalid “Bearer token” No valid “Bearer Token” present. Please generate a valid “Bearer” Token and submit to continue."