Retrieve cross-sell products
curl --request GET \
--url https://staging.api.commercengine.io/api/v1/{store_id}/storefront/catalog/marketplace/products/cross-sell \
--header 'Authorization: Bearer <token>'import requests
url = "https://staging.api.commercengine.io/api/v1/{store_id}/storefront/catalog/marketplace/products/cross-sell"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://staging.api.commercengine.io/api/v1/{store_id}/storefront/catalog/marketplace/products/cross-sell', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://staging.api.commercengine.io/api/v1/{store_id}/storefront/catalog/marketplace/products/cross-sell",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://staging.api.commercengine.io/api/v1/{store_id}/storefront/catalog/marketplace/products/cross-sell"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://staging.api.commercengine.io/api/v1/{store_id}/storefront/catalog/marketplace/products/cross-sell")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://staging.api.commercengine.io/api/v1/{store_id}/storefront/catalog/marketplace/products/cross-sell")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"message": "<string>",
"success": true,
"content": {
"products": [
{
"product_id": "<string>",
"variant_id": "<string>",
"sku": "<string>",
"product_slug": "<string>",
"variant_slug": "<string>",
"product_name": "<string>",
"variant_name": "<string>",
"short_description": "<string>",
"active": true,
"stock_available": true,
"on_subscription": true,
"on_promotion": true,
"category_ids": [
"<string>"
],
"tags": [
"<string>"
],
"reviews_count": 123,
"reviews_rating_sum": 123,
"attributes": [
{
"id": "<string>",
"name": "<string>",
"key": "<string>",
"type": "color",
"value": [
{
"name": "<string>",
"hexcode": "<string>"
}
]
}
],
"images": [
{
"id": "<string>",
"title": "<string>",
"alternate_text": "<string>",
"sort_order": 123,
"url_tiny": "<string>",
"url_thumbnail": "<string>",
"url_standard": "<string>",
"url_zoom": "<string>"
}
],
"pricing": {
"currency": "<string>",
"tax_type": "GST",
"tax_rate": 123,
"price_including_tax": true,
"listing_price": 123,
"selling_price": 123,
"min_order_quantity": 1,
"max_order_quantity": 123,
"incremental_quantity": 1,
"selling_price_excluding_tax": 123
},
"promotion": {
"id": "<string>",
"starts_at": "2023-11-07T05:31:56Z",
"expires_at": "2023-11-07T05:31:56Z",
"details": {
"discount_percent": 123,
"discount_fixed_amount": 123
}
},
"subscription": [
{
"id": "<string>",
"subscription_plan": "<string>",
"subscription_price": 123,
"billing_interval": 123,
"billing_limit": 123,
"fulfill_separately": false,
"order_interval": 123,
"order_limit": 123,
"minimum_quantity": 123,
"billing_trial_days": 123
}
],
"associated_options": {
"background_color": {
"name": "Background Color",
"value": {
"name": "Blue",
"hexcode": "#0000FF"
},
"type": "color"
},
"size": {
"name": "Size",
"value": "Large",
"type": "single-select"
}
},
"seller_id": "<string>",
"seller_detail": {
"id": "<string>",
"trade_name": "<string>",
"legal_name": "<string>",
"business_type": "<string>",
"tax_identification_number": "<string>"
},
"backorder": true,
"categories": [
{
"id": "<string>",
"name": "<string>",
"slug": "<string>",
"description": "<string>",
"parent_category_id": "<string>",
"product_count": 123,
"active": true
}
],
"shipping": {
"handling_charges_including_tax": 123,
"handling_charges_excluding_tax": 123,
"tax_type": "<string>",
"tax_rate": 123
},
"inventory": [
{
"lot_batch": "<string>",
"mfg_date": "2023-12-25",
"exp_date": "2023-12-25",
"manufacturer": "<string>",
"stock_quantity": 123
}
]
}
],
"pagination": {
"total_records": 123,
"total_pages": 123,
"limit": 123,
"next_page": 123,
"previous_page": 123
}
}
}{
"message": "<string>",
"success": false,
"code": "<string>"
}{
"message": "<string>",
"success": true,
"code": "<string>"
}Catalog
Retrieve cross-sell products
Retrieves a list of products specified for cross selling. The cross-sell products are returned based on product ids specified in request param.
GET
/
catalog
/
marketplace
/
products
/
cross-sell
Retrieve cross-sell products
curl --request GET \
--url https://staging.api.commercengine.io/api/v1/{store_id}/storefront/catalog/marketplace/products/cross-sell \
--header 'Authorization: Bearer <token>'import requests
url = "https://staging.api.commercengine.io/api/v1/{store_id}/storefront/catalog/marketplace/products/cross-sell"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://staging.api.commercengine.io/api/v1/{store_id}/storefront/catalog/marketplace/products/cross-sell', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://staging.api.commercengine.io/api/v1/{store_id}/storefront/catalog/marketplace/products/cross-sell",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://staging.api.commercengine.io/api/v1/{store_id}/storefront/catalog/marketplace/products/cross-sell"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://staging.api.commercengine.io/api/v1/{store_id}/storefront/catalog/marketplace/products/cross-sell")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://staging.api.commercengine.io/api/v1/{store_id}/storefront/catalog/marketplace/products/cross-sell")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"message": "<string>",
"success": true,
"content": {
"products": [
{
"product_id": "<string>",
"variant_id": "<string>",
"sku": "<string>",
"product_slug": "<string>",
"variant_slug": "<string>",
"product_name": "<string>",
"variant_name": "<string>",
"short_description": "<string>",
"active": true,
"stock_available": true,
"on_subscription": true,
"on_promotion": true,
"category_ids": [
"<string>"
],
"tags": [
"<string>"
],
"reviews_count": 123,
"reviews_rating_sum": 123,
"attributes": [
{
"id": "<string>",
"name": "<string>",
"key": "<string>",
"type": "color",
"value": [
{
"name": "<string>",
"hexcode": "<string>"
}
]
}
],
"images": [
{
"id": "<string>",
"title": "<string>",
"alternate_text": "<string>",
"sort_order": 123,
"url_tiny": "<string>",
"url_thumbnail": "<string>",
"url_standard": "<string>",
"url_zoom": "<string>"
}
],
"pricing": {
"currency": "<string>",
"tax_type": "GST",
"tax_rate": 123,
"price_including_tax": true,
"listing_price": 123,
"selling_price": 123,
"min_order_quantity": 1,
"max_order_quantity": 123,
"incremental_quantity": 1,
"selling_price_excluding_tax": 123
},
"promotion": {
"id": "<string>",
"starts_at": "2023-11-07T05:31:56Z",
"expires_at": "2023-11-07T05:31:56Z",
"details": {
"discount_percent": 123,
"discount_fixed_amount": 123
}
},
"subscription": [
{
"id": "<string>",
"subscription_plan": "<string>",
"subscription_price": 123,
"billing_interval": 123,
"billing_limit": 123,
"fulfill_separately": false,
"order_interval": 123,
"order_limit": 123,
"minimum_quantity": 123,
"billing_trial_days": 123
}
],
"associated_options": {
"background_color": {
"name": "Background Color",
"value": {
"name": "Blue",
"hexcode": "#0000FF"
},
"type": "color"
},
"size": {
"name": "Size",
"value": "Large",
"type": "single-select"
}
},
"seller_id": "<string>",
"seller_detail": {
"id": "<string>",
"trade_name": "<string>",
"legal_name": "<string>",
"business_type": "<string>",
"tax_identification_number": "<string>"
},
"backorder": true,
"categories": [
{
"id": "<string>",
"name": "<string>",
"slug": "<string>",
"description": "<string>",
"parent_category_id": "<string>",
"product_count": 123,
"active": true
}
],
"shipping": {
"handling_charges_including_tax": 123,
"handling_charges_excluding_tax": 123,
"tax_type": "<string>",
"tax_rate": 123
},
"inventory": [
{
"lot_batch": "<string>",
"mfg_date": "2023-12-25",
"exp_date": "2023-12-25",
"manufacturer": "<string>",
"stock_quantity": 123
}
]
}
],
"pagination": {
"total_records": 123,
"total_pages": 123,
"limit": 123,
"next_page": 123,
"previous_page": 123
}
}
}{
"message": "<string>",
"success": false,
"code": "<string>"
}{
"message": "<string>",
"success": true,
"code": "<string>"
}Authorizations
Access token
Headers
This param is used to determine product pricing, promotions, and subscription rates. If a valid customer group id is provided, pricing details will be retrieved accordingly. If no matching data is found for the specified customer group id, the system will fall back to the default customer group id. If no data is found for the default group either, the highest applicable price will be returned.
Query Parameters
no of rows per page
page number in pagination
Product ids of cart items
json to sort records
Was this page helpful?
⌘I