Runtime_BasketItem_Insert#
This is a runtime function intended to be called client side to add a single product to a basket. Because this is a runtime (public) function no API key is required. This function closely mimics the behavior of ADPR action and follows the same basic flow as Runtime_BasketItem_Update, by inserting the basket item so that the appropriate rt_basketitem logic is triggered. Product inventory is verified prior to insertion via Runtime_BasketItemList_Is_Available_Inventory. If the requested product matches an existing basket item of the “same” product, attributes, and subscription term, the existing item’s quantity is updated rather than inserting a duplicate record.
Request Parameters#
| Parameter | Type | Description |
|---|---|---|
Session_Type |
String | Always “runtime”. No API key needed. |
Session_ID |
String | Required. Session ID for the basket you wish to add the item to. |
Product_ID |
Number | The id of the product to add to the basket. One of Product_ID or Product_Code is required. |
Product_Code |
String | The code of the product to add to the basket. One of Product_ID or Product_Code is required. |
Quantity |
Number | Required. The quantity of the product to add. |
Subscription_Term_ID |
Number | Optional. The id of the Subscription Term to apply to the item, if the product supports subscriptions. |
Attributes |
Array | Optional. Array of selected attribute code/value objects. Example: [{"code":"size","value":"large"},{"code":"rush","value":""}] |
Note
If a UI exception is raised by the underlying add-to-basket logic (for example, the product is inactive, out of stock, or requires attributes/subscription selections that were not provided), the response will return success: 0 with error_code set to the UI exception’s code and error_message describing the problem.
Response Parameters#
| Parameter | Type | Description |
|---|---|---|
success |
Boolean | Boolean value indicating if the API request was successful |
total |
Number | Updated basket total price |
subtotal |
Number | Updated basket subtotal price |
formatted_total |
String | Currency formatted basket total price |
formatted_subtotal |
String | Currency formatted basket subtotal price |
Example Request#
{
"Store_Code": "{{Store_Code}}",
"Function": "Runtime_BasketItem_Insert",
"Session_Type": "runtime",
"Session_ID": "{{Session_ID}}",
"Product_Code": "shirt",
"Quantity": 2,
"Attributes": [{"code": "color", "value": "blue"}, {"code": "size", "value": "large"}]
}
Example Response#
{
"success": 1,
"data": {
"total": 1500.0,
"subtotal": 1500.0,
"formatted_total": "$1,500.00",
"formatted_subtotal": "$1,500.00"
}
}
Error Responses#
Product Not Found:
{
"success": 0,
"error_code": "MER-JSN-RTM-00023",
"error_message": "Product not found"
}
Insufficient Inventory:
{
"success": 0,
"error_code": "MER-JSN-RTM-00060",
"error_message": "The requested quantity is not available for this product."
}