Getting Started with ExpressTrack

Welcome to ExpressTrack! This guide will help you start tracking packages across multiple carriers with our unified API. You’ll learn how to authenticate, create trackings, and receive real-time updates.

Prerequisites

  • An ExpressTrack account (sign up at expresstrack.net)
  • Your API key (find it in your dashboard)
  • Basic knowledge of REST APIs

Quick Start Example

Here’s a complete example of tracking a package using our API:

# Replace YOUR_API_KEY with your actual API key
curl -X POST "https://api.expresstrack.net/trackings" 
  -H "Authorization: Bearer YOUR_API_KEY" 
  -H "Content-Type: application/json" 
  -d '{
    "tracking_number": "1Z999AA1234567890",
    "carrier_code": "ups"
  }'

Authentication

All API requests require an API key. Include it in the Authorization header:

Authorization: Bearer YOUR_API_KEY

Core Concepts

Tracking a Package

  1. Create a Tracking

    POST /trackings
    {
     "tracking_number": "1Z999AA1234567890",
     "carrier_code": "ups",  // Optional - we can auto-detect the carrier
     "metadata": {           // Optional - add your own reference data
       "order_id": "ORD123"
     }
    }
  2. Check Tracking Status

    GET /trackings/{tracking_id}

Understanding Tracking Statuses

Every tracking will have one of these statuses:

  • Pending – Just created, not yet tracked
  • InfoReceived – Carrier has shipping info
  • InTransit – Package is moving
  • OutForDelivery – Will be delivered today
  • Delivered – Successfully delivered
  • FailedAttempt – Delivery was attempted but failed
  • Exception – Problem occurred (delay, damage, etc.)
  • AvailableForPickup – Ready for pickup at location
  • Expired – No updates for 30+ days

Real-time Updates

Setting Up Webhooks

  1. Register your webhook endpoint:

    POST /webhooks
    {
     "url": "https://your-domain.com/tracking-updates",
     "secret": "your-webhook-secret"  // Optional but recommended
    }
  2. We’ll POST updates to your URL when tracking status changes:

    {
     "event": "tracking_update",
     "tracking": {
       "id": "track_123abc",
       "tracking_number": "1Z999AA1234567890",
       "status": "Delivered",
       "events": [
         {
           "timestamp": "2024-03-15T14:30:00Z",
           "status": "Delivered",
           "location": "San Francisco, CA",
           "message": "Package delivered to recipient"
         }
       ]
     }
    }

Next Steps

Rate Limits and Quotas

  • Free tier: 100 trackings/month
  • Pay-as-you-go: Starting at $0.10 per tracking
  • Enterprise: Contact us for volume pricing
  • API rate limit: 60 requests per minute

Need Help?