Developer Docs

Getting Started
  • Quick Start
  • Getting Started
  • Authentication
API Reference
  • Overview
  • Orders
  • Products
  • Inventory
  • Shipments
  • Customers
  • Returns
  • Tracking
Integrations
  • Shopify
  • WooCommerce
  • BigCommerce
  • Custom API
Webhooks
  • Overview
  • Webhook Events
Resources
  • Rate Limits
  • Error Codes
  • API Playground
  • SDK Libraries
  • Changelog
  • API Status
Support
  • Community
  • GitHub
  • Support
HomeDeveloper HubDocsSdks

SDK Libraries

Official SDK libraries for 7 programming languages. Build faster with pre-configured API clients, type safety, and automatic retries.

Choose Your Language

All SDKs are open-source, actively maintained, and provide the same comprehensive feature set. Choose the language that fits your tech stack.

๐Ÿ

Python

v2.1.0

pip install 3plship
๐Ÿ“ฅ 50K+ downloads
GitHub โ†’โ€ขDocs โ†’
๐Ÿ“—

Node.js

v1.8.3

npm install @3plship/node
๐Ÿ“ฅ 75K+ downloads
GitHub โ†’โ€ขDocs โ†’
๐Ÿ˜

PHP

v2.0.1

composer require 3plship/php-sdk
๐Ÿ“ฅ 30K+ downloads
GitHub โ†’โ€ขDocs โ†’
๐Ÿ’Ž

Ruby

v1.5.2

gem install 3plship
๐Ÿ“ฅ 15K+ downloads
GitHub โ†’โ€ขDocs โ†’
โ˜•

Java

v1.3.0

Maven: com.3plship:java-sdk:1.3.0
๐Ÿ“ฅ 20K+ downloads
GitHub โ†’โ€ขDocs โ†’
๐Ÿ”ท

C# / .NET

v1.4.1

dotnet add package ThreePLShip
๐Ÿ“ฅ 25K+ downloads
GitHub โ†’โ€ขDocs โ†’
๐Ÿ”ต

Go

v0.9.0

go get github.com/3plship/go-sdk
๐Ÿ“ฅ 10K+ downloads
GitHub โ†’โ€ขDocs โ†’

Quick Start Examples

๐Ÿ

Python

View on GitHub โ†’

Installation

pip install 3plship

Example: Create an Order

from threepl_ship import ThreePLShip

client = ThreePLShip(api_key="your_api_key")

# Create an order
order = client.orders.create({
    "customer": {
        "name": "John Doe",
        "email": "john@example.com"
    },
    "items": [
        {"sku": "SUPP-001", "quantity": 2}
    ]
})

print(order.id)
๐Ÿ“—

Node.js

View on GitHub โ†’

Installation

npm install @3plship/node

Example: Create an Order

const ThreePLShip = require('@3plship/node');

const client = new ThreePLShip({ apiKey: 'your_api_key' });

// Create an order
const order = await client.orders.create({
  customer: {
    name: 'John Doe',
    email: 'john@example.com'
  },
  items: [
    { sku: 'SUPP-001', quantity: 2 }
  ]
});

console.log(order.id);
๐Ÿ˜

PHP

View on GitHub โ†’

Installation

composer require 3plship/php-sdk

Example: Create an Order

<?php
require 'vendor/autoload.php';

use ThreePLShip\ThreePLShipClient;

$client = new ThreePLShipClient('your_api_key');

// Create an order
$order = $client->orders->create([
    'customer' => [
        'name' => 'John Doe',
        'email' => 'john@example.com'
    ],
    'items' => [
        ['sku' => 'SUPP-001', 'quantity' => 2]
    ]
]);

echo $order->id;
๐Ÿ’Ž

Ruby

View on GitHub โ†’

Installation

gem install 3plship

Example: Create an Order

require '3plship'

client = ThreePLShip::Client.new(api_key: 'your_api_key')

# Create an order
order = client.orders.create(
  customer: {
    name: 'John Doe',
    email: 'john@example.com'
  },
  items: [
    { sku: 'SUPP-001', quantity: 2 }
  ]
)

puts order.id
โ˜•

Java

View on GitHub โ†’

Installation

Maven: com.3plship:java-sdk:1.3.0

Example: Create an Order

import com.threeplship.ThreePLShip;
import com.threeplship.models.Order;

ThreePLShip client = new ThreePLShip("your_api_key");

// Create an order
Order order = client.orders().create(
    new CreateOrderRequest()
        .customer(new Customer()
            .name("John Doe")
            .email("john@example.com"))
        .addItem("SUPP-001", 2)
);

System.out.println(order.getId());
๐Ÿ”ท

C# / .NET

View on GitHub โ†’

Installation

dotnet add package ThreePLShip

Example: Create an Order

using ThreePLShip;

var client = new ThreePLShipClient("your_api_key");

// Create an order
var order = await client.Orders.CreateAsync(new CreateOrderRequest
{
    Customer = new Customer
    {
        Name = "John Doe",
        Email = "john@example.com"
    },
    Items = new List<OrderItem>
    {
        new OrderItem { Sku = "SUPP-001", Quantity = 2 }
    }
});

Console.WriteLine(order.Id);
๐Ÿ”ต

Go

View on GitHub โ†’

Installation

go get github.com/3plship/go-sdk

Example: Create an Order

package main

import (
    "fmt"
    "github.com/3plship/go-sdk"
)

func main() {
    client := threeplship.NewClient("your_api_key")
    
    // Create an order
    order, err := client.Orders.Create(&threeplship.CreateOrderRequest{
        Customer: &threeplship.Customer{
            Name:  "John Doe",
            Email: "john@example.com",
        },
        Items: []threeplship.OrderItem{
            {Sku: "SUPP-001", Quantity: 2},
        },
    })
    
    if err != nil {
        panic(err)
    }
    
    fmt.Println(order.ID)
}

๐Ÿ” Built-in Authentication

Automatic API key management and token refresh. No manual header configuration needed.

๐Ÿ”„ Automatic Retries

Smart retry logic with exponential backoff for transient errors. Configurable retry policies.

๐Ÿ“ Type Safety

Full TypeScript definitions and type hints in Python, Java, C#. Catch errors before runtime.

โšก Async Support

Native async/await in Node.js, Python, C#. Efficient handling of concurrent requests.

๐Ÿงช Test Helpers

Built-in mocks and test fixtures. Sandbox mode for development and testing.

๐Ÿ“Š Request Logging

Detailed request/response logging. Debug mode for troubleshooting API issues.

Need Help?

All SDKs are actively maintained by the 3PL SHIP team. Report issues, request features, or contribute on GitHub.

Join CommunityContact Support