Call Center DTO
Описание сущностей и типов из src/dto/callCenter/.
Обогащено snapshot-данными бэкенд-DTO (22 из 57 типов сопоставлено, snapshot от 2026-05-05T13:21:51.699Z).
Содержание
- AgentDto · backend ✓
- AgentQueueDto · backend ✓
- AgentQueueRequestDto · backend ✓
- AgentStatusDto · backend ✓
- AgentSummaryDto · backend ✓
- CallAgentAnalyticsResponseDto
- CallAgentAnalyticsResultDto
- CallAgentCategoryDto
- CallAgentDto
- CallAnalyticsPeriodRequestDto
- CallDirectionDto · backend ✓
- CallDto
- CallDurationCountersDto
- CallEntityAnalyticsResponseDto
- CallEntityAnalyticsResultDto
- CallEntityCategoryDto
- CallEntityCountDto
- CallItemTypeDto
- CallLoadAnalyticsResponseDto
- CallLoadAnalyticsResultDto
- CallLoadCellDto
- CallLoadWeekdayDto
- CallOutcomeCountersDto
- CallReasonCountDto
- CallResultAnalyticsResponseDto
- CallResultAnalyticsResultDto
- CallResultCategoryDto
- CallSessionCategoryDto
- CallSessionDto · backend ✓
- CallSessionExternalEntityTypeDto
- CategoryAnalyticsChartPointDto
- CategoryAnalyticsDayPointDto
- CategoryAnalyticsKpiDto
- CategoryAnalyticsResponseDto
- CategoryAnalyticsResultDto
- CategoryAnalyticsTotalDto
- CreateAgentRequestDto · backend ✓
- CreateCallRequestParam · backend ✓
- CreateCallSessionRequestDto · backend ✓
- GetAgentsRequestDto · backend ✓
- GetCallsAnalyticsRequestDto · backend ✓
- GetCallSessionsRequestDto · backend ✓
- GetCallsRequestDto · backend ✓
- GetCategoryAnalyticsRequestDto
- PaginatedCallsResponseDto
- QueueAgentDto · backend ✓
- QueueDto · backend ✓
- QueueSummaryDto · backend ✓
- QueueTypeDto · backend ✓
- RecallActionDto
- SessionOutcomeDto
- SessionResultDto
- UpdateAgentRequestDto · backend ✓
- UpdateCallSessionRecallDto
- UpdateCallSessionRequestDto · backend ✓
- UpdateQueueAgentRequestDto · backend ✓
- UpdateQueueRequestDto · backend ✓
AgentDto
Backend-источник: features.callcenterservice/Features.CallCenterService/Nuget.CallCenterApiClient/Dto/Agents/AgentDto.cs (features.callcenterservice).
Поля
| Поле | Тип (TS) | Обязательное | Описание | Тип (C#) |
|---|---|---|---|---|
id | number | да | — | int |
userId | number | null | нет | — | int? |
webexId | string | да | — | string |
webexUserNumber | string | да | — | string |
webexDisplayName | string | да | — | string |
userFullName | string | null | нет | — | string? |
agentStatus | AgentStatusDto | да | — | AgentStatusDto |
createDateTime | string | да | — | DateTimeOffset |
updateDateTime | string | null | нет | — | DateTimeOffset? |
deleteDateTime | string | null | нет | — | DateTimeOffset? |
queues | AgentQueueDto[] | да | — | List<AgentQueueDto> |
Пример
{
"id": 0,
"userId": 0,
"webexId": "uuid",
"webexUserNumber": "string",
"webexDisplayName": "string",
"userFullName": "string",
"agentStatus": "<AgentStatusDto>",
"createDateTime": "2026-05-05T08:00:00Z",
"updateDateTime": "2026-05-05T08:00:00Z",
"deleteDateTime": "2026-05-05T08:00:00Z",
"queues": []
}AgentQueueDto
Backend-источник: features.callcenterservice/Features.CallCenterService/Nuget.CallCenterApiClient/Dto/Agents/AgentQueueDto.cs (features.callcenterservice).
Поля
| Поле | Тип (TS) | Обязательное | Описание | Тип (C#) |
|---|---|---|---|---|
id | number | да | — | int |
joined | boolean | да | — | bool |
createDateTime | string | да | — | DateTimeOffset |
updateDateTime | string | null | нет | — | DateTimeOffset? |
deleteDateTime | string | null | нет | — | DateTimeOffset? |
queue | QueueSummaryDto | да | — | QueueSummaryDto |
Пример
{
"id": 0,
"joined": false,
"createDateTime": "2026-05-05T08:00:00Z",
"updateDateTime": "2026-05-05T08:00:00Z",
"deleteDateTime": "2026-05-05T08:00:00Z",
"queue": "<QueueSummaryDto>"
}AgentQueueRequestDto
Queue association for agent create/update operations
Backend-источник: features.callcenterservice/Features.CallCenterService/Nuget.CallCenterApiClient/Dto/Agents/Requests/AgentQueueRequestDto.cs (features.callcenterservice).
Queue association for agent create/update operations
Поля
| Поле | Тип (TS) | Обязательное | Описание | Тип (C#) |
|---|---|---|---|---|
queueId | number | да | Queue id | int |
joined | boolean | да | Whether agent is joined to the queue | bool |
Пример
{
"queueId": 0,
"joined": false
}AgentStatusDto
Backend-источник: features.callcenterservice/Features.CallCenterService/Nuget.CallCenterApiClient/Dto/Agents/Enums/AgentStatusDto.cs (features.callcenterservice).
Также определён в:
integration.callcenternotification.
Значения
| Имя | Значение (TS) | Описание | Код (C#) |
|---|---|---|---|
Offline | 1 | — | 1 |
Online | 2 | — | 2 |
DailOut | 3 | — | 3 |
Working | 4 | — | 4 |
Paused | 5 | — | 5 |
Пример
1AgentSummaryDto
Backend-источник: features.callcenterservice/Features.CallCenterService/Nuget.CallCenterApiClient/Dto/Agents/AgentSummaryDto.cs (features.callcenterservice).
Поля
| Поле | Тип (TS) | Обязательное | Описание | Тип (C#) |
|---|---|---|---|---|
id | number | да | — | int |
userId | number | null | нет | — | int? |
webexId | string | да | — | string |
webexUserNumber | string | да | — | string |
webexDisplayName | string | да | — | string |
userFullName | string | null | нет | — | string? |
agentStatus | AgentStatusDto | да | — | AgentStatusDto |
createDateTime | string | да | — | DateTimeOffset |
updateDateTime | string | null | нет | — | DateTimeOffset? |
deleteDateTime | string | null | нет | — | DateTimeOffset? |
Пример
{
"id": 0,
"userId": 0,
"webexId": "uuid",
"webexUserNumber": "string",
"webexDisplayName": "string",
"userFullName": "string",
"agentStatus": "<AgentStatusDto>",
"createDateTime": "2026-05-05T08:00:00Z",
"updateDateTime": "2026-05-05T08:00:00Z",
"deleteDateTime": "2026-05-05T08:00:00Z"
}CallAgentAnalyticsResponseDto
Response of GET /Api/Calls/Analytics/Agents. Data lives under the result field.
Поля
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
result | CallAgentAnalyticsResultDto | да | — |
Пример
{
"result": "<CallAgentAnalyticsResultDto>"
}CallAgentAnalyticsResultDto
Звонки периода в разрезе webex-агентов. Приходят ВСЕ агенты, включая тех, у кого за период не было ни одного звонка (counters.total: 0), отсортированы по объёму. У каждого агента в byCategory все категории, тоже с нулями.
unattributedCalls — звонки, которых не удалось привязать ни к одному агенту: это звонки без сессии, которых CDR не привязал к пользователю. Их нельзя размазать по агентам, поэтому сумма по agents меньше общего числа звонков ровно на эту величину.
Поля
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
shortCallThresholdSeconds | number | да | — |
unattributedCalls | number | да | — |
agents | CallAgentDto[] | да | — |
Пример
{
"shortCallThresholdSeconds": 0,
"unattributedCalls": 0,
"agents": []
}CallAgentCategoryDto
Звонки агента в одной категории. category: null — звонки, у которых категории нет вообще; не смешивается с CallSessionCategoryDto.Other, которая является реальной категорией домена.
Поля
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
category | CallSessionCategoryDto | null | да | — |
counters | CallOutcomeCountersDto | да | — |
duration | CallDurationCountersDto | да | — |
Пример
{
"category": "<callsessioncategorydto>",
"counters": "<CallOutcomeCountersDto>",
"duration": "<CallDurationCountersDto>"
}CallAgentDto
Один webex-агент: объём и исход звонков, длительности, и то же самое в разрезе категорий.
Поля
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
agentId | number | да | — |
name | string | да | — |
extension | string | да | — |
counters | CallOutcomeCountersDto | да | — |
duration | CallDurationCountersDto | да | — |
byCategory | CallAgentCategoryDto[] | да | — |
Пример
{
"agentId": 0,
"name": "string",
"extension": "string",
"counters": "<CallOutcomeCountersDto>",
"duration": "<CallDurationCountersDto>",
"byCategory": []
}CallAnalyticsPeriodRequestDto
Period every call center analytics endpoint takes. Call center local days, to inclusive.
Поля
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
from | string | null | нет | — |
to | string | null | нет | — |
Пример
{
"from": "2026-05-05T08:00:00Z",
"to": "2026-05-05T08:00:00Z"
}CallDirectionDto
Backend-источник: features.callcenterservice/Features.CallCenterService/Nuget.CallCenterApiClient/Dto/Enums/CallDirectionDto.cs (features.callcenterservice).
Также определён в:
integration.callcenternotification.
Значения
| Имя | Значение (TS) | Описание | Код (C#) |
|---|---|---|---|
Incoming | 1 | — | 1 |
Outgoing | 2 | — | 2 |
Пример
1CallDto
A single row of GET /Api/Calls. It is either a real call (with its linked session) or a standalone call session not linked to any call — see itemType. For a session row the call-only fields are absent (webexCorrelationId/outcomeReason null, answered null, recallCreated false, queue null) and only the direction-matching phone side is filled.
Поля
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
itemType | CallItemTypeDto | да | Whether this row is a call or a standalone (orphan) call session. |
rowKey | string | да | Stable unique key across both kinds (call-{id} / session-{id}); use it as the table row key. |
id | number | да | Call id for a call row, session id for a session row (not unique across the two — use rowKey). |
agentId | number | null | нет | — |
queueId | number | null | нет | — |
callSessionId | number | null | нет | — |
callingPhoneNumber | string | null | да | — |
calledPhoneNumber | string | null | да | — |
callDirection | CallDirectionDto | да | — |
webexCorrelationId | string | null | да | — |
outcomeReason | string | null | да | — |
startTime | string | да | — |
finishedAt | string | null | нет | — |
recallCreated | boolean | да | — |
answered | boolean | null | нет | — |
createDateTime | string | да | — |
updateDateTime | string | null | нет | — |
deleteDateTime | string | null | нет | — |
queue | QueueSummaryDto | null | нет | — |
category | CallSessionCategoryDto | null | нет | Business category of the row: session's own category, or the linked session's for a call row (null if none). |
agent | AgentSummaryDto | null | нет | — |
callSession | CallSessionDto | null | нет | — |
Пример
{
"itemType": "<CallItemTypeDto>",
"rowKey": "string",
"id": 0,
"agentId": 0,
"queueId": 0,
"callSessionId": 0,
"callingPhoneNumber": "+49123456789",
"calledPhoneNumber": "+49123456789",
"callDirection": "<CallDirectionDto>",
"webexCorrelationId": "uuid",
"outcomeReason": "string",
"startTime": "2026-05-05T08:00:00Z",
"finishedAt": "2026-05-05T08:00:00Z",
"recallCreated": false,
"answered": false,
"createDateTime": "2026-05-05T08:00:00Z",
"updateDateTime": "2026-05-05T08:00:00Z",
"deleteDateTime": "2026-05-05T08:00:00Z",
"queue": "<queuesummarydto>",
"category": "<callsessioncategorydto>",
"agent": "<agentsummarydto>",
"callSession": "<callsessiondto>"
}CallDurationCountersDto
Длительности считаются только по отвеченным звонкам, answeredTotal — их знаменатель.
Делить shortCalls на counters.total нельзя: у недозвона длительности разговора нет, агент открывает карточку и отмечает результат, поэтому недозвоны в этих числах не участвуют вовсе. Порог «короткого» звонка приходит в shortCallThresholdSeconds корня ответа.
Поля
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
answeredTotal | number | да | — |
shortCalls | number | да | — |
avgDurationSeconds | number | да | — |
Пример
{
"answeredTotal": 0,
"shortCalls": 0,
"avgDurationSeconds": 0
}CallEntityAnalyticsResponseDto
Response of GET /Api/Calls/Analytics/Entities. Data lives under the result field.
Поля
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
result | CallEntityAnalyticsResultDto | да | — |
Пример
{
"result": "<CallEntityAnalyticsResultDto>"
}CallEntityAnalyticsResultDto
К какой сущности привязаны звонки периода — в целом и в разрезе категорий. Счётчики entities складываются в total ровно: каждый звонок попадает в один бакет, включая непривязанные.
Поля
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
total | number | да | — |
entities | CallEntityCountDto[] | да | — |
byCategory | CallEntityCategoryDto[] | да | — |
Пример
{
"total": 0,
"entities": [],
"byCategory": []
}CallEntityCategoryDto
Разбивка по сущностям внутри одной категории. Отдельного тотала у строки нет намеренно: сумма entities и есть число звонков этой категории.
Поля
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
category | CallSessionCategoryDto | null | да | — |
entities | CallEntityCountDto[] | да | — |
Пример
{
"category": "<callsessioncategorydto>",
"entities": []
}CallEntityCountDto
Сколько звонков привязано к одному типу сущности. entityType: null — звонки без привязки вообще; это полноценный бакет, а не ноль, и он всегда идёт последним.
Приходят ВСЕ типы сущностей плюс null — у незадействованных count: 0, порядок фиксированный, так что палитру можно привязать к индексу.
Поля
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
entityType | CallSessionExternalEntityTypeDto | null | да | — |
count | number | да | — |
Пример
{
"entityType": "<callsessionexternalentitytypedto>",
"count": 0
}CallItemTypeDto
Discriminates a GET /Api/Calls row: a real call vs a standalone (orphan) call session.
Значения
| Имя | Значение | Описание |
|---|---|---|
Call | 1 | — |
Session | 2 | — |
Пример
1CallLoadAnalyticsResponseDto
Response of GET /Api/Calls/Analytics/Load. Data lives under the result field.
Поля
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
result | CallLoadAnalyticsResultDto | да | — |
Пример
{
"result": "<CallLoadAnalyticsResultDto>"
}CallLoadAnalyticsResultDto
Нагрузка колл-центра по дню недели и часу. cells — полная сетка 168 ячеек (7 × 24) в фиксированном порядке: ночь без звонков приходит нулём, а не пропуском. weekdays — все 7 дней.
timeZone — зона, в которой посчитаны день недели и час (например Europe/Berlin).
Поля
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
timeZone | string | да | — |
total | number | да | — |
cells | CallLoadCellDto[] | да | — |
weekdays | CallLoadWeekdayDto[] | да | — |
Пример
{
"timeZone": "2026-05-05T08:00:00Z",
"total": 0,
"cells": [],
"weekdays": []
}CallLoadCellDto
Одна ячейка тепловой карты. count — АБСОЛЮТНОЕ число звонков за весь период, а не среднее: чтобы получить среднее, поделите на dayCount того же дня недели из weekdays.
weekday — ISO: 1 понедельник … 7 воскресенье. Это НЕ Date.getDay(), где 0 воскресенье. hour — 0…23 в таймзоне из timeZone корня ответа.
Ячейки приходят все 7 × 24, включая пустые с count: 0.
Поля
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
weekday | number | да | — |
hour | number | да | — |
count | number | да | — |
Пример
{
"weekday": 0,
"hour": 0,
"count": 0
}CallLoadWeekdayDto
Сколько раз день недели попал в период — знаменатель для усреднения ячеек этого дня.
Считать его на фронте по своим локальным датам нельзя: числитель приходит с бэка, который знает таймзону колл-центра и то, как разрешился период, и расхождение будет тихим.
weekday — ISO: 1 понедельник … 7 воскресенье.
Поля
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
weekday | number | да | — |
dayCount | number | да | — |
Пример
{
"weekday": 0,
"dayCount": 0
}CallOutcomeCountersDto
How a set of calls ended. notReached + positive + negative + interrupted + unclassified always add up to total.
notReached is every call that was not explicitly answered, including the legacy sessions that carry a negative outcome together with answered: false. unclassified is answered without a recorded outcome: a call with no session at all, or a session left without one.
Поля
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
total | number | да | — |
notReached | number | да | — |
positive | number | да | — |
negative | number | да | — |
interrupted | number | да | — |
unclassified | number | да | — |
Пример
{
"total": 0,
"notReached": 0,
"positive": 0,
"negative": 0,
"interrupted": 0,
"unclassified": 0
}CallReasonCountDto
Сколько звонков завершено с этой причиной. Приходят ВСЕ причины, возможные в категории, — у невыбранных count: 0, пропусков нет.
WARNING
В result может прийти код, которого нет в SessionResultDto: в данных есть легаси-значения вне энума. Такой код не имеет метки, и фолбэк отрисует его как «прочее» — на графике окажутся две записи «прочее» с разными числами. Стоит либо завести метку, либо отфильтровать неизвестные коды осознанно, но молча они больше не пропадают.
Поля
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
result | SessionResultDto | да | — |
count | number | да | — |
Пример
{
"result": "<SessionResultDto>",
"count": 0
}CallResultAnalyticsResponseDto
Response of GET /Api/Calls/Analytics/Results. Data lives under the result field.
Поля
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
result | CallResultAnalyticsResultDto | да | — |
Пример
{
"result": "<CallResultAnalyticsResultDto>"
}CallResultAnalyticsResultDto
How the calls of the period ended, broken down by call session category. total and reasons are the aggregate over every category, uncategorized calls included.
categories — все 7 категорий плюс строка null последней, порядок фиксированный. reasons на верхнем уровне — объединение справочников всех категорий. Пустых слотов не пропускаем: где не было звонков, приходят нули.
Поля
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
total | CallOutcomeCountersDto | да | — |
reasons | CallReasonCountDto[] | да | — |
categories | CallResultCategoryDto[] | да | — |
Пример
{
"total": "<CallOutcomeCountersDto>",
"reasons": [],
"categories": []
}CallResultCategoryDto
One category row. category: null means the call carries no category — either it has no session, or the session was left without one. Kept apart from CallSessionCategoryDto.Other, which is a real category of the domain.
Приходят ВСЕ категории, включая null, — у пустых нулевые счётчики.
reasons — все причины, возможные в этой категории, отсортированы по убыванию количества; заполняются только у негативного исхода, у остальных count: 0. У строки category: null причин нет вовсе: у звонка без категории их взять негде.
Поля
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
category | CallSessionCategoryDto | null | да | — |
counters | CallOutcomeCountersDto | да | — |
reasons | CallReasonCountDto[] | да | — |
Пример
{
"category": "<callsessioncategorydto>",
"counters": "<CallOutcomeCountersDto>",
"reasons": []
}CallSessionCategoryDto
Значения
| Имя | Значение | Описание |
|---|---|---|
PotentialClient | 1 | — |
Client | 2 | — |
PotentialWorker | 3 | — |
Worker | 4 | — |
PotentialPartner | 5 | — |
Partner | 6 | — |
Other | 7 | — |
Пример
1CallSessionDto
Backend-источник: features.callcenterservice/Features.CallCenterService/Nuget.CallCenterApiClient/Dto/CallSessions/CallSessionDto.cs (features.callcenterservice).
Поля
| Поле | Тип (TS) | Обязательное | Описание | Тип (C#) |
|---|---|---|---|---|
id | number | да | — | int |
agentId | number | null | нет | — | int |
callId | number | null | нет | — | int? |
phoneNumber | string | да | — | string |
callDirection | CallDirectionDto | да | — | CallDirectionDto |
startedAt | string | да | — | DateTime |
endedAt | string | null | нет | — | DateTime? |
category | CallSessionCategoryDto | null | нет | — | — |
sessionOutcome | SessionOutcomeDto | null | нет | — | — |
answered | boolean | null | нет | — | — |
externalEntityType | CallSessionExternalEntityTypeDto | null | нет | — | — |
externalEntityId | number | null | нет | — | — |
sessionResult | SessionResultDto | null | нет | — | — |
comment | string | null | нет | — | string? |
createDateTime | string | да | — | DateTimeOffset |
updateDateTime | string | null | нет | — | DateTimeOffset? |
agent | AgentSummaryDto | null | нет | — | AgentSummaryDto? |
Пример
{
"id": 0,
"agentId": 0,
"callId": 0,
"phoneNumber": "+49123456789",
"callDirection": "<CallDirectionDto>",
"startedAt": "2026-05-05T08:00:00Z",
"endedAt": "2026-05-05T08:00:00Z",
"category": "<callsessioncategorydto>",
"sessionOutcome": "<sessionoutcomedto>",
"answered": false,
"externalEntityType": "<callsessionexternalentitytypedto>",
"externalEntityId": 0,
"sessionResult": "<sessionresultdto>",
"comment": "string",
"createDateTime": "2026-05-05T08:00:00Z",
"updateDateTime": "2026-05-05T08:00:00Z",
"agent": "<agentsummarydto>"
}CallSessionExternalEntityTypeDto
Значения
| Имя | Значение | Описание |
|---|---|---|
Client | 1 | — |
Worker | 2 | — |
Partner | 3 | — |
ClientLead | 4 | — |
WorkerLead | 5 | — |
Пример
1CategoryAnalyticsChartPointDto
One chart data point: totals for a single category on a single date.
Поля
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
date | string | да | — |
category | CallSessionCategoryDto | да | — |
incoming | number | да | — |
outgoing | number | да | — |
missed | number | да | — |
notReached | number | да | — |
Пример
{
"date": "2026-05-05T08:00:00Z",
"category": "<CallSessionCategoryDto>",
"incoming": 0,
"outgoing": 0,
"missed": 0,
"notReached": 0
}CategoryAnalyticsDayPointDto
One "all categories" chart point: totals for a single date across every category.
Поля
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
date | string | да | — |
incoming | number | да | — |
outgoing | number | да | — |
missed | number | да | — |
notReached | number | да | — |
Пример
{
"date": "2026-05-05T08:00:00Z",
"incoming": 0,
"outgoing": 0,
"missed": 0,
"notReached": 0
}CategoryAnalyticsKpiDto
Aggregate totals for a single category over the whole requested range.
Поля
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
category | CallSessionCategoryDto | да | — |
incoming | number | да | — |
outgoing | number | да | — |
missed | number | да | — |
notReached | number | да | — |
Пример
{
"category": "<CallSessionCategoryDto>",
"incoming": 0,
"outgoing": 0,
"missed": 0,
"notReached": 0
}CategoryAnalyticsResponseDto
Response of GET /Api/Calls/Analytics/ByCategory. Data lives under the result field.
Поля
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
result | CategoryAnalyticsResultDto | да | — |
Пример
{
"result": "<CategoryAnalyticsResultDto>"
}CategoryAnalyticsResultDto
Поля
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
availableCategories | PaginationFilterResult<CallSessionCategoryDto>[] | да | — |
total | CategoryAnalyticsTotalDto | да | — |
chart | CategoryAnalyticsChartPointDto[] | да | — |
kpi | CategoryAnalyticsKpiDto[] | да | — |
Пример
{
"availableCategories": [],
"total": "<CategoryAnalyticsTotalDto>",
"chart": [],
"kpi": []
}CategoryAnalyticsTotalDto
Aggregate across all categories: KPI totals + a per-day chart series.
Поля
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
incoming | number | да | — |
outgoing | number | да | — |
missed | number | да | — |
notReached | number | да | — |
chart | CategoryAnalyticsDayPointDto[] | да | — |
Пример
{
"incoming": 0,
"outgoing": 0,
"missed": 0,
"notReached": 0,
"chart": []
}CreateAgentRequestDto
Backend-источник: features.callcenterservice/Features.CallCenterService/Nuget.CallCenterApiClient/Dto/Agents/Requests/CreateAgentRequestDto.cs (features.callcenterservice).
Также определён в:
integration.callcenternotification.
Поля
| Поле | Тип (TS) | Обязательное | Описание | Тип (C#) |
|---|---|---|---|---|
userId | number | да | User id in User service | int |
webexAgentId | string | да | Agent id in Webex service | string |
userFullName | string | да | Agent full name | string |
queues | AgentQueueRequestDto[] | да | Queue associations with joined status | List<AgentQueueRequestDto> |
Пример
{
"userId": 0,
"webexAgentId": "uuid",
"userFullName": "string",
"queues": []
}CreateCallRequestParam
Backend-источник: core.businesslogicservice/Core.BusinessLogicService/Nuget.BusinessApiClient/Dto/CallParams/Request/CreateCallRequestParam.cs (core.businesslogicservice).
Поля
| Поле | Тип (TS) | Обязательное | Описание | Тип (C#) |
|---|---|---|---|---|
clientId | number | да | Идентификатор клиента. | int |
callType | number | да | Тип звонка | int |
comment | string | null | нет | Комментарий к звонку (необязательное поле). | string? |
Пример
{
"clientId": 0,
"callType": 0,
"comment": "string"
}CreateCallSessionRequestDto
Backend-источник: features.callcenterservice/Features.CallCenterService/Nuget.CallCenterApiClient/Dto/CallSessions/Requests/CreateCallSessionRequestDto.cs (features.callcenterservice).
Поля
| Поле | Тип (TS) | Обязательное | Описание | Тип (C#) |
|---|---|---|---|---|
phoneNumber | string | да | — | string |
callDirection | CallDirectionDto | да | — | CallDirectionDto |
externalEntityType | CallSessionExternalEntityTypeDto | null | нет | — | — |
externalEntityId | number | null | нет | — | — |
Пример
{
"phoneNumber": "+49123456789",
"callDirection": "<CallDirectionDto>",
"externalEntityType": "<callsessionexternalentitytypedto>",
"externalEntityId": 0
}GetAgentsRequestDto
Backend-источник: features.callcenterservice/Features.CallCenterService/Nuget.CallCenterApiClient/Dto/Agents/GetAgentsRequestDto.cs (features.callcenterservice).
Также определён в:
integration.callcenternotification.
Поля
| Поле | Тип (TS) | Обязательное | Описание | Тип (C#) |
|---|---|---|---|---|
pagination | Pagination | да | — | Pagination |
Пример
{
"pagination": "<Pagination>"
}GetCallsAnalyticsRequestDto
Backend-источник: features.callcenterservice/Features.CallCenterService/Nuget.CallCenterApiClient/Dto/Calls/Requests/GetCallsAnalyticsRequestDto.cs (features.callcenterservice).
Поля
| Поле | Тип (TS) | Обязательное | Описание | Тип (C#) |
|---|---|---|---|---|
from | string | null | нет | — | DateOnly? |
to | string | null | нет | — | DateOnly? |
Пример
{
"from": "2026-05-05T08:00:00Z",
"to": "2026-05-05T08:00:00Z"
}GetCallSessionsRequestDto
Backend-источник: features.callcenterservice/Features.CallCenterService/Nuget.CallCenterApiClient/Dto/CallSessions/Requests/GetCallSessionsRequestDto.cs (features.callcenterservice).
Поля
| Поле | Тип (TS) | Обязательное | Описание | Тип (C#) |
|---|---|---|---|---|
phoneNumber | string | null | нет | — | string? |
withNoEndedAt | boolean | null | нет | — | bool? |
sessionOutcomeFilter | SessionOutcomeDto | null | нет | — | — |
pagination | Pagination | да | — | Pagination |
Пример
{
"phoneNumber": "+49123456789",
"withNoEndedAt": false,
"sessionOutcomeFilter": "<sessionoutcomedto>",
"pagination": "<Pagination>"
}GetCallsRequestDto
Filters for GET Api/Calls. Every field except pagination is optional — an absent field applies no condition.
The list unions two sources: calls, and the sessions an agent recorded without a call of their own. A filter on a column only calls have (queueIds, queueTypes, recallCreated, outcomeReason, webexCorrelationId) drops the session branch entirely, because a session cannot satisfy it.
This endpoint ignores pagination.sortBy: the union spans two id sequences, so rows are always ordered by their start time and only pagination.descending is honoured.
Backend-источник: features.callcenterservice/Features.CallCenterService/Nuget.CallCenterApiClient/Dto/Calls/Requests/GetCallsRequestDto.cs (features.callcenterservice).
Также определён в:
integration.callcenternotification.
Поля
| Поле | Тип (TS) | Обязательное | Описание | Тип (C#) |
|---|---|---|---|---|
phoneNumbers | string[] | да | Prefix match against either number of a call, or the single number of a session. Numbers are OR-ed together. callingPhoneNumber and calledPhoneNumber are the per-side forms. An empty array is indistinguishable from an absent field in a query string, so it means "no restriction" and returns every call. To show nothing for a contact without a phone number, skip the call instead of sending an empty array. | List<string>? |
from | string | null | нет | Start of the window, inclusive, as a local calendar day (YYYY-MM-DD). | DateTime? |
to | string | null | нет | End of the window, inclusive, as a local calendar day (YYYY-MM-DD). | DateTime? |
answered | boolean | null | нет | Whether the other side was reached. Read from the agent's session when there is one, otherwise from what Webex reported. | bool? |
missed | boolean | null | нет | Inverse of answered, in either direction. Kept for compatibility. | bool? |
category | CallSessionCategoryDto | null | нет | Single category. categories is the multi-select form. | — |
callDirection | CallDirectionDto | null | нет | Single direction. callDirections is the multi-select form. | — |
agentIds | number[] | нет | Matches calls and sessions handled by any of the listed agents. | — |
queueIds | number[] | нет | Matches calls routed through any of the listed queues. Sessions have no queue. | — |
queueTypes | QueueTypeDto[] | нет | Matches calls whose queue is of any of the listed types. Sessions have no queue. This replaces the singular QueueType parameter the portal used to send, which the backend never read. | — |
callDirections | CallDirectionDto[] | нет | Multi-select form of callDirection. | — |
categories | CallSessionCategoryDto[] | нет | Multi-select form of category. | — |
sessionOutcomes | SessionOutcomeDto[] | нет | How the agent judged the conversation. | — |
sessionResults | SessionResultDto[] | нет | What the agent recorded as the result of the conversation. | — |
callingPhoneNumber | string | нет | Prefix match on the originating number. A session stores one number for both sides, so it matches that number. | — |
calledPhoneNumber | string | нет | Prefix match on the dialled number. A session stores one number for both sides, so it matches that number. | — |
externalEntityTypes | CallSessionExternalEntityTypeDto[] | нет | Kind of entity the session was linked to. | — |
externalEntityId | number | null | нет | Id of the linked entity. Applies on its own, without externalEntityTypes. | — |
recallCreated | boolean | null | нет | Whether a recall was created off the call. Set only by the inbound recall worker, so it is always false on outbound calls. Sessions do not carry it. | — |
durationSeconds | PaginationRangeFilter<number> | нет | Range over the length of the conversation in seconds. Calls and sessions that never finished are excluded. | — |
createdAt | PaginationRangeFilter<string> | нет | ISO 8601 range over the creation timestamp of the record, not over when the call started. | — |
outcomeReason | string | нет | Substring match on the outcome reason Webex reported. Sessions do not carry it. | — |
comment | string | нет | Substring match on the comment the agent left on the session. | — |
webexCorrelationId | string | нет | Exact match on the Webex correlation id, for tracing a single call. Sessions do not carry it. | — |
pagination | Pagination | да | — | Pagination |
Пример
{
"phoneNumbers": [],
"from": "2026-05-05T08:00:00Z",
"to": "2026-05-05T08:00:00Z",
"answered": false,
"missed": false,
"category": "<callsessioncategorydto>",
"callDirection": "<calldirectiondto>",
"agentIds": [],
"queueIds": [],
"queueTypes": [],
"callDirections": [],
"categories": [],
"sessionOutcomes": [],
"sessionResults": [],
"callingPhoneNumber": "+49123456789",
"calledPhoneNumber": "+49123456789",
"externalEntityTypes": [],
"externalEntityId": 0,
"recallCreated": false,
"durationSeconds": "<PaginationRangeFilter<number>>",
"createdAt": "<PaginationRangeFilter<string>>",
"outcomeReason": "string",
"comment": "string",
"webexCorrelationId": "uuid",
"pagination": "<Pagination>"
}GetCategoryAnalyticsRequestDto
Поля
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
from | string | null | нет | — |
to | string | null | нет | — |
categories | PaginationFilter<CallSessionCategoryDto> | нет | — |
Пример
{
"from": "2026-05-05T08:00:00Z",
"to": "2026-05-05T08:00:00Z",
"categories": "<PaginationFilter<CallSessionCategoryDto>>"
}PaginatedCallsResponseDto
Response of GET /Api/Calls. The paginated calls live under the result field.
Поля
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
result | PaginationResult<CallDto> | да | — |
Пример
{
"result": "<PaginationResult<CallDto>>"
}QueueAgentDto
Backend-источник: features.callcenterservice/Features.CallCenterService/Nuget.CallCenterApiClient/Dto/Queue/QueueAgentDto.cs (features.callcenterservice).
Поля
| Поле | Тип (TS) | Обязательное | Описание | Тип (C#) |
|---|---|---|---|---|
id | number | да | — | int |
joined | boolean | да | — | bool |
createDateTime | string | да | — | DateTimeOffset |
updateDateTime | string | null | нет | — | DateTimeOffset? |
deleteDateTime | string | null | нет | — | DateTimeOffset? |
agent | AgentSummaryDto | да | — | AgentSummaryDto |
Пример
{
"id": 0,
"joined": false,
"createDateTime": "2026-05-05T08:00:00Z",
"updateDateTime": "2026-05-05T08:00:00Z",
"deleteDateTime": "2026-05-05T08:00:00Z",
"agent": "<AgentSummaryDto>"
}QueueDto
Backend-источник: features.callcenterservice/Features.CallCenterService/Nuget.CallCenterApiClient/Dto/Queue/QueueDto.cs (features.callcenterservice).
Поля
| Поле | Тип (TS) | Обязательное | Описание | Тип (C#) |
|---|---|---|---|---|
id | number | да | — | int |
webexId | string | да | — | string |
webexExtension | string | да | — | string |
queueType | QueueTypeDto | null | нет | — | QueueTypeDto? |
createDateTime | string | да | — | DateTimeOffset |
updateDateTime | string | null | нет | — | DateTimeOffset? |
deleteDateTime | string | null | нет | — | DateTimeOffset? |
queueAgents | QueueAgentDto[] | да | — | List<QueueAgentDto> |
Пример
{
"id": 0,
"webexId": "uuid",
"webexExtension": "string",
"queueType": "<queuetypedto>",
"createDateTime": "2026-05-05T08:00:00Z",
"updateDateTime": "2026-05-05T08:00:00Z",
"deleteDateTime": "2026-05-05T08:00:00Z",
"queueAgents": []
}QueueSummaryDto
Backend-источник: features.callcenterservice/Features.CallCenterService/Nuget.CallCenterApiClient/Dto/Queue/QueueSummaryDto.cs (features.callcenterservice).
Поля
| Поле | Тип (TS) | Обязательное | Описание | Тип (C#) |
|---|---|---|---|---|
id | number | да | — | int |
webexId | string | да | — | string |
webexExtension | string | да | — | string |
queueType | QueueTypeDto | null | нет | — | QueueTypeDto? |
createDateTime | string | да | — | DateTimeOffset |
updateDateTime | string | null | нет | — | DateTimeOffset? |
deleteDateTime | string | null | нет | — | DateTimeOffset? |
Пример
{
"id": 0,
"webexId": "uuid",
"webexExtension": "string",
"queueType": "<queuetypedto>",
"createDateTime": "2026-05-05T08:00:00Z",
"updateDateTime": "2026-05-05T08:00:00Z",
"deleteDateTime": "2026-05-05T08:00:00Z"
}QueueTypeDto
Backend-источник: core.businesslogicservice/Core.BusinessLogicService/Nuget.BusinessApiClient/Dto/Recall/Enums/QueueTypeDto.cs (core.businesslogicservice).
Также определён в:
features.callcenterservice,infrastructure.notificationservice,integration.callcenternotification.
Значения
| Имя | Значение (TS) | Описание | Код (C#) |
|---|---|---|---|
NotFound | 0 | — | 0 |
CallCenter1 | 1 | — | 1 |
CallCenter2 | 2 | — | 2 |
CallCenter3 | 3 | — | 3 |
CallCenter4 | 4 | — | 4 |
Outbound | 5 | — | — |
Пример
0RecallActionDto
Значения
| Имя | Значение | Описание |
|---|---|---|
Create | 1 | — |
Reschedule | 2 | — |
Cancel | 3 | — |
Пример
1SessionOutcomeDto
Значения
| Имя | Значение | Описание |
|---|---|---|
Positive | 1 | — |
Negative | 2 | — |
Interrupted | 3 | — |
Пример
1SessionResultDto
Значения
| Имя | Значение | Описание |
|---|---|---|
Other | 0 | — |
NoPflegegradAndUnwillingToSelfPay | 10 | — |
PflegegradApplicationJustStarted | 11 | — |
PriceOrAdditionalCostsNotAcceptable | 12 | — |
FearOfDataSharing | 13 | — |
WantsTimeToConsiderOrCompare | 14 | — |
CareByRelatives | 15 | — |
WrongFormFilledOut | 16 | — |
WantsCareSupervisionOrCooking | 17 | — |
TooManyHoursRequested | 18 | — |
OfferedScopeTooSmallNeedsPartTime | 19 | — |
OnlyEveningsOrWeekends | 20 | — |
AlreadyFoundAnotherJob | 21 | — |
DecidedAgainstHousekeepingWork | 22 | — |
AlreadyCooperatingWithOtherProviders | 23 | — |
NoSpaceForFlyers | 24 | — |
NegativePastExperience | 25 | — |
RejectionWithoutReason | 26 | — |
ContractTerminated | 27 | — |
VacationInquiry | 28 | — |
WantsFlyersAgain | 29 | — |
WantsNoMoreFlyers | 30 | — |
Пример
0UpdateAgentRequestDto
Backend-источник: features.callcenterservice/Features.CallCenterService/Nuget.CallCenterApiClient/Dto/Agents/Requests/UpdateAgentRequestDto.cs (features.callcenterservice).
Также определён в:
integration.callcenternotification.
Поля
| Поле | Тип (TS) | Обязательное | Описание | Тип (C#) |
|---|---|---|---|---|
id | number | да | Agent Id | int |
userId | number | null | нет | Agent user id from UserManagement service | int? |
userFullName | string | null | нет | Agent full name | string? |
queues | AgentQueueRequestDto[] | да | Queue associations with joined status | List<AgentQueueRequestDto> |
Пример
{
"id": 0,
"userId": 0,
"userFullName": "string",
"queues": []
}UpdateCallSessionRecallDto
Поля
| Поле | Тип | Обязательное | Описание |
|---|---|---|---|
recallId | number | null | нет | Id существующего ожидающего (Waiting) перезвона (из recallService.GetActual). Обязателен для Reschedule / Cancel; отсутствует для Create. |
action | RecallActionDto | да | Что сделать: создать новый (Create; при наличии существующего — переносится), перенести (Reschedule) или отменить (Cancel) существующий перезвон |
date | string | null | нет | Дата/время перезвона. Обязательно для Reschedule и Create, иначе игнорируется |
comment | string | null | нет | Комментарий к перезвону при Reschedule/Create |
Пример
{
"recallId": 0,
"action": "<RecallActionDto>",
"date": "2026-05-05T08:00:00Z",
"comment": "string"
}UpdateCallSessionRequestDto
Backend-источник: features.callcenterservice/Features.CallCenterService/Nuget.CallCenterApiClient/Dto/CallSessions/Requests/UpdateCallSessionRequestDto.cs (features.callcenterservice).
Поля
| Поле | Тип (TS) | Обязательное | Описание | Тип (C#) |
|---|---|---|---|---|
id | number | да | — | int |
callSessionCategory | CallSessionCategoryDto | null | нет | — | — |
externalEntityType | CallSessionExternalEntityTypeDto | null | нет | — | — |
externalEntityId | number | null | нет | — | — |
sessionOutcome | SessionOutcomeDto | null | нет | — | — |
answered | boolean | да | — | — |
sessionResult | SessionResultDto | null | нет | — | — |
recall | UpdateCallSessionRecallDto | null | нет | Решение по перезвону контакта. action=Create создаёт новый перезвон (при наличии существующего — переносит его), Reschedule / Cancel применяются к существующему ожидающему (Waiting) перезвону (recallId обязателен). Если не задано — поведение автоматическое: не дозвонились → сдвиг; оборвался → ближайший слот; позитив/негатив → текущий перезвон закрывается. | — |
comment | string | null | нет | — | string? |
Пример
{
"id": 0,
"callSessionCategory": "<callsessioncategorydto>",
"externalEntityType": "<callsessionexternalentitytypedto>",
"externalEntityId": 0,
"sessionOutcome": "<sessionoutcomedto>",
"answered": false,
"sessionResult": "<sessionresultdto>",
"recall": "<updatecallsessionrecalldto>",
"comment": "string"
}UpdateQueueAgentRequestDto
Backend-источник: features.callcenterservice/Features.CallCenterService/Nuget.CallCenterApiClient/Dto/Queue/Requests/UpdateQueueAgentRequestDto.cs (features.callcenterservice).
Поля
| Поле | Тип (TS) | Обязательное | Описание | Тип (C#) |
|---|---|---|---|---|
id | number | да | — | int |
agentId | number | да | — | int |
joined | boolean | да | — | bool |
Пример
{
"id": 0,
"agentId": 0,
"joined": false
}UpdateQueueRequestDto
Backend-источник: features.callcenterservice/Features.CallCenterService/Nuget.CallCenterApiClient/Dto/Queue/Requests/UpdateQueueRequestDto.cs (features.callcenterservice).
Также определён в:
integration.callcenternotification.
Поля
| Поле | Тип (TS) | Обязательное | Описание | Тип (C#) |
|---|---|---|---|---|
id | number | да | — | int |
queueType | QueueTypeDto | да | — | QueueTypeDto |
queueAgents | UpdateQueueAgentRequestDto[] | да | — | List<UpdateQueueAgentRequestDto> |
Пример
{
"id": 0,
"queueType": "<QueueTypeDto>",
"queueAgents": []
}