Skip to content

Client SDK

Установка

Требования

Для использования Client SDK Telesend вам понадобится:

  • Node.js версии 18 или выше
  • Проект на JavaScript или TypeScript
  • API ключ

Установка пакета

Terminal window
npm i telesend-client-sdk

Получение API ключа

API ключ необходим для аутентификации вашего приложения при взаимодействии с Telesend. Для получения API ключа:

  1. Войдите в свой аккаунт на сайте Telesend
  2. Перейдите к своему проекту:
    • Если у вас уже есть проект - выберите его в личном кабинете.
    • Если у вас еще нет проекта - создайте новый:
      1. Нажмите на кнопку “Создать проект”.
      2. Заполните все поля и нажмите на кнопку “Создать”.
  3. Найдите кнопку “Редактировать” и скопируйте ваш API ключ

Храните ваш API ключ в безопасном месте и не публикуйте его в открытом доступе.

Инициализация клиента

Для начала работы с SDK необходимо создать экземпляр класса TelesendClient:

import { TelesendClient } from 'telesend-client-sdk';
const client = new TelesendClient({
apiKey: 'your-api-key', // Ваш API ключ
});

Отправка аналитических событий

Идентификация пользователя

Прежде чем отправлять аналитические события, рекомендуется идентифицировать пользователя:

// Идентификация пользователя
await client.identify({
id: '123456789',
username: 'username',
firstName: 'Имя',
lastName: 'Фамилия',
isPremium: false
});

Подробнее о методе client.identify

Отправка события

// Отправка аналитического события
await client.track('123456789', 'button_click', {
startParameter: '',
path: '/start',
params: {
buttonId: 'start'
},
language: 'ru',
device: 'mobile'
});

Подробнее о методе client.track

Примеры использования

Отправка аналитического события

Пример отправки события о нажатии на кнопку:

await client.identify({
id: '123456789',
username: 'username',
firstName: 'Имя',
lastName: 'Фамилия',
isPremium: true
})
await client.track('123456789', 'button_click', {
startParameter: '',
path: '/start',
params: {
buttonId: 'start_button',
buttonText: 'Начать'
},
language: 'ru',
device: 'mobile'
});

API и типы данных

Класс TelesendClient

Основной класс для работы с SDK Telesend.

Конструктор

new TelesendClient(config: TelesendClientConfig)
interface TelesendClientConfig {
apiKey: string; // API ключ проекта
baseUrl?: string; // Базовый URL API (опционально)
}

Методы

track

Отправляет аналитическое событие на сервер.

track(userId: string | number, type: string, payload: Event): Promise<void>
identify

Идентифицирует пользователя.

identify(userDetails: UserDetails): Promise<void>

Типы данных

UserDetails и Event

interface UserDetails {
id: string; // Уникальный идентификатор пользователя
username?: string; // Имя пользователя в Telegram (без @)
firstName?: string; // Имя пользователя
lastName?: string; // Фамилия пользователя
isPremium?: boolean; // Статус премиум-подписки пользователя
timeZone?: number; // Часовой пояс пользователя (от -12 до +12)
}
interface Event {
startParameter: string; // Начальный параметр события
path: string; // Путь, на котором произошло событие
params: { [key: string]: unknown }; // Дополнительные параметры события
language?: string; // Язык пользователя
device?: string; // Устройство пользователя
}
interface EventDetails {
id?: string; // Идентификатор события
startParameter: string; // Начальный параметр события
path: string; // Путь, на котором произошло событие
params: { [key: string]: unknown }; // Дополнительные параметры события
}