Skip to main content

No-Receipt Adjustment

POST 

/client/users/:correlation_id/adjustments

This request allows adjustments to be made when a transaction receipt is not available. No-Receipt Adjustments or reversals do not reference an original transaction and therefore there is nothing to compare the reversal to, so none of the original offers can be clawed back. The original transaction(s) will not reflect the adjustment, nor can reward controls be applied.

However:

  • Points will be clawed back against Base and Base Membership offers (not including frequency offers).

  • Relevant program contributions are clawed back and membership tiers adjusted (if applicable).

  • Relevant offer completions are clawed back as well.

  • There may be restrictions on how old the transaction can be with adjustments still allowed.

Notes:

  • For a single member, or In a household, if a redemption transaction begins, but one or more of the cards are subsequently set to a non-active state such as Suspended, Lost or Stolen, Fraud/Abuse, Cancelled, or Damaged and there is a subsequent adjustment (full, partial, or void), then to prevent fraud, the adjustment amount is still applied to single members or proportionally to all household members who had active cards before the redemption transaction began.

  • If a single member or household member is in a tier program, and points/status are set to roll over from one period to the next, then any adjustments that reduce or increase member point balances can affect the current tier. If the adjustment is to a previous period, then it can affect the rolled-over tier status as well. In a household, adjustments to this or previous periods may affect the tier status of all members of the household.

Request

The cart details in ES Console will reflect the result of the adjustment in the currency used.

Body

AttributeDefinitionFormatNotes
channelThe channel through which the transaction occurred.Enum: "STORE", "POS", "WEBSITE", "APP", "PARTNER"
localeThe locale of the member from the POS system.StringOptional. Currently "en-CA" or "fr-CA". If locale is set by the POS system in the Start Session request, this overrides locale set in the member provide and as the system default.
externalTransactionIDUnique identifier for transaction used by the client.StringOptional.
transactionDateCurrent date and time.StringDate of the Transaction (Full Date and Time) must be in an ISO-8601-compliant format, for example: 2022-01-17T13:48:59-04:00.
retailBannerThe name of the company.StringFor instance, "BUYCO".
storeNumberThe store number of the store with which the transaction is associated.Number
tillNumberThe till number within the store with which the transaction is associated.NumberThis attribute is optional.
employeeCodeThe employee number of the till operator.NumberThis attribute is optional for operations, but required for analytics.
priceMatrixRetail or employee transaction.Enum: "R" or "E"R = Retail
E = Employee
actionThe action to be carried out for the adjustment.StringThe action is always ADJ_NO_RECEIPT for this specific request.
reversalLineItemsContains the details for one item in the reversal transaction.Array
subCategorySame subcategory as in Product feed.NumberCan be blank to force system to grab subcategory from product data. This is an optional attribute.
skuThe product identifier.NumberFor instance, may be scanned at Point of Sale.
quantityNumber of the item in this transaction.NumberSingle-unit MSRP in pennies.
originalSaleAmountThe Manufacturer's Suggested Retail price for a product.NumberSingle-unit MSRP in pennies.
saleAmountMSRP less the discount, the actual sale price.NumberMSRP minus item discount in pennies.
itemDiscountAmount discounted.NumberThis attribute is optional and is in pennies.
itemTaxTax on the item.NumberTax on the line item in pennies.
finalSaleAmountTotal sale amount for a specific product, the discounted price times the quantity purchased.Numberquantity * saleAmount
tagsAdditional information about the transaction.StringRequired, but can be empty.
itemCostTotal cost for a specific product, the cost per unit times the quantity purchased.Numbercost per unit * quantity. This attribute is optional.
tenderObject containing information about various payment methodsObjectRequired for payment type to show in reports, but not all values within it are required.
{payment method}Object containing detailed payment details for a Visa credit cardObjectContains possible values: "VISA", "LOYALTY", "CASH", "GIFTCARD". Details are provided in the next four attributes below.
amountNumber of dollars involved in the adjustment that are relevant to the credit cardNumberRequired
idTypeMethod of identifying the card in the reportEnum: "LAST_4"Optional. Identified by last 4 digits.
prefixStandard prefix to the credit card numberNumberOptional
suffixSuffix to the credit card numberNumberOptional
linkedIf linked to a partner, this is the code for the partner nameEnum: "BANKNAME"Optional
LOYALTYShows value of rewards points usedString

Response

AttributeDefinitionFormatNotes
messageMessage returned to indicate that adjustment has been made.StringFor example: "No-receipt return logged."

Error Responses

statusCodeerrorMessageerrorCodeDefinition
400 Bad RequestMust provide a session correlation IDINVALID_REQUESTSession correlation ID must be provided to process this request
400 Bad RequestNo Reversal Items Specified for AdjustmentINVALID_REQUESTWhen there are no items on 'reversalLineItems'
400 Bad RequestCart cannot contain zero-quantity line itemsINVALID_REQUESTWhen cart has items with quantity 0
400 Bad RequestTransaction is older than ${adjustmentPeriod} daysINVALID_REQUESTWhen time to make adjustments is expired. See configuration ConfigType = ‘ADJUSTMENT_FEATURE’, attribute ‘adjustmentPeriod’
400 Bad RequestTransaction is not adjustableINVALID_REQUESTThe selected transaction cannot be adjusted
403 ForbiddenNo-receipt reversals are disabledFEATURE_DISABLEDWhen no-receipt transactions are not enabled. See configuration ConfigType = ‘ADJUSTMENT_FEATURE’, attribute ‘NoReceiptReturns’.’Enable’

Request

Responses

200 - Points Adjusted

Response Headers
    Date
    Example: Thu, 21 May 2020 03:44:18 GMT
    Content-Length
    Example: 39
    Connection
    Example: keep-alive
    x-amzn-RequestId
    Example: 0e19ea4e-8276-4367-9fe9-00c5478000f4
    Referrer-Policy
    Example: no-referrer
    X-XSS-Protection
    Example: 1;mode=block
    Access-Control-Allow-Origin
    Example: *
    Expect-CT
    Example: max-age=86400
    Strict-Transport-Security
    Example: max-age=31536000
    Feature-Policy
    Example: vibrate 'none'; geolocation 'none'
    X-Frame-Options
    Example: sameorigin
    Content-Security-Policy
    Example: connect-src 'none';object-src https://*.cloudfront.net;script-src https://*.cloudfront.net
    x-amz-apigw-id
    Example: M3PazFa2oAMFu3A=
    cache-control
    Example: no-cache, no-store, must-revalidate
    X-Content-Type-Options
    Example: nosniff
    X-Amzn-Trace-Id
    Example: Root=1-5ec5f911-d718ca277b215cb975f36b34;Sampled=0