Методы для управления клиентами организации.
Возвращает список клиентов с пагинацией и фильтрацией.
{
"status": true,
"message": "Clients retrieved successfully",
"data": {
"clients": [
{
"id": "d00e8400-e29b-41d4-a716-446655440090",
"first_name": "Иван",
"last_name": "Петров",
"patronymic": "Иванович",
"phone": "+79000000000",
"email": "ivan@example.com",
"comment": "Постоянный клиент",
"type": "individual",
"status": "active",
"metadata": null,
"created_at": "2026-06-14T12:00:00Z",
"updated_at": "2026-06-14T12:00:00Z",
"source": {
"id": "c00e8400-e29b-41d4-a716-446655440080",
"name": "Яндекс.Директ",
"type": "paid",
"status": "active"
}
}
],
"pagination": {
"total": 1,
"page": 1,
"limit": 20,
"pages": 1
}
},
"meta": {
"timestamp": "2026-06-14T12:00:00Z",
"request_id": "...",
"path": "/api/v1/companies/.../modules/crm/clients",
"method": "GET"
}
}Создаёт нового клиента.
{
"status": true,
"message": "Client created successfully",
"data": {
"id": "d00e8400-e29b-41d4-a716-446655440091",
"first_name": "Пётр",
"last_name": "Сидоров",
"patronymic": null,
"phone": "+79000000001",
"email": null,
"comment": null,
"type": "individual",
"status": "active",
"metadata": null,
"created_at": "2026-06-14T12:05:00Z",
"updated_at": "2026-06-14T12:05:00Z",
"source": {
"id": "c00e8400-e29b-41d4-a716-446655440080",
"name": "Яндекс.Директ",
"type": "paid",
"status": "active"
}
},
"meta": {
"timestamp": "2026-06-14T12:05:00Z",
"request_id": "...",
"path": "/api/v1/companies/.../modules/crm/clients",
"method": "POST"
}
}Возвращает детальную информацию о клиенте.
{
"status": true,
"message": "Client retrieved successfully",
"data": {
"id": "d00e8400-e29b-41d4-a716-446655440090",
"first_name": "Иван",
"last_name": "Петров",
"patronymic": "Иванович",
"phone": "+79000000000",
"email": "ivan@example.com",
"comment": "Постоянный клиент",
"type": "individual",
"status": "active",
"metadata": null,
"created_at": "2026-06-14T12:00:00Z",
"updated_at": "2026-06-14T12:00:00Z",
"source": {
"id": "c00e8400-e29b-41d4-a716-446655440080",
"name": "Яндекс.Директ",
"url": "https://yandex.ru/direct",
"type": "paid",
"comment": "Контекстная реклама",
"system": false,
"status": "active",
"metadata": null,
"created_at": "2026-06-14T12:00:00Z",
"updated_at": "2026-06-14T12:00:00Z"
}
},
"meta": {
"timestamp": "2026-06-14T12:00:00Z",
"request_id": "...",
"path": "/api/v1/companies/.../modules/crm/clients/...",
"method": "GET"
}
}Обновляет данные клиента.
{
"status": true,
"message": "Client updated successfully",
"data": {
"id": "d00e8400-e29b-41d4-a716-446655440091",
"first_name": "Пётр",
"last_name": "Сидоров (обновлено)",
"patronymic": null,
"phone": "+79000000001",
"email": "petr@example.com",
"comment": "Новый клиент",
"type": "individual",
"status": "active",
"metadata": null,
"created_at": "2026-06-14T12:05:00Z",
"updated_at": "2026-06-14T12:10:00Z",
"source": {
"id": "c00e8400-e29b-41d4-a716-446655440080",
"name": "Яндекс.Директ",
"type": "paid",
"status": "active"
}
},
"meta": {
"timestamp": "2026-06-14T12:10:00Z",
"request_id": "...",
"path": "/api/v1/companies/.../modules/crm/clients/...",
"method": "PATCH"
}
}Деактивирует клиента.
{
"status": true,
"message": "Client deactivated successfully",
"data": {
"id": "d00e8400-e29b-41d4-a716-446655440091",
"first_name": "Пётр",
"last_name": "Сидоров (обновлено)",
"patronymic": null,
"phone": "+79000000001",
"email": "petr@example.com",
"comment": "Новый клиент",
"type": "individual",
"status": "inactive",
"metadata": null,
"created_at": "2026-06-14T12:05:00Z",
"updated_at": "2026-06-14T12:15:00Z",
"source": {
"id": "c00e8400-e29b-41d4-a716-446655440080",
"name": "Яндекс.Директ",
"type": "paid",
"status": "active"
}
},
"meta": {
"timestamp": "2026-06-14T12:15:00Z",
"request_id": "...",
"path": "/api/v1/companies/.../modules/crm/clients/.../deactivate",
"method": "POST"
}
}Активирует деактивированного клиента.
{
"status": true,
"message": "Client activated successfully",
"data": {
"id": "d00e8400-e29b-41d4-a716-446655440091",
"first_name": "Пётр",
"last_name": "Сидоров (обновлено)",
"patronymic": null,
"phone": "+79000000001",
"email": "petr@example.com",
"comment": "Новый клиент",
"type": "individual",
"status": "active",
"metadata": null,
"created_at": "2026-06-14T12:05:00Z",
"updated_at": "2026-06-14T12:20:00Z",
"source": {
"id": "c00e8400-e29b-41d4-a716-446655440080",
"name": "Яндекс.Директ",
"type": "paid",
"status": "active"
}
},
"meta": {
"timestamp": "2026-06-14T12:20:00Z",
"request_id": "...",
"path": "/api/v1/companies/.../modules/crm/clients/.../activate",
"method": "POST"
}
}