LogoLogo
  • Welcome to Akinon Documentation
  • Products
    • ACC
    • Omnitron
    • Commerce
    • Order Management System (OMS)
    • Instore
    • Integrator
    • Marketplace Dashboard (MPD)
    • Project Zero (PZ)
    • Seller Center
    • Akifast
    • App Maker
  • API Reference
    • Welcome to Akinon API Reference
  • Omnitron
    • Getting Started
    • Integration
      • Product
        • Product
        • Pre-Product
        • Attribute
        • Attribute Value
        • Attribute Set
        • Product Image
      • Price
        • Price List
        • Product Price
        • Currency Unit Table
      • Stock
        • Stock List
        • Product Stock
      • Order
        • Get Orders
        • Search Order
        • Get Order Detail by Order Number
        • Get Order Item Detail
        • Orders ID Detail Integration
        • Orders Waiting to Send to ERP
        • Update Order and Order Item
        • Stock Reservation Release
        • Order Cancellation
        • Cancellation & Refund Pending Orders
        • Order Discount Items
        • Order Status Codes & Cancellation Statuses
      • Migration
        • Getting Started
        • User Migration
        • Address Migration
        • Old Order Migration
        • Old Order Item Migration
        • View Migration Progress
        • Currency Options
    • PIM
      • Attributes & Sets
      • Mapping
      • Localization
      • Media
    • Catalogue
      • Introduction
      • Price List
      • Stock List
      • Catalogue Item
      • Category Trees
      • Product Collection
      • Product Sorting
    • Channels
      • Introduction
      • Payments
      • Customers
    • Order
      • Getting Started
      • Fulfillment
      • Cancellations & Refunds
    • Retail Stores
      • Retail Stores
    • User Management
      • Roles & Permissions
      • Add & Remove
    • Whippy Ware
      • Introduction
      • Stock
      • Stock Lists
      • Stock List Rules
      • Stock Providers
      • Stock Locations
  • Omnitron OpenAPIs
    • Without Server
      • Customers
      • Reporting
      • Deleted Items
      • Pos
      • AttributeValues
      • Attribute Values
      • Providers
      • LDAPProviders
      • Healthcheck
      • LoyaltyTransactions
      • Policies
      • Exports
      • Dashboard
      • AuthTOTP
      • Price Lists
      • ProductPrices
      • Districts
      • Cities
      • Countries
      • Townships
      • PrometheusMetrics
      • Language
      • Content Types
      • Mappings
      • Applications
      • ApplicationPermissions
      • Error Reports
      • MailTemplates
      • UploadLogo
      • SalesChannelMarketPlaceAttributeSetConfig
      • SalesChannelCancellationRequestImage
      • SalesChannelCities
      • SalesChannelCancellationReasons
      • SalesChannelCargoCompany
      • SalesChannelProductImage
      • SalesChannelAttributeConfig
      • SalesChannelAttributeValueConfig
      • SalesChannelTownships
      • SalesChannelCustomers
      • SalesChannelFailedIntegrations
      • SalesChannelGetStockList
      • SalesChannelRetailStore
      • IntegrationActions
      • SalesChannelOrderShippingInfo
      • SalesChannelBatchRequests
      • SalesChannelAddresses
      • SalesChannelMarketPlaceAttributeSet
      • SalesChannelErrorReports
      • SalesChannelCategoryNodes
      • SalesChannelDistricts
      • SalesChannelProductStock
      • SalesChannelExtraProductStock
      • SalesChannelOrders
      • SalesChannelCancellationPlans
      • SalesChannelExtraProductPrices
      • SalesChannelProduct
      • SalesChannelAttributeSchemas
      • SalesChannelProductCategories
      • SalesChannelCancellationRequests
      • SalesChannelMarketPlaceAttributeValue
      • SalesChannelMappedProduct
      • SalesChannelMarketPlaceAttribute
      • SalesChannelOrderItem
      • SalesChannelProductPrice
      • SalesChannelCreateOrder
      • GetPriceList
      • SalesChannelCountries
      • SalesChannelGetPriceList
      • SalesChannelCategoryTree
    • With Server
      • Customers
      • Reporting
      • Deleted Items
      • Pos
      • AttributeValues
      • Attribute Values
      • Providers
      • LDAPProviders
      • Healthcheck
      • LoyaltyTransactions
      • Policies
      • Exports
      • Dashboard
      • AuthTOTP
      • Price Lists
      • ProductPrices
      • Districts
      • Cities
      • Countries
      • Townships
      • PrometheusMetrics
      • Language
      • Mappings
      • Content Types
      • Applications
      • ApplicationPermissions
      • Error Reports
      • MailTemplates
      • UploadLogo
      • SalesChannelMarketPlaceAttributeSetConfig
      • SalesChannelCancellationRequestImage
      • SalesChannelCities
      • SalesChannelCancellationReasons
      • SalesChannelCargoCompany
      • SalesChannelProductImage
      • SalesChannelAttributeConfig
      • SalesChannelAttributeValueConfig
      • SalesChannelTownships
      • SalesChannelCustomers
      • SalesChannelFailedIntegrations
      • SalesChannelGetStockList
      • IntegrationActions
      • SalesChannelRetailStore
      • SalesChannelOrderShippingInfo
      • SalesChannelBatchRequests
      • SalesChannelAddresses
      • SalesChannelMarketPlaceAttributeSet
      • SalesChannelErrorReports
      • SalesChannelDistricts
      • SalesChannelCategoryNodes
      • SalesChannelProductStock
      • SalesChannelExtraProductStock
      • SalesChannelCountries
      • SalesChannelOrders
      • SalesChannelProduct
      • SalesChannelCancellationPlans
      • SalesChannelExtraProductPrices
      • SalesChannelProductCategories
      • SalesChannelAttributeSchemas
      • SalesChannelCancellationRequests
      • SalesChannelMarketPlaceAttributeValue
      • SalesChannelMappedProduct
      • SalesChannelMarketPlaceAttribute
      • SalesChannelOrderItem
      • SalesChannelProductPrice
      • SalesChannelCreateOrder
      • GetPriceList
      • SalesChannelGetPriceList
      • SalesChannelCategoryTree
  • Commerce
    • Users
      • Getting Started
      • User Management & Authentication
      • Password & OTP Operations
      • User Profile & Segment Management
      • User Payment & Card Management
      • User Orders & Cancellations
      • Anonymous User Orders & Cancellations
      • User Support & Conversation
      • Captcha Validation
      • Currency & Akifast Operations
    • Checkout
      • Payment Related
      • Payment Strategy Related
      • Shipping Related
      • Independent Pages
    • Product
    • User Collections
    • Basket
    • Discount
    • Autocomplete
    • Breadcrumb
    • Pretty URLs
    • Menu
    • Widgets
    • Loyalty Accounts
    • Address Migration
    • Index Configuration
    • Favourite Products
    • User Address
    • Data Warehouse
    • Introduction
      • Filtering Parameters
    • Data Warehouse
    • Default
  • OMS
    • Package Services
    • Package Item Services
    • Package Denial Reason Services
    • Order Services
    • Order Item Services
    • Transfer Order Services
    • Transfer Item Services
    • Channel Services
    • Cancellation Plan Services
    • Cancellation Reason Services
    • Address Setup Services
    • City Services
    • District Services
    • Township Services
    • Stock Location Address Services
    • Webhook Setup Services
    • Webhook Event Services
    • Omnitron Order Webhooks
    • Undelivered Webhook Event Services
    • Inventory Discrepancy Services
    • OMS Setup Services
    • UI Settings Services
    • OMS Audit Events Service
    • Customer Address Services
    • Application Settings Services
    • Content Type Services
    • Customer Services
    • Channel Setup Services
    • Demo Data Service
    • Order Execution Plan Services
    • Invoice Services
    • Localization Services
    • Action Log Services
    • Order Log Services
    • Celery Metrics Service
    • Stock Location Services
    • Stock Location Address Services
    • Stock Location Sender Address Services
    • Stock Location Sender Address Setup Services
    • Cargo Company Condition Services
    • Permission Group Services
  • OMS OpenAPIs
    • Package Services
      • Default
    • Transfer Order Services
      • Default
  • Instore
    • Password Reset Services
  • Integrator
    • Projects
    • Flows
    • Logs
  • Seller Center
    • Languages
    • Categories
    • Introduction
    • Products
    • Packages
    • Orders
    • Claims
    • Shipping Methods
  • Akifast
    • Authentication
  • B2B
    • Quotation
    • Basket
    • Division
    • User
    • Staff User
    • Groups
    • Notification
    • Notification Template
  • Flows
    • Shipment Flows
    • Payment Flows
    • SMS Flows
    • Basket Offer Flows
Powered by GitBook

© 2025 Akinon. All rights reserved.

On this page
  • Add Product to Basket
  • Remove/Update Product From Basket
  • List Basket
  • Delete Basket Item
  • List Draft Baskets
  • Save Basket
  • Load Basket
  • Import Basket
  • Export Basket
  • Export File Status

Was this helpful?

  1. B2B

Basket

Basket stores the items that the user wants to purchase. Users can have multiple active baskets with different segment_remote_id. Users can not add products to the basket other than its own division.

After finishing the shopping, the user can name and save the basket in order to create a quotation later. Upon saving the basket, the status of the basket changes to draft. Users can load the basket any time and continue shopping.

The basket becomes submitted when the user issues a quotation request.

Add Product to Basket

Increase quantity if product is already in the basket, otherwise query commerce api over product_remote_id to get product details and add it.

Example Request

curl --request POST --location 'https://{COMMERCE_URL}/b2b/basket/' \
--header 'Content-Type: application/json' \
--header 'Authorization: Token {token}' \
--data '{
    "product_remote_id": 1,
    "division": 10,
    "quantity": 3
}'

Basket items are grouped by product_remote_id which is the id information of the product in the Commerce app. divisions list contains the divisions that the product is added for. total_amount in the first level is the total amount of the basket item. total_amount in basket_items is the total amount of the product of all divisions.

Example Response (200 OK)

{
  "id": 7,
  "total_amount": "81.65",
  "total_quantity": 6,
  "basket_items": [
    {
      "total_amount": "31.65",
      "price": "10.55",
      "quantity": 3,
      "divisions": [
        {
          "id": 11,
          "name": "sub",
          "erp_code": "ERP02",
          "quantity": 2
        },
        {
          "id": 10,
          "name": "main",
          "erp_code": "ERP01",
          "quantity": 1
        }
      ],
      "product": {
        "sku": "SKU01"
      },
      "product_remote_id": 1
    },
    {
      "total_amount": "40.00",
      "price": "20.00",
      "quantity": 2,
      "divisions": [
        {
          "id": 11,
          "name": "sub",
          "erp_code": "ERP02",
          "quantity": 2
        }
      ],
      "product": {
        "sku": "SKU02"
      },
      "product_remote_id": 2
    },
    {
      "total_amount": "10.00",
      "price": "10.00",
      "quantity": 1,
      "divisions": [
        {
          "id": 10,
          "name": "main",
          "erp_code": "ERP01",
          "quantity": 1
        }
      ],
      "product": {
        "sku": "SKU03",
        "name": "product name",
        "price": "10.00",
        "currency": "try",
        "variants": {
          "color": "red"
        },
        "product_image": "http://example.com/image.jpg"
      },
      "product_remote_id": 3
    }
  ],
  "segment_remote_id": null
}

Remove/Update Product From Basket

Remove or update the product in the basket. If quantity is set to 0, the product is removed from the basket.

Example Request

curl --request PUT --location  '{B2B_Backend_URL}/api/v1/basket/' \
--header 'Authorization: Token {Token}' \
--header 'Content-Type: application/json' \
--data '{
    "product_remote_id": 1,
    "division": 13,
    "quantity": 0
}'

Example Response (200 OK)

{
  "id": 11,
  "total_amount": "61.10",
  "total_quantity": 4,
  "basket_items": [
    {
      "total_amount": "21.10",
      "price": "10.55",
      "quantity": 2,
      "divisions": [
        {
          "id": 14,
          "name": "sub",
          "erp_code": "ERP02",
          "quantity": 2
        }
      ],
      "product": {
        "sku": "SKU01"
      },
      "product_remote_id": 1
    },
    {
      "total_amount": "40.00",
      "price": "20.00",
      "quantity": 2,
      "divisions": [
        {
          "id": 14,
          "name": "sub",
          "erp_code": "ERP02",
          "quantity": 2
        }
      ],
      "product": {
        "sku": "SKU02"
      },
      "product_remote_id": 2
    }
  ],
  "segment_remote_id": null
}

List Basket

List active basket of the user.

Example Request

curl --request GET --location  '{B2B_Backend_URL}/api/v1/basket/' \
--header 'Authorization: Token {Token}' \

Example Response (200 OK)

{
  "id": 13,
  "total_amount": "71.65",
  "total_quantity": 5,
  "basket_items": [
    {
      "total_amount": "31.65",
      "price": "10.55",
      "quantity": 3,
      "divisions": [
        {
          "id": 17,
          "name": "sub",
          "erp_code": "ERP02",
          "quantity": 2
        },
        {
          "id": 16,
          "name": "main",
          "erp_code": "ERP01",
          "quantity": 1
        }
      ],
      "product": {
        "sku": "SKU01"
      },
      "product_remote_id": 1
    },
    {
      "total_amount": "40.00",
      "price": "20.00",
      "quantity": 2,
      "divisions": [
        {
          "id": 17,
          "name": "sub",
          "erp_code": "ERP02",
          "quantity": 2
        }
      ],
      "product": {
        "sku": "SKU02"
      },
      "product_remote_id": 2
    }
  ],
  "segment_remote_id": null
}

Delete Basket Item

Delete the basket items that match the given product_remote_id from the basket.

Example Request

curl --request DELETE --location '{B2B_Backend_URL}/api/v1/basket/' \
--header 'Authorization: Token {Token}' \
--header 'Content-Type: application/json' \
--data '{
    "product_remote_id": 2
}'

Example Response (200 OK)

{
  "id": 32,
  "total_amount": "0.00",
  "total_quantity": 0,
  "basket_items": [],
  "segment_remote_id": null
}

List Draft Baskets

List draft baskets of the user.

Example Request

curl --request GET --location  '{B2B_Backend_URL}/api/v1/basket/drafts/' \
--header 'Authorization: Token {Token}' \

Example Response (200 OK)

[
  {
    "id": 18,
    "name": null,
    "total_amount": 0,
    "total_quantity": 0
  },
  {
    "id": 17,
    "name": null,
    "total_amount": 0,
    "total_quantity": 0
  }
]

Save Basket

Save the basket with the given name. Saved baskets are changed to draft status.

Example Request

curl --request POST --location '{B2B_Backend_URL}/api/v1/basket/save/' \
--header 'Authorization: Token {Token}' \
--header 'Content-Type: application/json' \
--data '{
    "name": "Basket 1"
}'

Load Basket

Load the basket with the given id. Loaded baskets are changed to active status.

Example Request

curl --request POST --location '{B2B_Backend_URL}/api/v1/basket/<basket_id>/load/' \
--header 'Authorization: Token {Token}' \
--header 'Content-Type: application/json' \
--data '{}'

Import Basket

Allows bulk addition of products to the basket by uploading a file.

Example Request

curl --location '{B2B_Backend_URL}/api/v1/basket/bulk-import/' \
--header 'Authorization: Token {token}' \
--form 'filename=@"bulk-import-basket.xls"'

Example Response (200 OK)

{
"message": "File imported successfully."
}

File Fields

Field
Description

product__sku

The SKU information of the product to be added to the basket.

quantity

The quantity of the product to be added to the basket.

division__erp_code

The ERP code information of the division.

Export Basket

Exports products added to the basket as a file. Returns a cache key to track the export status.

Request Parameters

Parameter
Description

fields

Specifies the fields to be included in the export file. Available fields: product__sku, division, division__erp_code, division__name, price, quantity, product_remote_id

format

Specifies the file format for the export. Acceptable values are csv and xls. The default is xls.

status_cache_key

A query parameter to track the status of the file export using the cache key returned from the initial request.

Example Request

curl --location '{B2B_Backend_URL}/api/v1/basket/?fields=division__erp_code
&fields=product__sku
' \
--header 'Authorization: Token {token}'

Example Response (200 OK)

{
"cache_key": "beacaa8ba65571e3840e28a11f17481e"
}

Export File Status

Checks the status of an export file using the cache key obtained from the export request. Provides information on whether the file is ready for download.

Example Request

curl --location '{B2B_Backend_URL}/api/v1/basket/?status_cache_key=8381f01436160bb756c805c5e3c25358' \
--header 'Authorization: Token {token}'

Example Response

{
  "is_ready": true,
  "url": "{url}/export_file/beacaa8ba65571e3840e28a11f17481e.xls",
  "status": "completed"
}

Response Parameters

Field
Description

is_ready

Indicates whether the file is ready for download (true or false).

url

The URL to download the exported file once it is ready.

status

Provides the current status of the export process (e.g., waiting, completed).

PreviousQuotationNextDivision

Last updated 26 days ago

Was this helpful?