Create Shipping Region
curl --request POST \
--url https://api.sabivendor.com/api/v1/hub/shop/{shopId}/shipping/regions \
--header 'Content-Type: application/json' \
--header 'X-Shop-API-Key: <x-shop-api-key>' \
--data '
{
"regionName": "<string>",
"price": 123,
"isOtherCities": true
}
'import requests
url = "https://api.sabivendor.com/api/v1/hub/shop/{shopId}/shipping/regions"
payload = {
"regionName": "<string>",
"price": 123,
"isOtherCities": True
}
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({regionName: '<string>', price: 123, isOtherCities: true})
};
fetch('https://api.sabivendor.com/api/v1/hub/shop/{shopId}/shipping/regions', 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}/shipping/regions",
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([
'regionName' => '<string>',
'price' => 123,
'isOtherCities' => true
]),
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}/shipping/regions"
payload := strings.NewReader("{\n \"regionName\": \"<string>\",\n \"price\": 123,\n \"isOtherCities\": true\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}/shipping/regions")
.header("X-Shop-API-Key", "<x-shop-api-key>")
.header("Content-Type", "application/json")
.body("{\n \"regionName\": \"<string>\",\n \"price\": 123,\n \"isOtherCities\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sabivendor.com/api/v1/hub/shop/{shopId}/shipping/regions")
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 \"regionName\": \"<string>\",\n \"price\": 123,\n \"isOtherCities\": true\n}"
response = http.request(request)
puts response.read_body{
"status": "success",
"message": "Shipping region rate created successfully",
"data": {
"id": 13,
"regionName": "Lagos Island Delivery",
"shippingFeeKobo": 250000,
"isOtherCities": false,
"isActive": true
}
}
{
"message": "FORM_VALIDATION_ERROR",
"code": 400,
"validationErrors": [
{
"path": [
"regionName"
],
"message": "A delivery fee with this name or region already exists"
}
]
}
Shipping Configuration
Create Shipping Region
POST
/
api
/
v1
/
hub
/
shop
/
{shopId}
/
shipping
/
regions
Create Shipping Region
curl --request POST \
--url https://api.sabivendor.com/api/v1/hub/shop/{shopId}/shipping/regions \
--header 'Content-Type: application/json' \
--header 'X-Shop-API-Key: <x-shop-api-key>' \
--data '
{
"regionName": "<string>",
"price": 123,
"isOtherCities": true
}
'import requests
url = "https://api.sabivendor.com/api/v1/hub/shop/{shopId}/shipping/regions"
payload = {
"regionName": "<string>",
"price": 123,
"isOtherCities": True
}
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({regionName: '<string>', price: 123, isOtherCities: true})
};
fetch('https://api.sabivendor.com/api/v1/hub/shop/{shopId}/shipping/regions', 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}/shipping/regions",
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([
'regionName' => '<string>',
'price' => 123,
'isOtherCities' => true
]),
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}/shipping/regions"
payload := strings.NewReader("{\n \"regionName\": \"<string>\",\n \"price\": 123,\n \"isOtherCities\": true\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}/shipping/regions")
.header("X-Shop-API-Key", "<x-shop-api-key>")
.header("Content-Type", "application/json")
.body("{\n \"regionName\": \"<string>\",\n \"price\": 123,\n \"isOtherCities\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sabivendor.com/api/v1/hub/shop/{shopId}/shipping/regions")
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 \"regionName\": \"<string>\",\n \"price\": 123,\n \"isOtherCities\": true\n}"
response = http.request(request)
puts response.read_body{
"status": "success",
"message": "Shipping region rate created successfully",
"data": {
"id": 13,
"regionName": "Lagos Island Delivery",
"shippingFeeKobo": 250000,
"isOtherCities": false,
"isActive": true
}
}
{
"message": "FORM_VALIDATION_ERROR",
"code": 400,
"validationErrors": [
{
"path": [
"regionName"
],
"message": "A delivery fee with this name or region already exists"
}
]
}
Registers a new shipping region rate configuration. Enforces uniqueness so no duplicate rate names or regions exist in the shop.
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.
Request Body (JSON)
string
required
Custom name of the shipping region.
number
required
Delivery fee in Kobo. Must be at least 0.
boolean
Indicates if this rate serves unmatched secondary cities.
{
"status": "success",
"message": "Shipping region rate created successfully",
"data": {
"id": 13,
"regionName": "Lagos Island Delivery",
"shippingFeeKobo": 250000,
"isOtherCities": false,
"isActive": true
}
}
{
"message": "FORM_VALIDATION_ERROR",
"code": 400,
"validationErrors": [
{
"path": [
"regionName"
],
"message": "A delivery fee with this name or region already exists"
}
]
}
⌘I