Verify Whatsapp OTP
API usage for verifying the whatsapp OTP for the user. login OTP is sent to the user's whatsapp account.
Overview
This API endpoint allows you to verify the user login to using User’s whatsapp account (phone number) and otp verification.
- HTTP Method: POST
- Endpoint:
/api/<VERSION>/auth/verify-whatsapp
Request Body Parameters
verificationToken
(required):verificationToken
from Login endpoints.otp
(required): otp sent to the user's whatsapp account.
Example Request Body
{
"verificationToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjY0YjUxNGY0MzU4ZGVjY2FkYWY4MDA5MSIsImVtYWlsIjoiZGVuZGl0b3BydG1AZ21haWwuY29tIiwibmFtZSI6IkRlbmRpdG8gUHJhdGFtYSIsInJvbGUiOiJhZG1pbiIsInBvbGljeSI6IjY0OTE0YTY3Z...",
"otp": "123456"
}
Request
Request Headers
x-client-secret
(required): Client secret which was generated when register in Xellar Embedded Wallet API Service Dashboard.
Example Request Syntax
curl -X POST -H "Content-Type: application/json" -H "x-client-secret: $YOUR_CLIENT_SECRET" -d '{
"verificationToken": "eyJhbGciOiJSUzI1NiIsInR5cCI6I...",
"otp": "123456"
}' <BASE_URL>/api/<VERSION>/auth/verify-whatsapp
Response
The response will include a JSON object with the following properties:
status
(number): The HTTP status code of the response (e.g., 200 for success).message
(string): A message providing additional information about the operation.data
(object): An object containing theaccessToken
,walletToken
andisWalletCreated
.data.isWalletCreated
(bool): A boolean value to determine whether the wallet is already created or not.data.refreshToken
(string): A string contains the refresh token which will be used for generating the newwalletToken
after every wallet operation executed.data.walletToken
(string): the wallet token access used to access the wallet operations.data.rampableAccessToken
: JWT token used to access the Rampable Operation endpoint. This token will only be available if the account already create a rampable account and the organization has enabled the rampable feature.data.address
(string): (Version 1 only) the wallet address of the user.data.addresses
(array): (Version 2 only) the wallet addresses of the user. The array contains the network and address of the wallet.
Example Response
Example Response (if account do not have an Embedded wallet)
{
"status": 200,
"message": "ok",
"data": {
"rampableAccessToken": "your_rampable_access_token_here",
"accessToken": "eyy9afadeasf31....",
"isWalletCreated": false
}
}
V1 Example Response (if account already have an Embedded wallet)
{
"status": 200,
"message": "ok",
"data": {
"rampableAccessToken": "your_rampable_access_token_here",
"walletToken": "eyy9afadeasf31....",
"isWalletCreated": true,
"address": "0x123546..."
}
}
V2 Example Response (if account already have an Embedded wallet in v2)
📝
This response only works on v2
{
"status": 200,
"message": "ok",
"data": {
"rampableAccessToken": "your_rampable_access_token_here",
"walletToken": "eyy9afadeasf31....",
"refreshToken": "eysfsfsffssf1....",
"isWalletCreated": true,
"addresses": [
{
"network": "evm",
"address": "0x123546..."
},
{
"network": "solana",
"address": "Af3sdf8JsjF..."
},
{
"network": "bitcoin",
"address": "bc1q3sdf8JsjF..."
}
]
}
}