Client SDK
Установка
Требования
Для использования Client SDK Telesend вам понадобится:
- Node.js версии 18 или выше
- Проект на JavaScript или TypeScript
- API ключ
Установка пакета
npm i telesend-client-sdkpnpm add telesend-client-sdkyarn add telesend-client-sdkПолучение API ключа
API ключ необходим для аутентификации вашего приложения при взаимодействии с Telesend. Для получения API ключа:
- Войдите в свой аккаунт на сайте Telesend
- Перейдите к своему проекту:
- Если у вас уже есть проект - выберите его в личном кабинете.
- Если у вас еще нет проекта - создайте новый:
- Нажмите на кнопку “Создать проект”.
- Заполните все поля и нажмите на кнопку “Создать”.
- Найдите кнопку “Редактировать” и скопируйте ваш 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 }; // Дополнительные параметры события}