Skip to content

@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