@happ-integ/bitrix
Клиент для Bitrix24 REST API.
Установка
bash
pnpm add @happ-integ/bitrixИспользование
Инициализация
typescript
import { BitrixClient } from "@happ-integ/bitrix";
const bitrix = new BitrixClient("company.bitrix24.ru", "api-token");Контакты
typescript
// Создать контакт
const contact = await bitrix.createContact({
NAME: "John",
LAST_NAME: "Doe",
PHONE: [{ VALUE: "+380501234567" }],
EMAIL: [{ VALUE: "john@example.com" }],
});
// Поиск контактов
const results = await bitrix.searchContacts({
filter: { PHONE: "+380501234567" },
select: ["ID", "NAME", "PHONE"],
});
// Обновить контакт
await bitrix.updateContact("123", {
NAME: "Jane",
STATUS_ID: "CONVERTED",
});
// Получить контакт
const contact = await bitrix.getContact("123");
// Удалить контакт
await bitrix.deleteContact("123");Health Check
typescript
const isHealthy = await bitrix.healthCheck();API
BitrixClient
typescript
new BitrixClient(domain: string, accessToken: string)Параметры:
domain— домен Bitrix (e.g.,company.bitrix24.ru)accessToken— REST API токен
Методы
createContact(params): Promise<IBitrixContact>
typescript
interface IBitrixContactCreateParams {
NAME?: string;
LAST_NAME?: string;
EMAIL?: Array<{ VALUE: string }>;
PHONE?: Array<{ VALUE: string }>;
COMPANY_ID?: string;
[key: string]: any;
}searchContacts(params): Promise<IBitrixContact[]>
typescript
interface IBitrixContactSearchParams {
filter?: Record<string, any>;
select?: string[];
limit?: number;
}updateContact(id, params): Promise<IBitrixContact>
getContact(id): Promise<IBitrixContact>
deleteContact(id): Promise<void>
healthCheck(): Promise<boolean>
Получить API Token
- Bitrix24 Admin Panel → Integration → REST API
- Create New Access Token
- Copy token
- Добавить в Doppler / env
BITRIX_DOMAIN=company.bitrix24.ru
BITRIX_ACCESS_TOKEN=xxxxxКогда использовать
- ✅ Интеграция с Bitrix24
- ✅ Синхронизация контактов
- ✅ Управление делами и сделками
- ❌ High-volume — rate limit 2 req/sec