OAuth Telegram Authorize
ℹ️
Before getting started, you need to follow Configuring Telegram Bot
This method allows you to login to your Xellar Embedded wallet account using a Telegram account.
Parameters
body(object, required): The body object containing the user's Telegram information.data(object, required ifdataStringis empty): The data object containing the user's Telegram information.id(string): User's Telegram IDfirst_name(string): User's first namelast_name(string, optional): User's last nameusername(string, optional): User's Telegram usernamephoto_url(string, optional): URL of user's profile photoauth_date(string): Authentication datehash(string): Authentication hash
dataString(string, required ifdatais empty): Telegram initData for Telegram Mini AppbotUsername(string, required): The bot username generated when creating a bot on TelegramexpireDate(string, optional): The expiration date for the JWT token generated from the response
options(object, optional): Configuration object.rampable(object, optional): Rampable account configuration.username(string): The username for the rampable account.fullName(string): The full name for the rampable account.password(string): The password for the rampable account.
Returns
An AuthSuccessResponse object, potentially including a rampableAccessToken if the rampable option was provided.
If a wallet is created, the response will include a walletToken.
{
"refreshToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"isWalletCreated": true,
"walletToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
}If a wallet is not created, the response will include an accessToken.
{
"refreshToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"isWalletCreated": false,
"accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}If the rampable option was provided, the response will include a rampableAccessToken.
{
"isWalletCreated": false,
"accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"rampableAccessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}Example Usage
Basic usage
const body = {
data: {
id: "123456789",
first_name: "John",
last_name: "Doe",
username: "johndoe",
photo_url: "https://t.me/i/userpic/320/johndoe.jpg",
auth_date: "1630510000",
hash: "f1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p7q8r9s0t1u2v3w4x5y6z7"
},
botUsername: "your_bot_username",
expireDate: "2024-01-02"
};
const response = await sdk.auth.telegram.authorize(body);Using Telegram Mini App
const body = {
dataString: "auth_date=1696600040&query_id=XXxxXXXXXXXxxxx&id=123456789&first_name=John&last_name=Doe&username=johndoe&is_premium=true&hash=f1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p7q8r9s0t1u2v3w4x5y6z7",
botUsername: "your_bot_username",
expireDate: "2024-01-02"
};
const response = await sdk.auth.telegram.authorize(body);With rampable option
const body = {
data: {
id: "123456789",
first_name: "John",
last_name: "Doe",
username: "johndoe",
photo_url: "https://t.me/i/userpic/320/johndoe.jpg",
auth_date: "1630510000",
hash: "f1a2b3c4d5e6f7g8h9i0j1k2l3m4n5o6p7q8r9s0t1u2v3w4x5y6z7"
},
botUsername: "your_bot_username",
expireDate: "2024-01-02"
};
const options = {
rampable: {
username: "username",
fullName: "fullName",
password: "password"
}
};
const response = await sdk.auth.telegram.authorize(body, options);