Official SDK libraries for 7 programming languages. Build faster with pre-configured API clients, type safety, and automatic retries.
All SDKs are open-source, actively maintained, and provide the same comprehensive feature set. Choose the language that fits your tech stack.
v2.1.0
v1.8.3
v2.0.1
v1.5.2
v1.3.0
v1.4.1
v0.9.0
pip install 3plshipfrom 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)npm install @3plship/nodeconst 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);composer require 3plship/php-sdk<?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;gem install 3plshiprequire '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.idMaven: com.3plship:java-sdk:1.3.0import 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());dotnet add package ThreePLShipusing 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 get github.com/3plship/go-sdkpackage 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)
}Automatic API key management and token refresh. No manual header configuration needed.
Smart retry logic with exponential backoff for transient errors. Configurable retry policies.
Full TypeScript definitions and type hints in Python, Java, C#. Catch errors before runtime.
Native async/await in Node.js, Python, C#. Efficient handling of concurrent requests.
Built-in mocks and test fixtures. Sandbox mode for development and testing.
Detailed request/response logging. Debug mode for troubleshooting API issues.
All SDKs are actively maintained by the 3PL SHIP team. Report issues, request features, or contribute on GitHub.