Not logged in - Login

Basket Requests and Responses

Go to Promo Help Home


Submitting baskets to be validated is performed via the Qixol Promo Service Tier, using XML or Json for the request and response.

All data passed must adhere to the requirements for integration data - please refer to the the Integrating with Qixol Promo page for further details.

Basket Requests

Basket Reference

The request data passed when validating baskets uses a basket reference to uniquely identify the basket passed. This would typically be a till reference, order number or generated unique value. The basket reference is used to tie together multiple submissions for one basket; this would typically occur when baskets are re-submitted for validation on every change.

The reference is also used when searching for and viewing historical baskets in the Qixol Promo Web Application.

Basket Dates

When submitting a basket request a date must always be supplied, which will be used to identify which promotions are valid for the basket at that given point in time. If re-submitting a historical basket (for example in the case where the basket is being amended after being confirmed) the original date and time of the basket should be supplied to ensure that a consistent basket result is provided (if required).

Test Baskets

In order to aid with testing new promotions, a basket submission can be provided with a store attribute value equal to 'TEST'. All baskets captured against the 'TEST' store will not be counted when checking to see if a promotion is in use. Once a promotion is in use its structure cannot be changed.


Where required, a list of codes can be provided with the basket definition. The response provided from the basket handler will indicate which promotions, if any, were utilized.

Basket Items

Items submitted with the basket must have a unique Id associated with them. This is a unique line number for that item which will allow the response to be cross referenced against the request. Baskets items without unique ids against them will cause the basket request to be rejected.

Each basket item must provide a product code, and optionally a variant code can also be supplied.
The price to be used for the item must be specified. Prices imported as part of the Product Import routine are only used when creating test baskets in the Qixol Promo Web Application.

If delivery is required at the line level, a flag can be passed against a basket line to indicate that it is a delivery line. This allows for multiple delivery charges within one basket. If only one delivery charge is required, it is recommended to provide the delivery details in the header of the basket request.

Basket Responses

Basket validation will return an XML document which details any discounts applied to lines, a breakdown of promotions applied at the line level, any additional (split or delivery) lines added to the basket, and a summary of promotions applied and the totals for each of those promotions. Further to this, if any problems are encountered whilst validating the basket, these will also be returned.

All basket responses are captured by Qixol Promo and can be reviewed within the Qixol Promo Web Application.

Within the response provided there is a summary section which contains a flag indicating whether the basket request was successfully processed. Where the basket was successfully processed, the number of promotions applied is returned along with a list of the promotions applied and their total discounts. Where the basket was not successfully processed, warning or error messages will be provided in this section.

Further to this, each line will be updated (where promotions have been applied to it) to provide details of the new price, the line discount amount and a break down of the promotions applied to that line.