Partner API Documentation

This API allows authorized partners to fetch product data, place and track orders, and view usage information.

API Authentication

All API requests require the following HTTP headers:

Note: You can obtain your API key and Partner ID from the Partner Portal.

Endpoints

GET /products

Returns a list of all available products.

curl -X GET "https://partner-api.your-domain.com/api/v1/products" \
  -H "Authorization: Bearer your-api-key" \
  -H "X-Partner-ID: your-partner-id"
Response
{
  "success": true,
  "data": {
    "products": [
      {
        "productId": "ABCDEF123456",
        "name": "Europe 5GB / 30 Days",
        "description": "5GB data valid for 30 days across Europe",
        "planInfo": "5GB data valid for 30 days across Europe with unlimited calls", //if description is null, you can use this field to display the plan info
        "instructions": null,
        "price": 29.99,
        "validityDays": 30,
        "countries": ["FR", "DE", "IT", "ES", "NL"],
        "region": ["Europe", "Asia"],
        "dataAmount": 5,
        "dataUnit": "GB",
        "customPlanData": "2gb 460 kb/sec",
        "voiceMin": 50,
        "voiceMinUnit": "Min",
        "speed": "Unrestricted",
        "planType": "Fixed",
        "category": "esim_realtime", // esim_realtime, esim_addon, esim_replacement
        "networkType": "4G/LTE",
        "isVoiceAvailable": true,
        "isSmsAvailable": false,
        "hotspotAvailable": true,
        "topUpAvailable": false,
        "profile": "local",
        "activationPolicy": "Activation upon purchase",
        "startDateEnabled": false,
        "features": ["5G Support", "Unlimited Calls"]
      }
    ]
  }
}
Response

POST /order

Places a new order for an eSIM product. Returns essential order information only. Use the Order Details endpoint with the returned orderId to retrieve complete order information including eSIM details, pricing, and fulfillment data.

curl -X POST "https://partner-api.your-domain.com/api/v1/order" \
  -H "Authorization: Bearer your-api-key" \
  -H "X-Partner-ID: your-partner-id" \
  -H "Content-Type: application/json" \
  -d '{
    "productId": "ABCDEF123456",
    "startDate": "2023-11-01"
  }'
Response
{
  "success": true,
  "orderId": "VLZ123456",
  "message": "Order created successfully"
}
Note: The order creation response contains only essential summary information. To retrieve complete order details including eSIM data, pricing, and fulfillment information, use the GET /order/{orderId} endpoint with the returned orderId.
Response

GET /order/{orderId}

Retrieve order details using order ID.

curl -X GET "https://partner-api.your-domain.com/api/v1/order/VLZ123456" \
  -H "Authorization: Bearer your-api-key" \
  -H "X-Partner-ID: your-partner-id"
Response
{
  "success": true,
  "data": {
    "orderId": "VLZ123456",
    "status": "completed",
    "product": {
      "productId": "ABCDEF123456",
      "name": "Europe 5GB / 30 Days"
    },
    "orderTotal": 29.99,
    "quantity": 1,
    "startDate": "2023-11-01",
    "expiryDate": "2023-12-01",
    "iccid": "8991000123456789012",
    "smdpAddress": "trl.prod.ondemandconnectivity.com",
    "accessPointName": "mbb",
    "lpaString": "LPA:1$trl.prod.ondemandconnectivity.com$AAA22",
    "activationCode": "LPA:1$smdp.example.com$123456789-abcdef-123456",
    "status": "completed",
    "top_up": "Available",
    "qrCodeUrl": "https://example.com/qr/VLZ123456.png",
    "walletAuthTransactionId": "sksgdnsdyk1234567890",
    "createdAt": "2023-10-25T14:30:45Z"
  }
}
Response

GET /usage/{orderId}

Returns usage details for a specific order.

curl -X GET "https://partner-api.your-domain.com/api/v1/usage/VLZ123456" \
  -H "Authorization: Bearer your-api-key" \
  -H "X-Partner-ID: your-partner-id"
Response
{
  "success": true,
  "data": {
    "orderId": "VLZ123456",
    "totalData": 5368709120,
    "usedData": 2147483648,
    "remainingData": 3221225472,
    "status": "Active",
    "activationDate": "2023-11-01T00:00:00Z",
    "expiryDate": "2023-12-01T00:00:00Z",
    "lastUpdated": "2023-11-15T09:45:22Z",
    "usageMessage": "The operator does not yet support package status check, please refer to your device settings to check your data usage"
  }
}
Response

Error Codes

Code Description
401 Unauthorized Invalid API key or partner ID
404 Not Found Resource not found
500 Internal Server Error General server error