@happ-integ/nethunt
Клиент для работы с NetHunt CRM API.
Установка
bash
pnpm add @happ-integ/nethuntИспользование
Инициализация
typescript
import { NethuntClient } from "@happ-integ/nethunt";
const nethunt = new NethuntClient("email@example.com", "api-key");Папки (Folders)
typescript
// Получить все папки
const folders = await nethunt.getFolders();
// Получить поля папки
const fields = await nethunt.listFolderFields(folderId);Записи (Records)
typescript
// Получить запись по ID
const record = await nethunt.getRecord(recordId);
// Поиск записей
const records = await nethunt.searchRecords({
folderId: "folder-id",
query: "search term",
limit: 10,
});
// Создать запись
const newRecord = await nethunt.createRecord({
folderId: "folder-id",
fields: {
Имя: "John",
Телефон: "+380501234567",
Email: "john@example.com",
},
});
// Обновить запись
await nethunt.updateRecord(recordId, {
fields: {
Статус: "Завершено",
},
});
// Удалить запись
await nethunt.deleteRecord(recordId);Комментарии
typescript
await nethunt.addComment({
recordId: "record-id",
text: "Текст комментария",
});Недавние данные
typescript
// Недавние записи
const recentRecords = await nethunt.getRecentRecords(folderId);
// Недавние комментарии
const recentComments = await nethunt.getRecentComments({
folderId: "folder-id",
since: "2024-01-01",
limit: 50,
});
// Недавние звонки
const recentCalls = await nethunt.getRecentCreatedCallLogs({
folderId: "folder-id",
since: "2024-01-01",
});Health Check
typescript
const isHealthy = await nethunt.healthCheck();API
NethuntClient
typescript
new NethuntClient(email: string, apiKey: string)Методы
| Метод | Описание |
|---|---|
getFolders() | Получить все папки |
listFolderFields(folderId) | Получить поля папки |
getRecord(recordId) | Получить запись |
searchRecords(params) | Поиск записей |
createRecord(params) | Создать запись |
updateRecord(recordId, body) | Обновить запись |
deleteRecord(recordId) | Удалить запись |
addComment(comment) | Добавить комментарий |
getRecentRecords(folderId) | Недавние записи |
getRecentComments(params) | Недавние комментарии |
getRecentCreatedCallLogs(params) | Недавние звонки |
healthCheck() | Проверка соединения |
Типы
typescript
interface INethuntRecord {
recordId: string;
fields: Record<string, any>;
createdAt: string;
updatedAt: string;
}
interface INethuntFolder {
folderId: string;
name: string;
}
interface INethuntSearchParams {
folderId: string;
recordId?: string;
query?: string;
limit?: number;
}
interface INethuntCreateParams {
folderId: string;
fields: Record<string, any>;
}Аутентификация
Используется Basic Auth:
- Email: email аккаунта NetHunt
- API Key: ключ из настроек NetHunt