Select Wallet
Select a specific wallet for your delivery partner account. This wallet will be used for all transactions and balance checks.
Endpoint
PATCH /v1/delivery-partners/{dpID}/wallet/select
Headers
| Header | Type | Description | Required |
|---|---|---|---|
x-client-id | String | Your clientID | ✅ Yes |
x-client-secret | String | Your clientSecret | ✅ Yes |
Content-Type | String | application/json | ✅ Yes |
Path Parameters
| Parameter | Type | Description | Required |
|---|---|---|---|
dpID | String | Your delivery partner ID | ✅ Yes |
Request Body
| Field | Type | Description | Required |
|---|---|---|---|
walletID | String | ID of wallet to select | ✅ Yes |
Example Request
curl --location --request PATCH 'https://stage-platform-exlr8.exlr8now.com/v1/delivery-partners/YOUR_DP_ID/wallet/select' \
--header 'x-client-id: YOUR_CLIENT_ID' \
--header 'x-client-secret: YOUR_CLIENT_SECRET' \
--header 'Content-Type: application/json' \
--data '{
"walletID": "YOUR_WALLET_ID"
}'
Response
Successful Response
{
"dpVendorID": "daa30819-8150-4490-b20f-65b75cb148ba",
"dpName": "Demo Intl Test Dp",
"businessName": "Demo Intl Test Dp",
"gstNumber": "",
"panNumber": "",
"dpType": "B2B",
"dpStatus": "Active",
"registeredOfficeAddress": "",
"registeredState": "Karnataka",
"registeredPincode": "560036",
"correspondenceAddress": "",
"correspondenceState": "",
"correspondencePincode": "",
"country": "IN",
"accountName": "",
"accountNumber": "",
"bankName": "",
"branchAddress": "",
"ifscCode": "",
"businessHeadName": "",
"businessHeadEmail": "",
"businessHeadPhone": "",
"pocName": "Demo Intl Test Dp",
"pocEmail": "[email protected]",
"pocPhone": "",
"escalationPocName": "",
"escalationPocEmail": "",
"escalationPocPhone": "",
"isSubDpManagementAllowed": true,
"sendNewIDPassword": true,
"dpDepth": 0,
"dpAncestryChain": null,
"parentDpID": "",
"selectedCreditLineID": "",
"selectedWalletID": "dee25d63-b110-48ee-9140-e9bf1649a06b",
"applicableCurrencies": ["INR", "USD", "SGD", "AED"],
"dbsVirtualPrivateBankAccountNumber": "",
"createdAt": "2025-09-09T07:53:08.681Z",
"updatedAt": "2025-12-09T08:31:13.37Z",
"selectedWallet": {
"walletID": "dee25d63-b110-48ee-9140-e9bf1649a06b",
"currency": "INR",
"balance": 12498908.2263
}
}
Response Fields
Delivery Partner Information
| Field | Type | Description |
|---|---|---|
dpVendorID | String | Unique DP vendor identifier |
dpName | String | DP name |
businessName | String | Business name |
gstNumber | String | GST number |
panNumber | String | PAN number |
dpType | String | DP type (B2B/B2C) |
dpStatus | String | DP status |
registeredOfficeAddress | String | Registered office address |
registeredState | String | Registered state |
registeredPincode | String | Registered pincode |
correspondenceAddress | String | Correspondence address |
correspondenceState | String | Correspondence state |
correspondencePincode | String | Correspondence pincode |
country | String | Country code |
accountName | String | Bank account name |
accountNumber | String | Bank account number |
bankName | String | Bank name |
branchAddress | String | Bank branch address |
ifscCode | String | IFSC code |
businessHeadName | String | Business head name |
businessHeadEmail | String | Business head email |
businessHeadPhone | String | Business head phone |
pocName | String | POC name |
pocEmail | String | POC email |
pocPhone | String | POC phone |
escalationPocName | String | Escalation POC name |
escalationPocEmail | String | Escalation POC email |
escalationPocPhone | String | Escalation POC phone |
isSubDpManagementAllowed | Boolean | Sub-DP management allowed |
sendNewIDPassword | Boolean | Send new ID/password |
dpDepth | Number | DP depth in hierarchy |
dpAncestryChain | Array | DP ancestry chain |
parentDpID | String | Parent DP ID |
selectedCreditLineID | String | Selected credit line ID |
selectedWalletID | String | Selected wallet ID |
applicableCurrencies | Array | Applicable currencies |
dbsVirtualPrivateBankAccountNumber | String | DBS virtual bank account number |
createdAt | String | Creation timestamp |
updatedAt | String | Last update timestamp |
selectedWallet | Object | Selected wallet details |
Selected Wallet Fields
| Field | Type | Description |
|---|---|---|
walletID | String | Wallet identifier |
currency | String | Wallet currency |
balance | Number | Current balance |
Error Responses
Wallet Not Found
{
"error": "wallet not found",
"errCode": "RECORD_NOT_FOUND"
}
Invalid Wallet ID
{
"error": "invalid wallet ID",
"errCode": "INVALID_REQUEST"
}
Use Cases
1. Currency Selection
Select a wallet in a specific currency for transactions.
2. Balance Management
Switch to a wallet with sufficient balance for orders.
3. Multi-Currency Support
Handle different currencies by selecting appropriate wallets.
Integration Example
// Example: Select a wallet
async function selectWallet(dpID, walletID) {
try {
const response = await fetch(
`${baseUrl}/delivery-partners/${dpID}/wallet/select`,
{
method: "PATCH",
headers: {
"x-client-id": clientId,
"x-client-secret": clientSecret,
"Content-Type": "application/json",
},
body: JSON.stringify({
walletID: walletID,
}),
}
);
if (!response.ok) {
const error = await response.json();
throw new Error(`API Error: ${error.error}`);
}
const result = await response.json();
console.log("Wallet selected:", result.selectedWallet);
return result;
} catch (error) {
console.error("Error selecting wallet:", error);
throw error;
}
}
Best Practices
- Validate Wallet ID: Ensure the wallet ID exists before selecting
- Check Balance: Verify sufficient balance in the selected wallet
- Error Handling: Handle cases where wallet selection fails
- Logging: Log wallet selection for audit trails
Related Endpoints
- Get Balance - Check current wallet balance and list available wallets
- Get Transactions - View transaction history