Skip to content

🛣️ API Routes Reference - Partner Services Integration

📋 Overview

Complete reference of all Partner Services API routes that the main system needs to use. This guide provides a quick-scan format for developers to understand what APIs are available and their current implementation status.

Base URL: https://your-api-domain.com
Authentication: HMAC SHA-256 (see Authentication Guide)
Current Status: 100% Implemented | 51 APIs Operational


🏥 System Health & Information

MethodRouteDescriptionStatusPriority
GET/healthEnhanced system health check with componentsActive🔴 Critical
GET/health/readyKubernetes readiness probeActive🔴 Critical
GET/health/liveKubernetes liveness probeActive🔴 Critical
GET/api/v1API version informationActive🟡 Medium

🌍 Geographical Data Management

MethodRouteDescriptionStatusPriority
GET/api/v1/pincodes/statesGet all states with pincode countsActive🔴 Critical
GET/api/v1/citiesGet cities with comprehensive filteringActive🔴 Critical
GET/api/v1/areasGet areas with comprehensive filteringActive🔴 Critical
GET/api/v1/pincodes/searchAdvanced pincode search with filtersActive🔴 Critical
GET/api/v1/pincodes/{pincode}Get specific pincode detailsActive🔴 Critical
GET/api/v1/pincodes/{pincode}/hierarchyGet geographical hierarchy for pincodeActive🟡 Medium

🗺️ Zone Management

MethodRouteDescriptionStatusPriority
GET/api/v1/zonesGet all zones (main system)Active🔴 Critical
POST/api/v1/zonesCreate new zoneActive🔴 Critical
PUT/api/v1/zones/{id}Update existing zoneActive🟡 Medium
DELETE/api/v1/zones/{id}Delete zoneActive🟡 Medium

⚙️ Service Type Management

MethodRouteDescriptionStatusPriority
GET/api/v1/service-typesGet all service typesActive🔴 Critical
POST/api/v1/service-typesCreate new service typeActive🟡 Medium
PUT/api/v1/service-types/{type}Update existing serviceActive🟡 Medium
DELETE/api/v1/service-types/{type}Delete service typeActive🟡 Medium

📦 Package Management

MethodRouteDescriptionStatusPriority
GET/api/v1/packages/chargesGet package charges with filteringActive🔴 Critical
POST/api/v1/packages/chargesCreate new package charge configActive🔴 Critical
POST/api/v1/packages/charges/bulkCreate multiple package chargesActive🟡 Medium
PUT/api/v1/packages/charges/{id}Update package charge configActive🟡 Medium
DELETE/api/v1/packages/charges/{id}Delete package charge configActive🟡 Medium
PUT/api/v1/packages/weight-charges/{id}Update package weight charge configActive🟡 Medium
DELETE/api/v1/packages/weight-charges/{id}Delete package weight charge configActive🟡 Medium

💰 Customer Charge Management

MethodRouteDescriptionStatusPriority
GET/api/v1/customer-chargesGet customer charge configurationsActive🔴 Critical
POST/api/v1/customer-chargesCreate new customer charge configActive🔴 Critical
POST/api/v1/customer-charges/bulkCreate multiple customer chargesActive🟡 Medium
PUT/api/v1/customer-charges/{id}Update customer charge configActive🟡 Medium
DELETE/api/v1/customer-charges/{id}Delete customer charge configActive🟡 Medium

🎯 Discount Management

MethodRouteDescriptionStatusPriority
GET/api/v1/discountsGet discount configurationsActive🔴 Critical
POST/api/v1/discountsCreate new discount configActive🔴 Critical
POST/api/v1/discounts/bulkCreate multiple discountsActive🟡 Medium
PUT/api/v1/discounts/{id}Update existing discountActive🟡 Medium
DELETE/api/v1/discounts/{id}Delete discountActive🟡 Medium

👥 Partner Data Retrieval

MethodRouteDescriptionStatusPriority
GET/api/v1/partner-packages/{id}Get packages for specific partnerActive🔴 Critical
GET/api/v1/partner-charges/{id}Get charges for specific partnerActive🔴 Critical
GET/api/v1/partner-discounts/{id}Get discounts for specific partnerActive🔴 Critical
GET/api/v1/partner-services/{id}Get services for specific partnerActive🔴 Critical
GET/api/v1/partners/bulk-dataBulk partner data retrievalActive🔴 Critical

🧮 Charge Calculation

MethodRouteDescriptionStatusPriority
POST/api/v1/surcharge-calculation/{id}/calculateComprehensive charge calculationActive🔴 Critical
POST/api/v1/shipments/calculate-chargesShipment charge calculation (service)Active🔴 Critical
POST/api/v1/partners/availability/batch-chargesBatch availability with charge estimatesActive🔴 Critical

🔧 Partner Data Management

MethodRouteDescriptionStatusPriority
GET/api/v1/partner-zones/{id}Get partner zonesActive🔴 Critical
GET/api/v1/partners/comprehensive-data/{id}Get complete partner dataActive🔴 Critical

📍 Partner Availability & Assignment

MethodRouteDescriptionStatusPriority
POST/api/v1/partners/availability/checkCheck partner availabilityActive🔴 Critical
POST/api/v1/partners/availability/batch-with-chargesBatch partner availability with charge calculationActive🔴 Critical
POST/api/v1/shipment-assignment/assignAssign shipment to partner with trackingActive🔴 Critical
POST/api/v1/shipment-assignment/rank-partnersRank and compare partners for optimal selectionActive🔴 Critical
POST/api/v1/shipment-assignment/bulk-assignBulk shipment assignment processingActive🔴 Critical

📊 Summary Statistics

CategoryTotal APIsActiveCriticalMediumLow
System Health & Information33210
Geographical Data66510
Zone Management44220
Service Type Management44130
Package Management77250
Customer Charge Management55230
Discount Management55230
Partner Data Retrieval55500
Charge Calculation33300
Partner Data Management22200
Partner Availability44400
TOTAL515134170

🚀 Authentication & Rate Limits

Authentication Types:

  • Service-Level: For main system operations (29 APIs)
  • Partner-Level: For partner-specific data (16 APIs)
  • Public: No authentication required (3 APIs)

Rate Limits:

  • Service-Level: 1000 requests/minute
  • Partner-Level: 100 requests/minute
  • Public: 60 requests/minute

Error Response Codes:

  • 200/201 - Success
  • 400 - Bad Request
  • 401 - Authentication Failed
  • 403 - Forbidden/Not Authorized
  • 404 - Resource Not Found
  • 429 - Rate Limit Exceeded
  • 500 - Internal Server Error

📋 Quick Testing Examples

Health Check

bash
curl -X GET "https://your-api-domain.com/health"

States Data (Service Auth)

bash
curl -X GET "https://your-api-domain.com/api/v1/pincodes/states?search=Maharashtra&limit=10" \
  -H "x-service-id: MAIN_SYSTEM" \
  -H "x-timestamp: $(date +%s)" \
  -H "x-signature: your_service_signature"

Charge Calculation (Service Auth)

bash
curl -X POST "https://your-api-domain.com/api/v1/shipments/calculate-charges" \
  -H "Content-Type: application/json" \
  -H "x-service-id: MAIN_SYSTEM" \
  -H "x-timestamp: $(date +%s)" \
  -H "x-signature: your_service_signature" \
  -d '{
    "partnerId": "partner_001",
    "pickupPincode": "110001",
    "deliveryPincode": "400001",
    "weight": 2500,
    "shipmentType": "B2C",
    "paymentType": "COD",
    "declaredValue": 3500
  }'

Partner Availability Check (Service Auth)

bash
curl -X POST "https://your-api-domain.com/api/v1/partners/availability/check" \
  -H "Content-Type: application/json" \
  -H "x-service-id: MAIN_SYSTEM" \
  -H "x-timestamp: $(date +%s)" \
  -H "x-signature: your_service_signature" \
  -d '{
    "pickupPincode": "110001",
    "deliveryPincode": "400001",
    "weight": 2500,
    "shipmentType": "B2C",
    "paymentType": "COD",
    "serviceRequirements": ["PICKUP", "DELIVERY", "COD"]
  }'

Shipment Assignment (Service Auth)

bash
curl -X POST "https://your-api-domain.com/api/v1/shipment-assignment/assign" \
  -H "Content-Type: application/json" \
  -H "x-service-id: MAIN_SYSTEM" \
  -H "x-timestamp: $(date +%s)" \
  -H "x-signature: your_service_signature" \
  -d '{
    "shipmentDetails": {
      "shipmentId": "SH_1721123456789",
      "fromPincode": "110001",
      "toPincode": "400001",
      "weight": 2500,
      "shipmentType": "B2C",
      "paymentType": "COD",
      "serviceTypes": ["PICKUP", "DELIVERY", "COD"]
    },
    "assignmentPreferences": {
      "assignmentStrategy": "BEST_MATCH"
    }
  }'

Key Integration Points

For Main System Integration:

  1. Geographical APIs - Use /cities, /areas, /pincodes/search for location services
  2. Partner Data - Use /partners/comprehensive-data for complete partner information
  3. Availability Check - Use /partners/availability/check before assignment
  4. Charge Calculation - Use service-level /shipments/calculate-charges for estimates
  5. Assignment - Use /shipment-assignment/assign for final partner assignment

For Partner Integration:

  1. Zone Data - Use /partner-zones/{partnerId} for coverage information
  2. Charges - Use /partner-charges/{partnerId} for all charge configurations
  3. Services - Use /partner-services/{partnerId} for available services
  4. Calculation - Use /surcharge-calculation/{partnerId}/calculate for precise pricing

🔐 Authentication Summary

Service-Level (x-service-id)

  • All main system APIs
  • Zone management
  • Service types
  • Partner comprehensive data ✅ Active
  • Availability checks
  • Shipment assignments
  • Charge calculations ✅ Active

Partner-Level (x-partner-id)

  • Partner-specific data retrieval
  • Partner charge calculations
  • Partner zone access

Public (No Auth)

  • Basic health checks
  • State listings

🏷️ Recent Fixes & Enhancements (July 24, 2025)

Critical Fixes Applied:

  1. 🔧 Cache System

    • Cities and Areas APIs now return correct filtered results
    • Cache key generation for array parameters
    • Improved performance: 6-17ms response times
  2. 🔐 Authentication

    • Service-level auth now works for partner comprehensive data
    • Partner packages endpoint accepts service authentication
    • Better error messages for missing authentication
  3. ⚙️ Business Logic

    • Partner availability check supports "find all available partners"
    • Shipment assignment accepts hyphens/underscores in IDs
    • PICKUP and DELIVERY services are now mandatory
  4. 🚀 Middleware

    • Charge calculation middleware order corrected
    • Authentication now works properly for all endpoints

Performance Improvements:

  • Response Times: 6-17ms for geographical APIs, 145-567ms for complex calculations
  • Cache Efficiency: Proper key generation prevents cache collisions
  • Error Handling: Enhanced with specific error codes and suggestions

Breaking Changes:

None - All changes are backward compatible



🎯 Integration Checklist

Before Integration:

  • [ ] Review authentication setup (HMAC SHA-256)
  • [ ] Test health endpoints for connectivity
  • [ ] Verify service credentials and signatures

Core Integration Steps:

  • [ ] Implement geographical data fetching (cities/areas with cache support)
  • [ ] Setup partner data retrieval (comprehensive-data API)
  • [ ] Integrate availability checking (with "find all available" support)
  • [ ] Implement charge calculation (with proper authentication)
  • [ ] Setup shipment assignment

Post-Integration Testing:

  • [ ] Test cache performance on geographical APIs
  • [ ] Verify all authentication flows work correctly
  • [ ] Test error handling for edge cases
  • [ ] Validate assignment flow with different service requirements


Last Updated: January 25, 2025
API Version: v1.0.0
Status: Production Ready - 54+ APIs Operational

Released under the MIT License.