Skip to main content

Quick Start Guide

Get up and running with the eXlr8 API in minutes. This guide will walk you through making your first API call.

Prerequisites

Before you begin, ensure you have:

  • ✅ Completed the onboarding process
  • ✅ Received your test credentials (clientID and clientSecret)
  • ✅ A development environment with HTTP client capabilities

Quick Details

EnvironmentBase URL
UAT (Testing)https://stage-platform-exlr8.exlr8now.com

Your Credentials

You will be issued:

  • clientID (also used as dpID)
  • clientSecret

These will be used in headers for most API calls.

Step 1: Check Your Selected Wallet Balance

Let's start by checking your selected wallet balance to ensure your credentials work. This will return the details of your currently selected wallet, including the wallet ID, currency, and available balance.

curl --location 'https://stage-platform-exlr8.exlr8now.com/v1/delivery-partners/YOUR_DP_ID/wallet/balance?selectedWallet=true' \
--header 'x-client-id: YOUR_CLIENT_ID' \
--header 'x-client-secret: YOUR_CLIENT_SECRET'

Expected Response:

[
{
"walletID": "dee25d63-b110-48ee-9140-e9bf1649a06b",
"currency": "INR",
"balance": 12498908.2263
}
]

Step 2: Get Available Products

Retrieve the list of products available for ordering. Note that the convertedSellingPrice for each variant is calculated in your selected wallet currency, making it easy to compare prices across different product currencies.

curl --location 'https://stage-platform-exlr8.exlr8now.com/v1/products/delivery-partners/YOUR_DP_ID' \
--header 'x-client-id: YOUR_CLIENT_ID' \
--header 'x-client-secret: YOUR_CLIENT_SECRET'

Expected Response:

{
"products": [
{
"productID": "PROD-cd250a2a-2b27-40e0",
"attachments": [
"https://storage.googleapis.com/stage-platform-exlr8-public/assets/exlr8/products/0e6fffdd-67e7-41f1-bf87-12adc597d4cb/images/products/default_voucher.jpg"
],
"currency": "AED",
"applicableCountries": ["AE"],
"categories": [
{
"categoryID": "CAT-e0bc01c8-a9b2-4d3a",
"categoryName": "Gaming"
}
],
"descriptionText": "Get this voucher for instant savings on your next purchase. Simply redeem it at the time of checkout to apply the discount. It's the perfect way to make your money go further",
"productDisplayName": "TEST_PRODUCT_1_DP_APIS",
"productName": "TEST_PRODUCT_1_DP_APIS",
"redemptionInstructions": "To redeem your voucher, follow these steps:\n\nClick on the unique redemption URL provided in your email or on the voucher page.\n\nAdd your desired products to the cart on the partner's website.\n\nThe discount will be automatically applied at checkout, or you may need to enter a unique code found on your voucher.\n\nComplete your purchase and enjoy your savings!",
"termsAndConditions": "This voucher is valid for one-time use only. 2. It cannot be combined with any other offers, discounts, or promotions. 3. This voucher is non-refundable and cannot be exchanged for cash. 4. The voucher is valid until its stated expiration date. 5. Lost, stolen, or damaged vouchers will not be replaced. 6. The merchant reserves the right to modify these terms and conditions at any time without prior notice",
"variants": [
{
"variantID": "VAR-23c2a475-06cb-4118",
"variantName": "TEST_PRODUCT_1_DP_APIS INR 100",
"variantDisplayName": "₹ 100",
"mrp": 100,
"price": 99,
"margin": 1,
"stock": 10000,
"convertedSellingPrice": 2423.9556
}
]
},
{
"productID": "PROD-cf51c24f-425a-463b",
"attachments": [
"https://storage.googleapis.com/stage-platform-exlr8-public/assets/exlr8/products/0e6fffdd-67e7-41f1-bf87-12adc597d4cb/images/products/default_voucher.jpg"
],
"currency": "INR",
"applicableCountries": ["IN", "SG", "US", "AE"],
"categories": [
{
"categoryID": "CAT-e0bc01c8-a9b2-4d3a",
"categoryName": "Gaming"
}
],
"descriptionText": "Get this voucher for instant savings on your next purchase. Simply redeem it at the time of checkout to apply the discount. It's the perfect way to make your money go further",
"productDisplayName": "TEST_PRODUCT_2_DP_APIS",
"productName": "TEST_PRODUCT_2_DP_APIS",
"redemptionInstructions": "To redeem your voucher, follow these steps:\n\nClick on the unique redemption URL provided in your email or on the voucher page.\n\nAdd your desired products to the cart on the partner's website.\n\nThe discount will be automatically applied at checkout, or you may need to enter a unique code found on your voucher.\n\nComplete your purchase and enjoy your savings!",
"termsAndConditions": "This voucher is valid for one-time use only. 2. It cannot be combined with any other offers, discounts, or promotions. 3. This voucher is non-refundable and cannot be exchanged for cash. 4. The voucher is valid until its stated expiration date. 5. Lost, stolen, or damaged vouchers will not be replaced. 6. The merchant reserves the right to modify these terms and conditions at any time without prior notice",
"variants": [
{
"variantID": "VAR-23c2a475-06cb-4118",
"variantName": "TEST_PRODUCT_2_DP_APIS INR 100",
"variantDisplayName": "₹ 100",
"mrp": 100,
"price": 99,
"margin": 1,
"stock": 10000,
"convertedSellingPrice": 99
}
]
}
],
"paginationInfo": {
"nextCursor": "",
"hasMore": false
}
}
Currency Conversion

In the example above, the first product is in AED currency, so its convertedSellingPrice (2423.9556) is calculated using the current FX rate from AED to INR (your selected wallet currency). The second product is already in INR, so no FX conversion is applied, and convertedSellingPrice equals the price (99).

Step 3: Place Your First Order

Place a test order using a product variant from the previous step. Note that the selected wallet will be used for this transaction - the order amount will be deducted from your selected wallet balance, and any refunds will be credited back to the same wallet.

curl --location 'https://stage-platform-exlr8.exlr8now.com/v1/orders/b2b/direct-checkout' \
--header 'x-client-id: YOUR_CLIENT_ID' \
--header 'x-client-secret: YOUR_CLIENT_SECRET' \
--header 'Content-Type: application/json' \
--data '{
"dpID": "YOUR_DP_ID",
"variantID": "VAR-23c2a475-06cb-4118",
"externalRefID": "order-07-09-2025"
}'

Expected Response:

{
"orderID": "ORDIN0912202528cce89",
"externalRefID": "order-07-09-2025",
"dpUserEmail": "[email protected]",
"dpUserName": "Demo Intl Test Dp",
"dpID": "daa30819-8150-4490-b20f-65b75cb148ba",
"totalOrderMRP": 2448.44,
"totalAmount": 2448.44,
"totalCostPrice": 0,
"dpSellingPrice": 0,
"subDpSellingPrice": 0,
"currency": "INR",
"status": "CONFIRMED",
"fulfillmentStatus": "PROCESSING",
"createdAt": "2025-12-09T07:40:30.72Z",
"updatedAt": "2025-12-09T07:40:30.777Z",
"assetURL": "",
"type": "DIRECT_CHECKOUT",
"lineItems": [
{
"variantID": "VAR-23c2a475-06cb-4118",
"productID": "PROD-cd250a2a-2b27-40e0",
"quantity": 1,
"mrp": 100,
"price": 100,
"totalMRP": 100,
"totalPrice": 100,
"totalConvertedPrice": 2448.44,
"totalItemCostPrice": 0,
"currency": "AED",
"fxRate": 24.4844,
"markUpPercentage": 0,
"variantName": "TEST_PRODUCT_1_DP_APIS INR 100",
"productName": "TEST_PRODUCT_1_DP_APIS",
"variantDisplayName": "₹ 100",
"productDisplayName": "TEST_PRODUCT_1_DP_APIS",
"attachments": [
"https://storage.googleapis.com/exlr8-assets/voucher_bulk_uploads/default_voucher.jpg"
],
"mobileNumbers": null,
"vouchers": [],
"fulfillmentStatus": "PROCESSING",
"allocatedQty": 1,
"fulfilledQty": 1
}
]
}
Order Currency Conversion

In the order response, the line item currency is AED, and the totalConvertedPrice (2448.44) is calculated by converting the totalPrice (100) using the fxRate (24.4844) to your selected wallet currency (INR). This ensures the order amount deducted from your wallet is in your selected currency.

Step 4: Check Order Status

Monitor your order using the orderID from the previous response:

curl --location 'https://stage-platform-exlr8.exlr8now.com/v1/orders/b2b/delivery-partners/YOUR_DP_ID/ORDER_ID' \
--header 'x-client-id: YOUR_CLIENT_ID' \
--header 'x-client-secret: YOUR_CLIENT_SECRET'

Expected Response:

{
"orderID": "ORDIN0912202528cce89",
"externalRefID": "order-07-09-2025",
"dpUserEmail": "[email protected]",
"dpUserName": "Demo Intl Test Dp",
"dpID": "daa30819-8150-4490-b20f-65b75cb148ba",
"totalOrderMRP": 2448.44,
"totalAmount": 2448.44,
"totalCostPrice": 0,
"dpSellingPrice": 0,
"subDpSellingPrice": 0,
"currency": "INR",
"status": "COMPLETED",
"fulfillmentStatus": "FULFILLED",
"createdAt": "2025-12-09T07:40:30.72Z",
"updatedAt": "2025-12-09T07:40:30.777Z",
"assetURL": "",
"type": "DIRECT_CHECKOUT",
"lineItems": [
{
"variantID": "VAR-23c2a475-06cb-4118",
"productID": "PROD-cd250a2a-2b27-40e0",
"quantity": 1,
"mrp": 100,
"price": 100,
"totalMRP": 100,
"totalPrice": 100,
"totalConvertedPrice": 2448.44,
"totalItemCostPrice": 0,
"currency": "AED",
"fxRate": 24.4844,
"markUpPercentage": 0,
"variantName": "TEST_PRODUCT_1_DP_APIS INR 100",
"productName": "TEST_PRODUCT_1_DP_APIS",
"variantDisplayName": "₹ 100",
"productDisplayName": "TEST_PRODUCT_1_DP_APIS",
"attachments": [
"https://storage.googleapis.com/exlr8-assets/voucher_bulk_uploads/default_voucher.jpg"
],
"mobileNumbers": null,
"vouchers": [
{
"voucherCode": "89868092",
"voucherPin": "T5R9-Q2M8-C6V2748",
"expirationDate": "2028-01-01T00:00:00Z"
}
],
"fulfillmentStatus": "FULFILLED",
"allocatedQty": 1,
"fulfilledQty": 1
}
]
}

Common Integration Patterns

1. Order Flow

Monitor order progress through different states:

graph TD
A[Order Placed] --> B{Status Check}
B --> C[PROCESSING]
B --> D[CONFIRMED]
B --> E[COMPLETED]
B --> G[FAILED]

C --> I[Wait & Retry]
D --> I
I --> B

E --> F[Handle Error]

2. Error Handling

Always implement proper error handling:

try {
const response = await fetch(apiUrl, {
method: "POST",
headers: {
"x-client-id": clientId,
"x-client-secret": clientSecret,
"Content-Type": "application/json",
},
body: JSON.stringify(orderData),
});

if (!response.ok) {
const error = await response.json();
console.error("API Error:", error.errCode, error.error);
// Handle specific error codes
}

const data = await response.json();
// Process successful response
} catch (error) {
console.error("Network Error:", error);
}

Testing Checklist

Before going live, ensure you've tested:

  • Wallet balance retrieval
  • Product catalog fetching
  • Order placement
  • Order status monitoring
  • Error handling for various scenarios
  • Pagination for large datasets

Next Steps

Now that you've made your first API calls:

  1. Explore the full API Reference
  2. Review Error Codes for comprehensive error handling
  3. Contact the eXlr8 team when ready for integration review

Need Help?

  • Technical Questions: Schedule a session with our development team
  • Business Questions: Contact your eXlr8 business representative