Fulfillment Module
Manage orders from Shopify, process pick/pack workflows, generate UPS shipping labels, and track shipments.
Base URL: https://app.proign.com/[tenant]/fulfillment/api
Overview
The Fulfillment module streamlines your order-to-ship process:
- Automatic order sync from Shopify
- Pick/pack workflow with barcode scanning
- UPS label generation and tracking
- Batch processing for high-volume operations
- Integration with Inventory module for stock tracking
Key Features
Order Management
Orders are automatically imported from connected Shopify stores. Each order goes through status stages:
pending → processing → picked → packed → shipped → deliveredPick/Pack Workflow
- Pick - Warehouse staff scan items from shelves
- Verify - System confirms correct items and quantities
- Pack - Items are boxed and weighed
- Label - UPS shipping label is generated
- Ship - Package is handed to carrier
API Endpoints
Authentication
POST /api/[tenant]/auth/login # Operator login
POST /api/[tenant]/auth/logout # Logout
GET /api/[tenant]/auth/me # Current user info
Orders
GET /api/[tenant]/orders # List orders with filters
GET /api/[tenant]/orders/[id] # Get order details
POST /api/[tenant]/orders/[id]/operations # Execute order operations
Operations: The /operations endpoint accepts actions like pick, pack, ship, cancel via the request body.
Shipments
GET /api/[tenant]/shipments # List shipments
POST /api/[tenant]/shipments # Create shipment manually
GET /api/[tenant]/labels/[shipmentId]/png # Download label image
Sync & Settings
POST /api/[tenant]/sync # Trigger Shopify order sync
DELETE /api/[tenant]/sync # Clear all data (admin only)
GET /api/[tenant]/settings # Get tenant settings
PATCH /api/[tenant]/settings # Update settings
Device & Capabilities
GET /api/[tenant]/capabilities # User permissions
GET /api/[tenant]/device-settings # Device configuration
POST /api/[tenant]/device-settings # Save device config
Order Status Flow
Each order progresses through these stages:
| Status | Description | Action |
|---|---|---|
pending | Order received from Shopify | Automatic on sync |
processing | Assigned to warehouse operator | Manual or auto-assign |
picked | All items scanned from shelves | pick operation |
packed | Items boxed, weight recorded | pack operation |
shipped | UPS label generated, tracking number assigned | ship operation |
delivered | Carrier confirmed delivery | UPS tracking update |
Batch Processing
For high-volume operations, process multiple orders at once:
- Batch Pick - Generate a combined pick list for multiple orders, sorted by warehouse location
- Batch Ship - Generate UPS labels for all packed orders in one operation
- Batch Sync - Push fulfillment data back to Shopify for multiple orders
Shipping Services
| Service Code | Name | Typical Transit |
|---|---|---|
ground | UPS Ground | 1-5 business days |
3day | UPS 3 Day Select | 3 business days |
2day | UPS 2nd Day Air | 2 business days |
next_day | UPS Next Day Air | 1 business day |
Request Examples
Pick Order
POST /api/[tenant]/orders/[id]/operations
Content-Type: application/json
{
"action": "pick",
"items": [
{ "sku": "PROD-001", "quantity": 2 },
{ "sku": "PROD-002", "quantity": 1 }
]
}Ship Order (Generate Label)
POST /api/[tenant]/orders/[id]/operations
Content-Type: application/json
{
"action": "ship",
"package": {
"weight": 2.5,
"dimensions": { "length": 10, "width": 8, "height": 4 }
},
"service": "ground"
}
// Response (200 OK)
{
"data": {
"order_id": "ord_abc123",
"status": "shipped",
"shipment": {
"id": "shp_xyz789",
"tracking_number": "1Z999AA10123456784",
"carrier": "ups",
"service": "ground",
"label_url": "/api/[tenant]/labels/shp_xyz789/png",
"estimated_delivery": "2026-02-26"
}
}
}Configuration
Configure via PATCH /api/[tenant]/settings:
- Shopify Store - Connect your Shopify store for order sync
- UPS Credentials - Add UPS account for label generation
- Default Location - Set the default warehouse location
- Auto-fulfill - Automatically mark orders as fulfilled in Shopify
Webhooks
Shopify webhooks are automatically handled:
POST /api/[tenant]/webhooks/shopify # Shopify webhook receiver