Skip to content

Zymeup DocsAPI layer for logistics infrastructure

From order to delivery, compliance to tracking — one SDK for the full chain

SDK Repositories ​

ZymeupClient Unified SDK ​

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.

typescript
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: []
})

Legacy SDKs (backward compatible) ​

?? Merchant SDK

TypeScript SDK for merchants covering Order, EPOD, ECMR, Address and full-chain APIs.

?? Carrier SDK

TypeScript SDK for carriers covering Tracking, Document, Compliance, and Shipment.

?? Marketplace SDK

SDK for platform/marketplace scenarios — multi-merchant settlement, split payments, reconciliation.


Core Workflow ​

mermaid
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:#fff

Quick Start ​

typescript
import { 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 }
})

Released under the MIT License.