Optimized integrated logistics platform for commerce
Access all the options you need to run your business efficiently through a unified eCommerce shipping and spend management solution. Connect to all of your data sources and shipping providers via the CommerceShip API or app.
Essential features
Manage orders
Pull order data from a variety of sources, including store and marketplace integrations, CSV and files
Connect carriers
Ship using our built-in carrier accounts, or bring your own account
Ship packages
Compare rates, generate shipping labels, track shipments, verify addresses, manage returns and more
Audit invoices
Upload invoices and link carrier accounts to identify errors and issues with billing
Analyze data
Get insights into your shipments, carrier delivery performance and expenditures
Optimize spend
Use your data to run scenarios, compare program implementations and configure settings for improved outcomes
Shipping Management
Generate labels
Easily create and print shipping labels for various carriers directly from our platform. Ship anywhere, from domestic to international destinations.
Learn moreCompare rates
Access competitive shipping rates from multiple carriers in real-time. Compare options to find the most cost-effective solution for your shipments.
Learn moreTrack packages
Get real-time package tracking for you and your customers. Stay updated with live tracking status, estimated delivery dates, and receive notifications throughout shipment journey.
Learn moreLabel created
In transit
Delivered
Spend Management
Ensure billing accuracy with automated invoice audits. Identify discrepancies, claim refunds for service failures, and manage shipping expenses more effectively to control costs.
Learn moreGain 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 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
Order management
Shipping management
Parcel spend management
Reporting and analytics
Built for
Retailers, Merchants, and Sellers
Empower your business with order, shipping, and spend management. Enhance customer satisfaction through cost-effective rates, flexible shipping options, and tracking visibility.
Learn moreThird-party Logistics (3PL)
Optimize your logistics services with advanced tools for managing inventory, automating warehouse operations, and integration with clients' systems. Offer your clients improved accuracy, scalability, and real-time visibility.
Learn moreIntegrations
Get started today
Get access- Ship
- Analyze
- Optimize
- Automate