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.