Logistics optimization platform for commerce
The unified platform for shipment planning and execution. CommerceShip combines shipment, rate, order and inventory data from your supply chain to optimize decisions and automate workflows.
Key capabilities
Analyze data
Get insights into your shipments, carrier delivery performance and spend
Optimize shipping
Set targets, run scenarios, and compare program implementations
Manage rates
Centralize carrier contracts and configure rates across your primary and sub-accounts
Connect data
Access pre-built integrations for stores, marketplaces, OMS, WMS, TMS, ERP, carriers, along with custom data sources via API or CSV.
Automate processes
Improve your workflow by automating repetitive tasks, saving time and reducing errors
Ship packages
Compare rates, generate shipping labels, track shipments, verify addresses and more
Shipment Planning
Gain insights into your shipping operations with advanced analytics and benchmarking. Track performance metrics, identify trends, and make data-driven decisions to optimize your logistics strategy.
Learn moreMaximize efficiency and reduce costs with our optimization tools. Analyze and improve your inventory item selection, packaging methods, carrier service selection, and shipping routes to achieve the best operational performance.
Learn moreSimplify your shipping operations with centralized account and rate management. Manage sub accounts, carrier access, and rate sets all in one place, ensuring consistency, control, and flexibility in rate management.
Learn moreShipment Execution
Order fulfillment
Easily manage and process orders by automating imports, tracking order statuses, and preparing shipments, all from a single platform.
Learn moreMulti-carrier shipping
Access a wide range of carrier options, compare rates, generate shipping labels, and select the best service for each shipment, guaranteeing fast and cost-effective delivery.
Learn moreAutomation
Automate repetitive shipping tasks with custom rules that define triggers, conditions, and actions, improving efficiency and reducing manual effort across your operations.
Learn morecurl --location 'https://api.commerceship.com/v1/orders' \
--header 'Content-Type: application/json' \
--header 'Accept: application/json' \
--header 'return-label: true' \
--header 'full-response: true' \
--header 'Authorization: Bearer eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlY2JkNDQ0My04ZDFhLTRlNmMtYmIyOS0xYmUxMTk2NDZlOGMiLCJwZXJtaXNzaW9ucyI6W10sInJvbGVzIjpbXSwiZXhwIjoxNzA0MDY3MjAwLjB9.5MKHwwW6Se3riycZQ381Tk_NC85jkl5p-My8wp6kvo-OcQeSLWL0Ct8AA5TqJpEHTm-moRGQT1jtr598cEAuUg
' \
--data '{
"from_address": {
"company_name" : "Retail Group",
"first_name" : "James",
"last_name" : "Smith",
"street1" : "456 Elm Ave",
"street2" : "Suite 101",
"city_locality" : "Springfield",
"state_province" : "IL",
"postal_code" : "67890",
"country_code" : "US"
},
"to_address": {
"company_name" : "Client ",
"first_name" : "Mary",
"last_name" : "Johnson",
"street1" : "1122 Cedar Blvd,
"city_locality" : "Brookville",
"state_province" : "CA",
"postal_code" : "99901",
"country_code" : "US"
},
"service": "usps_priority_mail",
"ship_date": "2024-01-02T00:00:00.000Z",
"packages": [
{
"package_type": "parcel",
"insurance_type": "carrier",
"insured_value": {
"value": 20.00,
"unit": "usd"
},
"weight": {
"value": 1.00,
"unit": "lb"
},
"dimensions": {
"length": 12.00,
"width": 9.00,
"height": 4.00,
"unit": "in"
}
}
],
"items": [
{
"description": "shirt",
"quantity": 1,
"item_weight": {
"value": 16.00,
"unit": "oz"
},
"item_value": {
"value": 19.99,
"unit": "usd"
},
"item_dimensions": {
"length": 10.50,
"width": 8.00,
"height": 1.00,
"unit": "in"
},
"sku": "SHRT-BLA-M-001",
"origin_country_code": "US"
}
],
"create_label": true
}'
import okhttp3.*;
import java.io.IOException;
public class CommerceShipApi {
public static void main(String[] args) throws IOException {
OkHttpClient client = new OkHttpClient().newBuilder().build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n \"from_address\": {\n \"company_name\" : \"Retail Group\",\n \"first_name\" : \"James\",\n \"last_name\" : \"Smith\",\n \"street1\" : \"456 Elm Ave\",\n \"street2\" : \"Suite 101\",\n \"city_locality\" : \"Springfield\",\n \"state_province\" : \"IL\",\n \"postal_code\" : \"67890\",\n \"country_code\" : \"US\"\n },\n \"to_address\": {\n \"company_name\" : \"Client \",\n \"first_name\" : \"Mary\",\n \"last_name\" : \"Johnson\",\n \"street1\" : \"1122 Cedar Blvd\",\n \"city_locality\" : \"Brookville\",\n \"state_province\" : \"CA\",\n \"postal_code\" : \"99901\",\n \"country_code\" : \"US\"\n },\n \"service\": \"usps_priority_mail\",\n \"ship_date\": \"2024-01-02T00:00:00.000Z\",\n \"packages\": [\n {\n \"package_type\": \"parcel\",\n \"insurance_type\": \"carrier\",\n \"insured_value\": {\n \"value\": 20.00,\n \"unit\": \"usd\"\n },\n \"weight\": {\n \"value\": 1.00,\n \"unit\": \"lb\"\n },\n \"dimensions\": {\n \"length\": 12.00,\n \"width\": 9.00,\n \"height\": 4.00,\n \"unit\": \"in\"\n }\n }\n ],\n \"items\": [\n {\n \"description\": \"shirt\",\n \"quantity\": 1,\n \"item_weight\": {\n \"value\": 16.00,\n \"unit\": \"oz\"\n },\n \"item_value\": {\n \"value\": 19.99,\n \"unit\": \"usd\"\n },\n \"item_dimensions\": {\n \"length\": 10.50,\n \"width\": 8.00,\n \"height\": 1.00,\n \"unit\": \"in\"\n },\n \"sku\": \"SHRT-BLA-M-001\",\n \"origin_country_code\": \"US\"\n }\n ],\n \"create_label\": true\n}");
Request request = new Request.Builder()
.url("https://api.commerceship.com/v1/orders")
.method("POST", body)
.addHeader("Content-Type", "application/json")
.addHeader("Accept", "application/json")
.addHeader("return-label", "true")
.addHeader("full-response", "true")
.addHeader("Authorization", "Bearer eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlY2JkNDQ0My04ZDFhLTRlNmMtYmIyOS0xYmUxMTk2NDZlOGMiLCJwZXJtaXNzaW9ucyI6W10sInJvbGVzIjpbXSwiZXhwIjoxNzA0MDY3MjAwLjB9.5MKHwwW6Se3riycZQ381Tk_NC85jkl5p-My8wp6kvo-OcQeSLWL0Ct8AA5TqJpEHTm-moRGQT1jtr598cEAuUg")
.build();
Response response = client.newCall(request).execute();
System.out.println(response.body().string());
}
}
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
class CommerceShipApi
{
static async Task Main(string[] args)
{
var httpClient = new HttpClient();
var request = new HttpRequestMessage(HttpMethod.Post, "https://api.commerceship.com/v1/orders")
{
Content = new StringContent("{\n \"from_address\": {\n \"company_name\" : \"Retail Group\",\n \"first_name\" : \"James\",\n \"last_name\" : \"Smith\",\n \"street1\" : \"456 Elm Ave\",\n \"street2\" : \"Suite 101\",\n \"city_locality\" : \"Springfield\",\n \"state_province\" : \"IL\",\n \"postal_code\" : \"67890\",\n \"country_code\" : \"US\"\n },\n \"to_address\": {\n \"company_name\" : \"Client \",\n \"first_name\" : \"Mary\",\n \"last_name\" : \"Johnson\",\n \"street1\" : \"1122 Cedar Blvd\",\n \"city_locality\" : \"Brookville\",\n \"state_province\" : \"CA\",\n \"postal_code\" : \"99901\",\n \"country_code\" : \"US\"\n },\n \"service\": \"usps_priority_mail\",\n \"ship_date\": \"2024-01-02T00:00:00.000Z\",\n \"packages\": [\n {\n \"package_type\": \"parcel\",\n \"insurance_type\": \"carrier\",\n \"insured_value\": {\n \"value\": 20.00,\n \"unit\": \"usd\"\n },\n \"weight\": {\n \"value\": 1.00,\n \"unit\": \"lb\"\n },\n \"dimensions\": {\n \"length\": 12.00,\n \"width\": 9.00,\n \"height\": 4.00,\n \"unit\": \"in\"\n }\n }\n ],\n \"items\": [\n {\n \"description\": \"shirt\",\n \"quantity\": 1,\n \"item_weight\": {\n \"value\": 16.00,\n \"unit\": \"oz\"\n },\n \"item_value\": {\n \"value\": 19.99,\n \"unit\": \"usd\"\n },\n \"item_dimensions\": {\n \"length\": 10.50,\n \"width\": 8.00,\n \"height\": 1.00,\n \"unit\": \"in\"\n },\n \"sku\": \"SHRT-BLA-M-001\",\n \"origin_country_code\": \"US\"\n }\n ],\n \"create_label\": true\n}", Encoding.UTF8, "application/json"),
};
request.Headers.Add("Accept", "application/json");
request.Headers.Add("return-label", "true");
request.Headers.Add("full-response", "true");
request.Headers.Add("Authorization", "Bearer eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlY2JkNDQ0My04ZDFhLTRlNmMtYmIyOS0xYmUxMTk2NDZlOGMiLCJwZXJtaXNzaW9ucyI6W10sInJvbGVzIjpbXSwiZXhwIjoxNzA0MDY3MjAwLjB9.5MKHwwW6Se3riycZQ381Tk_NC85jkl5p-My8wp6kvo-OcQeSLWL0Ct8AA5TqJpEHTm-moRGQT1jtr598cEAuUg");
HttpResponseMessage response = await httpClient.SendAsync(request);
string responseBody = await response.Content.ReadAsStringAsync();
Console.WriteLine(responseBody);
}
}
import requests
import json
url = "https://api.commerceship.com/v1/orders"
payload = json.dumps({
"from_address": {
"company_name": "Retail Group",
"first_name": "James",
"last_name": "Smith",
"street1": "456 Elm Ave",
"street2": "Suite 101",
"city_locality": "Springfield",
"state_province": "IL",
"postal_code": "67890",
"country_code": "US"
},
"to_address": {
"company_name": "Client",
"first_name": "Mary",
"last_name": "Johnson",
"street1": "1122 Cedar Blvd",
"city_locality": "Brookville",
"state_province": "CA",
"postal_code": "99901",
"country_code": "US"
},
"service": "usps_priority_mail",
"ship_date": "2024-01-02T00:00:00.000Z",
"packages": [
{
"package_type": "parcel",
"insurance_type": "carrier",
"insured_value": {
"value": 20.00,
"unit": "usd"
},
"weight": {
"value": 1.00,
"unit": "lb"
},
"dimensions": {
"length": 12.00,
"width": 9.00,
"height": 4.00,
"unit": "in"
}
}
],
"items": [
{
"description": "shirt",
"quantity": 1,
"item_weight": {
"value": 16.00,
"unit": "oz"
},
"item_value": {
"value": 19.99,
"unit": "usd"
},
"item_dimensions": {
"length": 10.50,
"width": 8.00,
"height": 1.00,
"unit": "in"
},
"sku": "SHRT-BLA-M-001",
"origin_country_code": "US"
}
],
"create_label": True
})
headers = {
'Content-Type': 'application/json',
'Accept': 'application/json',
'return-label': 'true',
'full-response': 'true',
'Authorization': 'Bearer eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJlY2JkNDQ0My04ZDFhLTRlNmMtYmIyOS0xYmUxMTk2NDZlOGMiLCJwZXJtaXNzaW9ucyI6W10sInJvbGVzIjpbXSwiZXhwIjoxNzA0MDY3MjAwLjB9.5MKHwwW6Se3riycZQ381Tk_NC85jkl5p-My8wp6kvo-OcQeSLWL0Ct8AA5TqJpEHTm-moRGQT1jtr598cEAuUg'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
Developers can customize and complement their existing applications by white-labeling our API
- REST API
- API reference and user guides
- Client libraries and SDKs
- Free developer sandbox
Brands can manage and fulfill orders through an easy-to-use app, with flexible workflow options
Insights
Order management
Automation
Shipping management
Built for
Retailers, Merchants, and Sellers
Gain insights that guide shipping choices. Compare rates, automate order fulfillment, and give customers tracking visibility into their orders.
Learn moreThird-party Logistics (3PL)
Make better decisions with your logistics data. Our platform provides rate modeling, analytics, and system integration tools. Create and test scenarios while giving your clients visibility into operations.
Learn moreGet started today
Get access- Analyze
- Optimize
- Automate
- Ship