Akinon Release Notes (05/12/2025) are now live! Click here to learn what's new.
LogoLogo
API Reference
  • Home
  • Quick Start
  • Tutorials
  • Technical Guides
  • Release Notes
  • Glossary
  • Welcome to Akinon Technical Guides
  • ACC
    • ACC CLI
    • Create Application via CLI
    • Deploy Environment Variables
    • App Store for Developers
  • Omnitron
    • Product Types
    • Product Categorization
    • Splitting a Merged Order Item
  • Commerce
    • Shipping Rules Calculator
    • Data Source Shipping Options
    • Attribute Based Shipping Options
    • Filtering Products
    • Conversation & Messages
    • Sitemap Configuration
    • Weight-Based Product Sales
    • Group Attribute Sets
    • Contract Management
    • Find in Store for Whippy Ware
    • Plugins
    • Remote Price
    • E-mail Templates
    • Loyalty Accounts
    • Search Structure
    • User Segmentation & Rules
    • Promotions
  • OMS
    • Getting Started with OMS
    • Basic Setup
    • Scenarios
    • Capacity Feature
    • Package Management
      • Packages
      • Transfer
      • States
    • Commands
      • Packages
        • Package Command Parameters
        • DeAllocate Package Reservations Command
        • Channel Based Complete Packaging without Shipment Command
        • Complete Packaging with Shipment Command
        • Complete Packaging without Shipment Command
        • Package Refuse with Denial Reason Command
        • Product Not Found & Wrong Product Command
        • Product Not Found & Wrong Product Command Advanced
        • Package Packed for Refund Command
        • Block The Package For Action Command
        • Unblock the Package For Action Command
        • Update The Package’s Invoice
        • Manual Planning Command
      • Transfer
        • Transfer Order Advanced Command
        • Product for Transfer Not Found & Wrong Product Command
        • Transfer Delivered Command
        • Transfer Dispatch Command
        • Transfer Ready for Dispatch Command
        • Transfer Out Of Stock
      • Shipment
        • Shipment Order Command
        • Package Advanced Shipment Command
        • Ship The Package Command
        • Ship The Package without Shipment Integration Command
        • Update The Package’s Shipment Status Command
        • Update Shipment Info of Package Command
    • Inventory Locations & Engine
      • Properties & Domain Relation
      • Customization
      • Inventory Engine
    • Fulfillment
      • Shipments
      • Invoice Integration
    • Webhooks
      • Webhook Examples
        • Order Webhook
        • Package Webhook
        • Shipment Webhook
        • Stock Location Webhook
        • Transfer Webhook
    • Integrating OMS with Seller Center
  • Instore
    • Getting Started
    • Cash Register Integration
    • OTP (One Time Password) Process
    • Services
      • Password Reset Services
  • Marketplace Dashboard
    • N11 Marketplace Setup Configurations
    • Trendyol Marketplace Setup Configurations
    • Walmart Marketplace Setup Configurations
    • Amazon Marketplace Setup Configurations
    • Hepsiburada Marketplace Setup Configurations
  • Project Zero
    • Django
      • Basic Setup
      • Project Structure
        • Templates & Components
        • Private Dependencies
        • Omnife Project Submodule
        • Webpack
        • ESLint Rules
        • Bundles
        • Multilanguage & Translation
        • Environmental File
        • Custom Error Pages
        • Icon Font
      • Page Types
        • Static Pages & Flatpages
        • Account Page
          • Template Rendering in Account Pages
          • Forms & Validation
        • Basket Page
          • Redux Basket State
          • Basket Page - View
        • Checkout
          • Redux Checkout State
          • View & Template Rendering
          • Masking & Validation
      • Theming & Styling
      • Widgets
      • SEO Management
      • Extending Project Zero
    • Next.js
      • Basic Setup
      • Deployment
      • Static Assets
      • Plugins
      • Widgets
      • Icons
      • Localization
      • SEO Management
      • Advanced Usage
      • Data Fetching
        • Client
          • Account
          • Address
          • Basket
          • Checkout
          • Misc
          • Product
          • User
          • Wishlist
        • Server
          • Category
          • Flat Page
          • List
          • Menu
          • Product
          • SEO
          • Special Page
          • Widget
  • App Maker
    • Setup Your Environment
    • Plugin Quickstart
    • Create Project
    • Setup Existing Project
    • Deploy Project
    • Users and Roles
    • Add Public Key
    • App Maker CLI
    • Create App on Stores
      • Creating App on Apple App Store
      • Creating App on Google Play Store
    • Mobile App Framework
      • Configuration
      • Framework
      • Project Structure
        • Structure
        • Data Containers
        • Pages
      • Dependency Integration
        • Plugins
        • Akinon Plugin Adapter
  • Akifast
    • HPP
      • Getting Started
      • Authorization
      • Payment Session Creation
        • Key Points Before Creating a Payment Session
        • Creating Payment Session
        • Redirecting to the Payment Page
        • Errors Encountered During Payment Session Creation
      • Merchant Services
        • Shipping Query URL
        • Agreement Query URL
        • Other URLs
  • B2B
    • Getting Started
    • B2B Setup
  • Adds-on
    • Invoicer
      • Introduction
      • Invoice & Pay On Delivery Service
  • Channel App Template
    • Introduction
    • Installation and Usage
    • Development Steps
      • Folder Structure
      • Starting Step
      • Encoding the Sales Channel
        • Introduction
        • Setup
        • Products
        • Product Price
        • Product Stock
        • Product Image
        • Orders
        • Product Data
      • Adding a New Command to Akinon
      • Listening for External Requests
    • Architecture
      • Introduction
      • Integration
      • Services (Flows)
        • Introduction
        • Product Service
        • Price Service
        • Stock Service
        • Image Service
        • Order Service
  • Multi Regional Settings
    • Multi Regional Settings
Powered by GitBook

© 2025 Akinon. All rights reserved.

On this page
  • GET List Data Source Shipping Options
  • POST Select Data Source Shipping Options

Was this helpful?

  1. Commerce

Data Source Shipping Options

This document provides an overview of Data Source Shipping Options and their purpose. Shipping Options are essential components on the Checkout Page, to select the shipment type for an order. Typically, an order is associated with a single shipping option.

Seller Center Commerce applications have data sources which are sellers in the system. Since each data source can support different shipping options, a new structure known as Data Source Shipping Option has been implemented. This allows users to select a data source shipping option for each data source on their basket.

Sellers on the Seller Center system can support different shipping options, which are their data source shipping options. A seller can select any of available shipping options, making the DataSourceShippingOptions available to them.

Setting the CHECKOUT_SHIPPING_OPTION_SELECTION_PAGE dynamic setting as DataSourceShippingOptionSelectionPage enables the DataSourceShippingOption selection instead of standard shipping options. Otherwise, standard shipping options will be available for the entire order.

GET List Data Source Shipping Options

This method is used to get the available data source shipping options for the current checkout.

Path: /orders/checkout/?page=DataSourceShippingOptionSelectionPage

Query Parameters

The following query parameters can be used to get a list of data source shipping options.

Parameter
Data Type
In
Description

page

string

query

The checkout page that the user makes a transaction.

Example Request

To retrieve available data source shipping options, a GET request should be sent to the /orders/checkout/?page=DataSourceShippingOptionSelectionPage endpoint.

import requests

url = "https://{commerce_url}/orders/checkout/?page=DataSourceShippingOptionSelectionPage"

payload={}
headers = {
'Accept': 'application/json',
}

response = requests.request("GET", url, headers=headers, data=payload)

print(response.text)

Example Response (200 OK)

In a successful response with a status code of 200 OK, the API returns the requested data source shipping options in a checkout context. The response includes the whole checkout page information of the user.

Parameter
Data Type
Description

data_sources

list

List of data sources on the basket.

pk

int

The ID of the data source.

name

string

The name of the data source.

data_source_shipping_options

list

Available data source shipping options of related data sources.

pk

id

The ID of the data source shipping option.

shipping_amount

string

The cost of the data source shipping option.

shipping_option_name

string

The name of the data source shipping option.

shipping_option_logo

url

The URL of the image of the data source shipping option.

This example response serves as a reference to understand the structure and data format returned when retrieving available data source shipping options successfully.

{
   "page_context":{
  	"data_sources":[
     	{
        	"pk":1,
        	"name":"bayram ticaret",
        	"data_source_shipping_options":[
           	{
              	"pk":1,
              	"shipping_amount":"33.00",
              	"shipping_option_name":"B2B",
              	"shipping_option_logo":null,
              	"data_source":{
                 	"pk":1,
                 	"title":"Bayram Ticaret"
              	}
           	}
        	]
     	}
  	]
   },
   "page_name":"DataSourceShippingOptionSelectionPage",
   "page_slug":"datasourceshippingoptionselectionpage"
}

POST Select Data Source Shipping Options

This method is used to select data source shipping options for the data sources on the checkout.

Path: /orders/checkout/?page=DataSourceShippingOptionSelectionPage

Request Body

The following request body parameters can be used to select data source shipping options.

Parameter
Data Type
In
Required
Description

data_source_shipping_options

list

body

✓

The list of IDs of the selected data source shipping options.

Example Request

import requests
import json

url = "https://{commerce_url}/orders/checkout/?page=DataSourceShippingOptionSelectionPage"
api_token = "f532eXXXXXXXXXXXXXXXXX201XXXXX9332d"

payload = "data_source_shipping_options=[3, 4, 1]"

headers = {
'Content-Type': 'application/x-www-form-urlencoded',
'Authorization': 'Token {}'.format(api_token)
}

response = requests.request("POST", url, headers=headers, data=payload)

print(response.text)

Example Response (200 OK)

In a successful response with a status code of 200 OK, the API indicates that a change has occurred on the checkout. First of all, error field must be checked. If it is null, page_context of the response contains the next page information. The set of data source shipping options is returned to the client in the pre-order using the following data structure.

{
   "data_source_shipping_options":[
  	{
     	"pk":1,
     	"shipping_amount":"33.00",
     	"shipping_option_name":"B2B",
     	"shipping_option_logo":null,
     	"data_source":{
        	"pk":1,
        	"title":"Bayram Ticaret"
     	}
  	}
   ]
}

Example Bad Request Response (200 OK)

In an unsuccessful response with a status code of 200 but contains a non-null error field, the errors are like below.

{
  "errors": {
       "data_source_shipping_options": [
           "Invalid pk \"1\" - object does not exist."
       ]
  }
}
"errors":{
  	"data_source_shipping_options":"This field is required"
    }
PreviousShipping Rules CalculatorNextAttribute Based Shipping Options

Was this helpful?