Updated README.md
This commit is contained in:
@@ -16,17 +16,24 @@
|
||||
ingest-service/
|
||||
├── app/
|
||||
│ ├── __init__.py
|
||||
│ ├── main.py # Главный файл приложения
|
||||
│ ├── database.py # Конфигурация БД
|
||||
│ ├── models.py # SQLAlchemy модели
|
||||
│ ├── crud.py # CRUD операции
|
||||
│ └── api/
|
||||
│ ├── main.py # Главный файл приложения
|
||||
│ ├── crud.py # CRUD операции
|
||||
│ ├── api/
|
||||
│ │ ├── __init__.py
|
||||
│ │ └── uis.py # API endpoints для UIS
|
||||
│ ├── infrastructure/
|
||||
│ │ ├── __init__.py
|
||||
│ │ └── database.py # Конфигурация БД
|
||||
│ └── models/
|
||||
│ ├── __init__.py
|
||||
│ └── uis.py # API endpoints для UIS
|
||||
├── docker-compose.yaml
|
||||
│ └── call_event.py # SQLAlchemy модели
|
||||
├── alembic/ # Миграции БД
|
||||
│ ├── env.py
|
||||
│ └── versions/
|
||||
├── alembic.ini
|
||||
├── Dockerfile
|
||||
├── requirements.txt
|
||||
└── .env.example
|
||||
└── .env
|
||||
```
|
||||
|
||||
## Быстрый старт
|
||||
@@ -63,8 +70,7 @@ pip install -r requirements.txt
|
||||
# Запустить только PostgreSQL через Docker
|
||||
docker-compose up -d postgres
|
||||
|
||||
# Создать файл .env
|
||||
cp .env.example .env
|
||||
# Убедиться, что файл .env настроен правильно
|
||||
|
||||
# Запустить приложение
|
||||
uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
|
||||
@@ -79,7 +85,7 @@ Webhook для приема событий звонков от UIS
|
||||
```json
|
||||
{
|
||||
"eventType": "call_completed",
|
||||
"call_session_id": "12345-abcde",
|
||||
"call_session_id": 12345,
|
||||
"direction": "in",
|
||||
"employee_id": 100,
|
||||
"employee_full_name": "Иванов Иван Иванович",
|
||||
@@ -94,45 +100,49 @@ Webhook для приема событий звонков от UIS
|
||||
}
|
||||
```
|
||||
|
||||
### GET /v1/uis/events
|
||||
### GET /v1/uis/events (TODO)
|
||||
Получить список всех событий звонков
|
||||
|
||||
**Query параметры:**
|
||||
- `skip` - количество пропускаемых записей (пагинация)
|
||||
- `limit` - максимальное количество записей (по умолчанию 100)
|
||||
|
||||
### GET /v1/uis/events/{call_session_id}
|
||||
_Примечание: Endpoint запланирован к реализации_
|
||||
|
||||
### GET /v1/uis/events/{call_session_id} (TODO)
|
||||
Получить конкретное событие звонка по session_id
|
||||
|
||||
### GET /v1/uis/events/employee/{employee_id}
|
||||
_Примечание: Endpoint запланирован к реализации_
|
||||
|
||||
### GET /v1/uis/events/employee/{employee_id} (TODO)
|
||||
Получить все звонки конкретного сотрудника
|
||||
|
||||
**Query параметры:**
|
||||
- `skip` - количество пропускаемых записей
|
||||
- `limit` - максимальное количество записей
|
||||
|
||||
_Примечание: Endpoint запланирован к реализации_
|
||||
|
||||
## База данных
|
||||
|
||||
### Модель данных CallEvent
|
||||
|
||||
Таблица `call_events` содержит следующие поля:
|
||||
|
||||
- `id` - уникальный идентификатор (автоинкремент)
|
||||
- `event_type` - тип события
|
||||
- `call_session_id` - уникальный ID сессии звонка
|
||||
- `id` - уникальный идентификатор (UUID)
|
||||
- `call_session_id` - уникальный ID сессии звонка (BigInteger, индексируется)
|
||||
- `direction` - направление звонка (in/out)
|
||||
- `notification_mnemonic` - мнемоника уведомления (тип события)
|
||||
- `last_answered_employee_full_name` - ФИО сотрудника, ответившего на звонок
|
||||
- `employee_id` - ID сотрудника
|
||||
- `employee_full_name` - ФИО сотрудника
|
||||
- `contact_phone_number` - телефон контакта
|
||||
- `called_phone_number` - набранный телефон
|
||||
- `communication_group_name` - название группы коммуникации
|
||||
- `start_time` - время начала звонка
|
||||
- `finish_time` - время окончания звонка
|
||||
- `finish_time` - время окончания звонка (Unix timestamp)
|
||||
- `total_time_duration` - общая длительность звонка (в секундах)
|
||||
- `wait_time_duration` - длительность ожидания (в секундах)
|
||||
- `total_wait_time_duration` - общая длительность ожидания (в секундах)
|
||||
- `talk_time_duration` - длительность разговора (в секундах)
|
||||
- `clean_talk_time_duration` - чистая длительность разговора (в секундах)
|
||||
- `full_record_file_link` - ссылка на запись звонка
|
||||
- `campaign_name` - название кампании
|
||||
- `created_at` - дата создания записи
|
||||
- `updated_at` - дата последнего обновления
|
||||
- `tcm_topcrm_notification_name` - название уведомления TCM/TopCRM (название кампании)
|
||||
|
||||
### Подключение к PostgreSQL
|
||||
|
||||
|
||||
Reference in New Issue
Block a user