curl --request POST \
--url https://api.salesive.com/api/v1/shipping/shipments \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"orderId": "6640c1b2d4e5f60102030406",
"shippingAddressId": "6635d1e2d4e5f60102030407",
"carrier": "GIG Logistics",
"trackingNumber": "GIG-998877",
"trackingUrl": "https://track.giglogistics.com/GIG-998877",
"shippingMethod": "standard",
"shippingCost": 1500,
"notes": "Leave at front desk"
}
'import requests
url = "https://api.salesive.com/api/v1/shipping/shipments"
payload = {
"orderId": "6640c1b2d4e5f60102030406",
"shippingAddressId": "6635d1e2d4e5f60102030407",
"carrier": "GIG Logistics",
"trackingNumber": "GIG-998877",
"trackingUrl": "https://track.giglogistics.com/GIG-998877",
"shippingMethod": "standard",
"shippingCost": 1500,
"notes": "Leave at front desk"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
orderId: '6640c1b2d4e5f60102030406',
shippingAddressId: '6635d1e2d4e5f60102030407',
carrier: 'GIG Logistics',
trackingNumber: 'GIG-998877',
trackingUrl: 'https://track.giglogistics.com/GIG-998877',
shippingMethod: 'standard',
shippingCost: 1500,
notes: 'Leave at front desk'
})
};
fetch('https://api.salesive.com/api/v1/shipping/shipments', 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.salesive.com/api/v1/shipping/shipments",
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([
'orderId' => '6640c1b2d4e5f60102030406',
'shippingAddressId' => '6635d1e2d4e5f60102030407',
'carrier' => 'GIG Logistics',
'trackingNumber' => 'GIG-998877',
'trackingUrl' => 'https://track.giglogistics.com/GIG-998877',
'shippingMethod' => 'standard',
'shippingCost' => 1500,
'notes' => 'Leave at front desk'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.salesive.com/api/v1/shipping/shipments"
payload := strings.NewReader("{\n \"orderId\": \"6640c1b2d4e5f60102030406\",\n \"shippingAddressId\": \"6635d1e2d4e5f60102030407\",\n \"carrier\": \"GIG Logistics\",\n \"trackingNumber\": \"GIG-998877\",\n \"trackingUrl\": \"https://track.giglogistics.com/GIG-998877\",\n \"shippingMethod\": \"standard\",\n \"shippingCost\": 1500,\n \"notes\": \"Leave at front desk\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.salesive.com/api/v1/shipping/shipments")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"orderId\": \"6640c1b2d4e5f60102030406\",\n \"shippingAddressId\": \"6635d1e2d4e5f60102030407\",\n \"carrier\": \"GIG Logistics\",\n \"trackingNumber\": \"GIG-998877\",\n \"trackingUrl\": \"https://track.giglogistics.com/GIG-998877\",\n \"shippingMethod\": \"standard\",\n \"shippingCost\": 1500,\n \"notes\": \"Leave at front desk\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.salesive.com/api/v1/shipping/shipments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"orderId\": \"6640c1b2d4e5f60102030406\",\n \"shippingAddressId\": \"6635d1e2d4e5f60102030407\",\n \"carrier\": \"GIG Logistics\",\n \"trackingNumber\": \"GIG-998877\",\n \"trackingUrl\": \"https://track.giglogistics.com/GIG-998877\",\n \"shippingMethod\": \"standard\",\n \"shippingCost\": 1500,\n \"notes\": \"Leave at front desk\"\n}"
response = http.request(request)
puts response.read_body{
"status": 201,
"success": true,
"message": "Create a shipment for an order",
"data": {
"_id": "6651b2c3d4e5f60102030405",
"orders": [
"6640c1b2d4e5f60102030406"
],
"carrier": "GIG Logistics",
"courier": {
"id": null,
"name": "GIG Logistics",
"image": null
},
"shippingAddress": "6635d1e2d4e5f60102030407",
"shippingOption": null,
"metadata": {},
"trackingNumber": "GIG-998877",
"trackingCode": "GIG-998877",
"trackingUrl": "https://track.giglogistics.com/GIG-998877",
"shippingMethod": "standard",
"shippingCost": 1500,
"notes": "Leave at front desk",
"status": "pending",
"createdAt": "2026-06-28T09:00:00.000Z",
"updatedAt": "2026-06-28T09:00:00.000Z"
}
}{
"status": 401,
"success": false,
"message": "Authentication required",
"data": null
}{
"status": 403,
"success": false,
"message": "Insufficient scope",
"data": null
}Create a shipment for an order
Create a shipment for an order. Requires the WRITE_SHIPPING scope.
curl --request POST \
--url https://api.salesive.com/api/v1/shipping/shipments \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"orderId": "6640c1b2d4e5f60102030406",
"shippingAddressId": "6635d1e2d4e5f60102030407",
"carrier": "GIG Logistics",
"trackingNumber": "GIG-998877",
"trackingUrl": "https://track.giglogistics.com/GIG-998877",
"shippingMethod": "standard",
"shippingCost": 1500,
"notes": "Leave at front desk"
}
'import requests
url = "https://api.salesive.com/api/v1/shipping/shipments"
payload = {
"orderId": "6640c1b2d4e5f60102030406",
"shippingAddressId": "6635d1e2d4e5f60102030407",
"carrier": "GIG Logistics",
"trackingNumber": "GIG-998877",
"trackingUrl": "https://track.giglogistics.com/GIG-998877",
"shippingMethod": "standard",
"shippingCost": 1500,
"notes": "Leave at front desk"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
orderId: '6640c1b2d4e5f60102030406',
shippingAddressId: '6635d1e2d4e5f60102030407',
carrier: 'GIG Logistics',
trackingNumber: 'GIG-998877',
trackingUrl: 'https://track.giglogistics.com/GIG-998877',
shippingMethod: 'standard',
shippingCost: 1500,
notes: 'Leave at front desk'
})
};
fetch('https://api.salesive.com/api/v1/shipping/shipments', 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.salesive.com/api/v1/shipping/shipments",
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([
'orderId' => '6640c1b2d4e5f60102030406',
'shippingAddressId' => '6635d1e2d4e5f60102030407',
'carrier' => 'GIG Logistics',
'trackingNumber' => 'GIG-998877',
'trackingUrl' => 'https://track.giglogistics.com/GIG-998877',
'shippingMethod' => 'standard',
'shippingCost' => 1500,
'notes' => 'Leave at front desk'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.salesive.com/api/v1/shipping/shipments"
payload := strings.NewReader("{\n \"orderId\": \"6640c1b2d4e5f60102030406\",\n \"shippingAddressId\": \"6635d1e2d4e5f60102030407\",\n \"carrier\": \"GIG Logistics\",\n \"trackingNumber\": \"GIG-998877\",\n \"trackingUrl\": \"https://track.giglogistics.com/GIG-998877\",\n \"shippingMethod\": \"standard\",\n \"shippingCost\": 1500,\n \"notes\": \"Leave at front desk\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.salesive.com/api/v1/shipping/shipments")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"orderId\": \"6640c1b2d4e5f60102030406\",\n \"shippingAddressId\": \"6635d1e2d4e5f60102030407\",\n \"carrier\": \"GIG Logistics\",\n \"trackingNumber\": \"GIG-998877\",\n \"trackingUrl\": \"https://track.giglogistics.com/GIG-998877\",\n \"shippingMethod\": \"standard\",\n \"shippingCost\": 1500,\n \"notes\": \"Leave at front desk\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.salesive.com/api/v1/shipping/shipments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"orderId\": \"6640c1b2d4e5f60102030406\",\n \"shippingAddressId\": \"6635d1e2d4e5f60102030407\",\n \"carrier\": \"GIG Logistics\",\n \"trackingNumber\": \"GIG-998877\",\n \"trackingUrl\": \"https://track.giglogistics.com/GIG-998877\",\n \"shippingMethod\": \"standard\",\n \"shippingCost\": 1500,\n \"notes\": \"Leave at front desk\"\n}"
response = http.request(request)
puts response.read_body{
"status": 201,
"success": true,
"message": "Create a shipment for an order",
"data": {
"_id": "6651b2c3d4e5f60102030405",
"orders": [
"6640c1b2d4e5f60102030406"
],
"carrier": "GIG Logistics",
"courier": {
"id": null,
"name": "GIG Logistics",
"image": null
},
"shippingAddress": "6635d1e2d4e5f60102030407",
"shippingOption": null,
"metadata": {},
"trackingNumber": "GIG-998877",
"trackingCode": "GIG-998877",
"trackingUrl": "https://track.giglogistics.com/GIG-998877",
"shippingMethod": "standard",
"shippingCost": 1500,
"notes": "Leave at front desk",
"status": "pending",
"createdAt": "2026-06-28T09:00:00.000Z",
"updatedAt": "2026-06-28T09:00:00.000Z"
}
}{
"status": 401,
"success": false,
"message": "Authentication required",
"data": null
}{
"status": 403,
"success": false,
"message": "Insufficient scope",
"data": null
}rateId to create an automatic shipment from a previously fetched courier rate, or omit it and supply carrier/tracking details to create a manual shipment. The order must belong to the store bound to the app token, which is updated with a reference to the new shipment. Requires the WRITE_SHIPPING scope.Authorizations
Installed-app access token (prefix app_), issued by the OAuth install flow. The store is bound to the token server-side — never send a shop id.
Body
ObjectId of the order to ship.
ObjectId of the destination shipping address.
Carrier name (manual shipments).
Service code or id of a rate from a prior /shipping/rates call (automatic shipments).
Tracking number (manual shipments).
Tracking URL (manual shipments).
Shipping method label.
Shipping cost (minimum 0).
Estimated delivery date (ISO date).
Free-text notes for the shipment.
Response
Create a shipment for an order.
Standard Salesive response envelope. The operation-specific payload is carried in data.
HTTP status code, echoed in the body.
Whether the request succeeded.
Human-readable result message.
A shipment record. Shapes vary slightly by how the shipment was created (manual, automatic label, or ShipDay dispatch); only the most common fields are listed and extra properties may be present.
Show child attributes
Show child attributes
Was this page helpful?

