Basket

The basket module handles the management of products within the basket and other related transactions. Each user is allowed to have a single active Basket, and a BasketItem is created for every unique item that users add to their basket.

Basket Model

Parameter
Data Type
Definition

id

integer

Database ID.

created_date

datetime (string)

Basket created on.

modified_date

datetime (string)

Basket last modified on.

status

string

Basket status. Basket status is defined on the BasketStatus enum.

version

integer

Version info. Version information is used to control whether the cached version matches the Basket data in the database.

user

integer

User account linked to the basket.

voucher_code

string

Basket discount code.

BasketItem Model

Parameter
Data Type
Definition

id

integer

Database ID.

created_date

datetime (string)

Basket item created on.

modified_date

datetime (string)

Basket item last modified on.

status

string

Version info. Version information is used to control whether the cached version matches the BasketItem data in the database.

attributes

dict

Additional attributes, if any, of the basket item.

attributes_kwargs

dict

Additional keywords for additional attributes, if any, of the basket item.

localized_attributes

dict

Additional localized attributes, if any, of the basket item.

localized_attributes_kwargs

dict

Additional keywords, if any, for additional localized attributes of the basket item.

basket

integer

Basket linked to the basket item.

reference

string

Unique key created for related basket item.

product

integer

Item linked to the basket item

quantity

integer

Quantity of basket item.

tax_rate

float

Tax rate of the basket item.

currency_type

string

Price currency of the basket item.

unit_price

float

Unit price of the basket item.

image

string

Thumbnail image of the basket item.

extra_product_price

integer

Additional product price variations, if any, for the basket item.

extra_product_stock

integer

Additional stock information, if any, for the basket item.

parent

integer

Parent product, if the basket item is a child product.

Basket Endpoints

Parameter
Data Type
Section to Submit
Definition

product

integer

body

ID of the item to be added to the basket.

quantity

integer

body

Quantity of the item to be added to the basket.

attributes

dict

body

Product properties.

inquiry

dict

body

Product details, if the item is exchangeable.

sub_items

dict

body

Sub items.

GET Basket Items

​Returns the basket and product information.

Path: https://{commerce_url}/baskets/basket/

Response

{
  "basket": {
    "basketitem_set": [
      {
        "quantity": 1,
        "product": {
          "pk": 1309,
          "name": "Gitar",
          "sku": "1020583031",
          "base_code": "1020583",
          "attributes": {},
          "attribute_set": 152,
          "attributes_kwargs": {},
          "extra_attributes": {},
          "productimage_set": [
            {
              "pk": 2576,
              "status": "active",
              "image": "HTTPs://akinon.akinoncdn.com/products/2021/09/10/3/e5b49285-7d8b-47a7-84f8-994c2217548a.jpg",
              "order": 1,
              "created_date": "2021-09-10T16:57:34.100718Z",
              "specialimage_set": [
              ]
            }
          ],
          "price": "120",
          "in_stock": true,
          "currency_type": "try",
          "retail_price": "200",
          "unit_type": "qty",
          "absolute_url": "/1020583031-1020583-gitar/",
          "productvideo_set": [],
          "product_type": "0",
          "price_type": "default",
          "form_schema": null,
          "is_ready_to_basket": true,
          "stock": 51,
          "data_source": null
        },
        "unit_price": "120.00",
        "currency_type": "try",
        "tax_rate": "18.00",
        "total_amount": "120.00",
        "shipping_discount": null,
        "attributes": {},
        "id": 7387,
        "attributes_kwargs": {},
        "image": null,
        "parent": null,
        "offer_badges": [
          {
            "description": "Sitewide Campaign",
            "discount": "24.00"
          }
        ],
        "price": "120.00",
        "retail_price": "200.00",
        "stock": 51,
        "discount_amount": "24.00"
      }
    ],
    "total_amount": "96.00",
    "total_quantity": 1,
    "unavailable_basket_products": [],
    "upsell_details": [],
    "discounts": [
      {
        "description": "Sitewide Campaign",
        "discount": "24.00"
      }
    ],
    "total_discount_amount": "24.00",
    "total_product_amount": "120.00",
    "voucher_code": null,
    "pk": 6863,
    "created_date": "2021-09-20T12:27:31.459026Z",
    "modified_date": "2021-09-20T12:27:31.459045Z"
  }
}

POST Add New Product to Basket

​This method is used to add a new product to the basket.

Path: https://{commerce_url}/baskets/basket/

Request Body

{
	"product": 49,
	"quantity": 2
}

Response

Returns the same response as the GET method. ​

PATCH Update a Product Quantity

Used to change the quantity of a product added to the basket.

Path: https://{commerce_url}/baskets/basket/

Request Body

{
	"product": 49,
	"quantity": 0
}

Response

Returns the same response as the GET method. ​

PUT Update a Product Quantity

Path: https://{commerce_url}/baskets/basket/

Request Body

{
	"product": 49,
	"quantity": 0
}

Response

Returns the same response as the GET method. ​

DELETE Remove All Products From Basket

​ This method is used to delete all products added to the basket.

Path: https://{commerce_url}/baskets/basket/

Response

{
	"basket": {
		"basketitem_set": [],
		"total_amount": "0.00",
		"total_quantity": 0,
		"unavailable_basket_products": [],
		"upsell_details": [],
		"discounts": [],
		"total_discount_amount": "0.00",
		"total_product_amount": "0.00",
		"voucher_code": null,
		"pk": 6863,
		"created_date": "2023-06-06T12:32:41.281764Z",
		"modified_date": "2023-07-05T10:22:34.911792Z",
		"segment": {
			"pk": null,
			"stock_list": null,
			"price_list": null
		}	
	}
}

PATCH Update Single Basket Item

This method is used for making individual modification in basket items. If the basket item modification is successful, a new basket item is produced as a response. If the BasketItem to be modified cannot be found, it returns an error code of 400.

Path: basket_items/$

Request Body

The following request body parameters can be used to update single basket item.

Parameter
Data Type
Definition

ID

integer

Database ID of the BasketItem to be modified.

is_all

boolean

If true is submitted, then the update applies to all quantities of the basket item. If false is submitted, then the update applies to one basket item.

attributes

boolean

Additional attributes of the basket item to modify.

{
	"id": 1720,
	"is_all": true
}

Data Parameters for PUT Method

Parameter
Data Type
Section to Submit
Definition

product

integer

body

ID of the item to be added to the basket.

quantity

integer

body

Quantity of the item to be added to the basket.

attributes

dict

body

Product properties.

inquiry

dict

body

Product details, if the item is exchangeable.

Payload Example

{
	"product": 1780,
	"quantity": 1,
	"attributes": {
	"example_attribute": 123
	}
}

Data Parameters for PATCH Method

Parameter
Data Type
Section to Submit
Definition

external_offer_code

string

body

When this field is submitted, the code is applied to the basket without instant verification, regardless of other fields.

remove_voucher_code

boolean

body

When True is submitted, the discount code is removed from the basket. When submitted simultaneously with external_offer_code, then the code submitted with external_offer_code is not removed.

voucher_code

string

body

Discount code to apply to the basket. Instant verification is also applied to the code submitted here.

Payload Examples

{
"voucher_code": "aaa-bbb-ccc"
}
{
"remove_voucher_code": true
}
{
"external_offer_code": "ddd-eee-fff"
}

Data Parameters for DELETE Method

There are no data parameters for the DELETE method.

Response Parameters

Parameter
Data Type
Definition

basketitem_set

array

Details of basket items.

quantity

integer

Quantity of basket item.

product

dict

Details of basket item.

unit_price

string

Item unit price.

currency_type

string

Item price currency.

tax_rate

string

Tax rate.

total_amount

string

Net product price.

shipping_discount

string

Item shipping discount amount.

attributes

dict

Item attributes.

id

integer

Database ID of the item.

attributes_kwargs

dict

Item attribute keywords.

image

string

Item image.

parent

dict

If the item is a child product, details of the parent product.

offer_badges

array

Discounts.

price

string

Item price.

retail_price

string

Item price before the discount.

stock

integer

Item stock amount.

discount_amount

string

Item discount amount.

total_amount

string

Total price of basket items.

total_quantity

integer

Total quantity of basket items.

unavailable_basket_products

array

Invalid or unavailable items in the basket.

upsell_details

array

Parameters and message details if there are items whose discount prices are no longer valid or if their prices increased later.

discounts

array

Discounts.

total_discount_amount

string

Total discount amount.

total_product_amount

string

Total price of items.

voucher_code

string

Discount code.

pk

integer

Database ID of the user's basket.

created_date

string

Date when the basket was created in the database.

modified_date

string

Date when the basket was last modified in the database.

segment:

dict

Information on which segment the customer is in

Last updated

Was this helpful?