Skip to main content

Reserve for Redemption

POST 

/client/users/:correlation_id/reservations/

Intended to reserve rewards for a redemption transaction. Note that if reserved rewards are not used for a redemption, usually within a specific amount of time, the reservation is expired and the points are returned to the available balance in the member's account.

Redemptions cannot be reserved or made using PHONE_NUMBER as the X-Identifier-Type on Start Session, so if it is used, an error message is returned.

Request

Body

AttributeDefinitionFormatNotes
businessUnitThe business unit for the transaction, if applicable.StringName of business unit
redeemerIdThe unique identifier for the redeemer.String
redemptionIdThe unique identifier for this redemption.String
reservationAmountThe amount of points to be reserved for the redemption.StringIf this is not provided, the points will be deduced from the sum of each (catalog item point value x quantity)
contributionsIf the reserve is for a household where contributions for each member may be define, then this object is used to define each member's contributionObjectContains account number and point value key:value pairs for each member contributing to the redemption
catalogueItemsContains data about the items included in the redemption.Array containing object(s)Contains the id and quantity of each item included in the redemption, each in a separate object
idUnique name for the item.String
quantityNumber of units of the item.Number
fulfillmentEmailKeyfulfillmentEmailKey is the refrence to the fulfillmentEmailIDs present in account's EmailAddressBookStringRequired if redemptionId is "STATEMENT_CREDIT" or "DIRECT_DEPOSIT" to reflect fulfillment method; if redemptionId is not one of these values, then a warning is generated; if redemptionId is one of these values, then fulfillmentEmailKey must be provided

Response

AttributeDefinitionFormatNotes
reservationTokenToken associated with the redemption reservation.String
reservationDurationThe time in days during which the reservation is in effect.Number
availablePointBalanceThe balance of points available for redemption.Number
pointBalanceThe balance of points.Number
sessionIdUnique identifier for this sessionString
catalogueItemsDataContains data for each catalogue itemArray with an object inside for each catalogue item
catalogueItemIdUnique identifier for the catalogue item, corresponds to id in requestString
catalogueItemNameName of the catalogue itemString
quantityQuantity of the item in this redemption, corresponds to quantity in requestNumber
pointsAmountPoints amount for this itemNumber
totalPointsAmountpointsAmount x quantityNumber
messagesContains the localization and prompt and receipt messagesObject
localization objectSets the localization parametersEnum: "en-CA", "fr-CA", or "en-US"Contains prompt and receipt messages
promptTextText shown in the appString
receiptLongTextLong text shown on the receiptString
receiptShortTextShort text shown on the receiptString
householdThe availablePointsBalance and pointsBalance of householdObjectReturns when member belongs to household and member has REDEEM privilege
availablePointsBalanceTotal points available for redemptionNumberMay be less than points balance depending on redemption increments (for instance, every 25000 points = $10 redeemable)
pointsBalanceTotal points balanceNumber

Error Responses

statusCodeerrorMessageerrorCodeDefinition
400 Bad RequestContribution amount is expected to be a positive integer value.INVALID_REQUESTHousehold member contribution must be positive value.
400 Bad RequestContributor account(s) are not part of the household: {{accountID_1, accountID_x}}INVALID_REQUESTAll contributors to redemption must be members of this household.
400 Bad RequestMember is not part of any household.INVALID_REQUESTMembers who are not part of a household cannot contribute.
400 Bad RequestSecondary members are not allowed to make contributions.INVALID_REQUESTIn some circumstances, Secondary members in the household cannot contribute to a redemption by the Primary member.
400 Bad RequestCatalogue points amount is not equal to the sum of contributions.INVALID_REQUESTTotal catalogue points are not equal to total contributions.
400 Bad RequestReservation amount is not equal to the sum of contributions.INVALID_REQUESTNumber of points reserved is not the same as the sum of all contributions.
400 Bad RequestAdhoc Redemption feature is not enabled.INVALID_REQUESTThe redemption reservation cannot proceed because the feature has not been enabled.
400 Bad RequestAccount is not eligible for redemption.INVALID_REQUESTThe x-identifier-type PHONE_NUMBER cannot be used for reservations or redemptions.
400 Bad RequestAccount is not eligible for redemption.INVALID_REQUESTThe x-identifier-type EMAIL cannot be used for reservations or redemptions.
400 Bad RequestBusiness unit {{businessUnit}} is not a valid business unitINVALID_BUSINESS_UNITThe businessUnit provided in the request does not have a valid value
400 Bad RequestInvalid redeemer: {{redeemerId}}.INVALID_REQUESTThe redeemerId provided in the request does not have a valid value
400 Bad RequestRedemption identifier is invalidINVALID_REQUESTThe redemptionId provided in the request does not have a valid value
400 Bad RequestCatalogue item: {{catalogueItem}} is invalidINVALID_REQUESTThe catalogueItem provided in the request does not have a valid value
400 Bad RequestReservationAmount or catalogueItems must be provided.INVALID_REQUESTreservationAmount or catalogItems have not been included in the request
400 Bad RequestInvalid tier amount.INVALID_REQUESTNot consistent with the values set in the configuration file for redemption daily minimum, maximum, and increments.
400 Bad RequestBased on the user and account status, user is not eligible for redemption.INVALID_REQUESTIf status is suspended, lost or stolen, damaged, fraud or abuse, or cancelled, no redemption can proceed.
400 Bad RequestReservation allowance exceededINVALID_REQUESTThe amount of points indicated for reservation exceeds the limits on how many points may be reserved.
400 Bad RequestInsufficient Funds.INVALID_REQUESTThere are not enough funds available to cover the redemption reservation.
400 Bad RequestbusinessUnit is mandatory and required to be non-empty.INVALID_REQUESTbusinessUnit must be included in the request and must contain a value.
400 Bad RequestredeemerId is mandatory and required to be non-empty.INVALID_REQUESTredeemerId must be included in the request and must contain a value.
400 Bad RequestredemptionId is mandatory and required to be non-empty.INVALID_REQUESTredemptionId must be included in the request and must contain a value.
400 Bad RequestReservationAmount or catalogueItems must be provided.INVALID_REQUESTThe request must include reservationAmount or catalogueItems.
400 Bad RequestRedeemer is not associated with a Business Unit: [Business Unit].INVALID_REQUESTThe redeemerId in the request must be associated with the businessUnit in the request.
400 Bad RequestInsufficient fundsINVALID_REQUESTThere are not enough funds available to cover the redemption reservation for this household.
400 Bad RequestConfigured redemption logic is not supportedINVALID_REQUESTThis should check only when member belongs to household and household template has invalid redemption logic configured.
400 Bad RequestUnable to reserve points for {accountID}. Please contact Customer Service to get more informationFAILED_REDEMPTIONNot able to redeem due to outstanding fraud prevention advice on account.
400 Bad RequestFulfillment email key is required.INVALID_REQUESTA value is required for the fulfillmentEmailKey field.
400 Bad RequestFulfillment email key not found in the Email address book of the account.INVALID_REQUESTThe fullfillmentEmailKey email address does not match any of the approved email addresses.

Request

Responses

200 - Reserved for Redemption