Add Products to Collection
curl --request POST \
--url https://api.sabivendor.com/api/v1/hub/shop/{shopId}/collections/{collectionId}/products \
--header 'Content-Type: application/json' \
--header 'X-Shop-API-Key: <x-shop-api-key>' \
--data '
{
"productIds": [
{}
]
}
'import requests
url = "https://api.sabivendor.com/api/v1/hub/shop/{shopId}/collections/{collectionId}/products"
payload = { "productIds": [{}] }
headers = {
"X-Shop-API-Key": "<x-shop-api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Shop-API-Key': '<x-shop-api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({productIds: [{}]})
};
fetch('https://api.sabivendor.com/api/v1/hub/shop/{shopId}/collections/{collectionId}/products', 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://api.sabivendor.com/api/v1/hub/shop/{shopId}/collections/{collectionId}/products",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'productIds' => [
[
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Shop-API-Key: <x-shop-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.sabivendor.com/api/v1/hub/shop/{shopId}/collections/{collectionId}/products"
payload := strings.NewReader("{\n \"productIds\": [\n {}\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Shop-API-Key", "<x-shop-api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.sabivendor.com/api/v1/hub/shop/{shopId}/collections/{collectionId}/products")
.header("X-Shop-API-Key", "<x-shop-api-key>")
.header("Content-Type", "application/json")
.body("{\n \"productIds\": [\n {}\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sabivendor.com/api/v1/hub/shop/{shopId}/collections/{collectionId}/products")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Shop-API-Key"] = '<x-shop-api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"productIds\": [\n {}\n ]\n}"
response = http.request(request)
puts response.read_body{
"status": "success",
"message": "Products added to collection successfully"
}
{
"message": "FORM_VALIDATION_ERROR",
"code": 400,
"validationErrors": [
{
"path": [
"productIds"
],
"message": "At least one product ID must be provided"
}
]
}
Collections Setup
Add Products to Collection
POST
/
api
/
v1
/
hub
/
shop
/
{shopId}
/
collections
/
{collectionId}
/
products
Add Products to Collection
curl --request POST \
--url https://api.sabivendor.com/api/v1/hub/shop/{shopId}/collections/{collectionId}/products \
--header 'Content-Type: application/json' \
--header 'X-Shop-API-Key: <x-shop-api-key>' \
--data '
{
"productIds": [
{}
]
}
'import requests
url = "https://api.sabivendor.com/api/v1/hub/shop/{shopId}/collections/{collectionId}/products"
payload = { "productIds": [{}] }
headers = {
"X-Shop-API-Key": "<x-shop-api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Shop-API-Key': '<x-shop-api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({productIds: [{}]})
};
fetch('https://api.sabivendor.com/api/v1/hub/shop/{shopId}/collections/{collectionId}/products', 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://api.sabivendor.com/api/v1/hub/shop/{shopId}/collections/{collectionId}/products",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'productIds' => [
[
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Shop-API-Key: <x-shop-api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.sabivendor.com/api/v1/hub/shop/{shopId}/collections/{collectionId}/products"
payload := strings.NewReader("{\n \"productIds\": [\n {}\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Shop-API-Key", "<x-shop-api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.sabivendor.com/api/v1/hub/shop/{shopId}/collections/{collectionId}/products")
.header("X-Shop-API-Key", "<x-shop-api-key>")
.header("Content-Type", "application/json")
.body("{\n \"productIds\": [\n {}\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sabivendor.com/api/v1/hub/shop/{shopId}/collections/{collectionId}/products")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Shop-API-Key"] = '<x-shop-api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"productIds\": [\n {}\n ]\n}"
response = http.request(request)
puts response.read_body{
"status": "success",
"message": "Products added to collection successfully"
}
{
"message": "FORM_VALIDATION_ERROR",
"code": 400,
"validationErrors": [
{
"path": [
"productIds"
],
"message": "At least one product ID must be provided"
}
]
}
Maps products to a collection to display them under collection catalog views.
Authorizations
string
required
Your Secret API Key (
sk_live_... or sk_test_...) generated from the Developer dashboard. Must be kept secret.Path Parameters
string
required
The unique UUID of the shop.
number
required
The unique ID of the collection.
Request Body (JSON)
array
required
List of product integer IDs to map. Must contain at least 1 product ID.
{
"status": "success",
"message": "Products added to collection successfully"
}
{
"message": "FORM_VALIDATION_ERROR",
"code": 400,
"validationErrors": [
{
"path": [
"productIds"
],
"message": "At least one product ID must be provided"
}
]
}
⌘I