Orders & Shipments
Create orders, manage parcels, and track shipments through their full lifecycle.
From order to delivery, compliance to tracking — one SDK for the full chain
ZymeupClient is the unified Node.js SDK for all roles. Switch between merchant and carrier modes with the role parameter, replacing the old ZymeupUserSDK / ZymeupCarrierSDK split design.
import { ZymeupClient } from '@zymeup/sdk'
const sdk = new ZymeupClient({
apiKey: process.env.Zymeup_API_KEY!,
baseUrl: 'https://api.zymeup.com/api/v1',
role: 'merchant' // 'merchant' | 'carrier'
})
// Merchant mode: orders + EPOD + ECMR
const orders = await sdk.order.list({ page: 1 })
const epod = await sdk.epod.list({ trackingNo: 'TRACK123' })
// Switch to carrier mode
sdk.updateConfig({ role: 'carrier', carrierCode: 'DHL' })
const tracking = await sdk.tracking.list({ status: 'in_transit' })
const customs = await sdk.compliance.check({
recipient_country: 'NL', sender_country: 'CN', parcels: []
})TypeScript SDK for merchants covering Order, EPOD, ECMR, Address and full-chain APIs.
TypeScript SDK for carriers covering Tracking, Document, Compliance, and Shipment.
SDK for platform/marketplace scenarios — multi-merchant settlement, split payments, reconciliation.
graph LR
A[Merchant Order] --> B[Order Service]
B --> C[Address Resolution]
B --> D[Parcel Calculation]
C --> E[EPOD Electronic Signature]
C --> F[ECMR International Waybill]
D --> G[Carrier Pickup]
E --> H[PDF + Signature Hash]
F --> I[HMAC Signing Link]
G --> J[Tracking Events]
H --> K[Webhook Notifications]
I --> K
J --> K
style B fill:#0055ff,color:#fff
style E fill:#2563eb,color:#fff
style F fill:#2563eb,color:#fff
style K fill:#10b981,color:#fffimport { ZymeupClient } from '@zymeup/sdk'
const sdk = new ZymeupClient({
apiKey: process.env.Zymeup_API_KEY!,
baseURL: 'https://api.zymeup.com/api/v1'
})
// List orders
const orders = await sdk.order.list({ page: 1, page_size: 10 })
// Create order with auto-generated EPOD + ECMR
const result = await sdk.order.createWithDocuments({
sender_address_id: 'addr_001',
receiver_address_id: 'addr_002',
parcels: [{ weight: 1.5, length: 30, width: 20, height: 15 }],
auto_generate: { ecmr: true, epod: true }
})