NEW 2026 ENGINE AI Multi-Stop Route Optimizer with native Salla & Zid auto-sync is now live! Explore Integrations →
99.98% Uptime SLA
Developer Hub
Merchants & Integrators

Client API Reference

The shipping API for merchants and system integrators — authenticate, get a live rate quote, create orders/labels, group them into a manifest, and track parcels end-to-end.

Open Interactive Explorer
Getting Started

Authentication

Every request (except login) requires a Sanctum bearer token, obtained once via POST /api/shipper-client/login and sent on every subsequent call:

Authorization: Bearer <token>

Base URL: https://your-domain.com/api

POST /api/get-rates
curl -X POST https://your-domain.com/api/get-rates \ -H "Authorization: Bearer <token>" \ -H "Content-Type: application/json" \ -d '{ "service_code": "GROUND", "ship_from": { "postal_code": "11564" }, "ship_to": { "postal_code": "21589" }, "packages": [{ "shipment_type": "delivery", "package_code": "Box", "source_dimension_unit": "centimeters", "length": 30, "width": 20, "height": 15, "source_weight_unit": "grams", "weight": 2000 }], "currency": "SAR" }' 200 OK { "success": true, "shipment_prices": [{ "service_code": "GROUND", "total": "42.30", "currency_code": "SAR" }] }

Endpoints

Rates
Sample Request
{
  "service_code": "GROUND",
  "confirmation": "signature",
  "currency": "SAR",
  "ship_from": { "postal_code": "11564" },
  "ship_to": { "postal_code": "21589" },
  "packages": [
    {
      "shipment_type": "delivery",
      "package_code": "Box",
      "source_dimension_unit": "centimeters",
      "length": 30, "width": 20, "height": 15,
      "source_weight_unit": "grams", "weight": 2000
    }
  ]
}
Sample Response 200 OK
{
  "success": true,
  "shipment_prices": [
    {
      "service_index": 1,
      "service_code": "GROUND",
      "total": "42.30",
      "currency_code": "SAR",
      "packages_prices": [
        {
          "package_index": 1,
          "freight": { "amount": 35 },
          "fuel": { "amount": 7, "type": "Percentage", "percentage": 0.2 },
          "surcharges": [{ "name": "Signature", "amount": 0.3, "type": "Fixed" }],
          "total": "42.30"
        }
      ]
    }
  ]
}
Orders & Labels
Sample Request
{
  "ship_from": {
    "name": "Routerizon Fulfillment", "email": "ops@example.com", "phone": "+966500000000",
    "address_lines": ["King Fahd Rd"], "city": "Riyadh", "state": "Riyadh",
    "postal_code": "11564", "country": "SA"
  },
  "ship_to": {
    "name": "Ahmed Al-Harbi", "email": "ahmed@example.com", "phone": "+966511111111",
    "address_lines": ["Al-Murabba District"], "city": "Riyadh", "state": "Riyadh",
    "postal_code": "12613", "country": "SA"
  },
  "packages": [
    { "weight": 2, "length": 30, "width": 20, "height": 15, "dimension_units": "centimeters", "weight_units": "kilograms" }
  ]
}
Sample Response 200 OK
{
  "success": true,
  "order": {
    "id": 88421,
    "tracking_number": "RZ-994208-SA",
    "order_number": "ORD-100234",
    "status": "Label Created"
  },
  "label_url": "https://cdn.example.com/labels/rz-994208-sa.pdf"
}
Sample Request
{
  "tracking_number": "RZ-994300-SA",
  "order_number": "ORD-100235",
  "ship_from": {
    "name": "Routerizon Fulfillment", "email": "ops@example.com", "phone": "+966500000000",
    "address_lines": ["King Fahd Rd"], "city": "Riyadh", "state": "Riyadh",
    "postal_code": "11564", "country": "SA"
  },
  "ship_to": {
    "name": "Sara Al-Mutairi", "email": "sara@example.com", "phone": "+966522222222",
    "address_lines": ["Olaya District"], "city": "Riyadh", "state": "Riyadh",
    "postal_code": "12212", "country": "SA"
  },
  "packages": [
    { "weight": 1.2, "length": 25, "width": 18, "height": 10, "dimensions_units": "centimeters", "weight_units": "kilograms" }
  ]
}
Sample Response 200 OK
{
  "success": true,
  "order": {
    "id": 88422,
    "tracking_number": "RZ-994300-SA",
    "order_number": "ORD-100235",
    "status": "Pending Label"
  }
}
Sample Request
{
  "tracking_numbers": ["RZ-994208-SA", "RZ-994300-SA"]
}
Sample Response 200 OK
{
  "manifests": [
    { "manifest_number": "MF-000123", "tracking_numbers": ["RZ-994208-SA", "RZ-994300-SA"] }
  ],
  "errors": [],
  "invalid_orders": []
}
Tracking
Sample Request
{
  "tracking_number": "RZ-994208-SA"
}
Sample Response 200 OK
{
  "tracking_info": [
    {
      "carrier_name": "Routerizon",
      "tracking_number": "RZ-994208-SA",
      "origin_address": { "city_locality": "Riyadh", "postal_code": "11564" },
      "destination_address": { "city_locality": "Riyadh", "postal_code": "12613" },
      "standardized_status_code": "IT",
      "carrier_status_description": "In Transit",
      "events": [
        { "description": "Received Order Details", "status_code": "AC", "event_datetime_local": "2026-09-28 08:00:00" },
        { "description": "Driver Started Route", "status_code": "IT", "event_datetime_local": "2026-09-28 09:10:00" }
      ]
    }
  ]
}
Warehouse Scan
Sample Request
{
  "tracking_number": "RZ-994208-SA",
  "dc": 29,
  "device_id": "DC-RIYADH-SCANNER-04"
}
Sample Response 200 OK
{
  "type": "DC-SCAN",
  "parcel_old_status": 4,
  "parcel_current_status": 6,
  "label": "Ready For Route"
}

Ready to try it live?

Open the interactive Swagger explorer to authenticate and call every endpoint directly from your browser.

Open Interactive Explorer