Транзакции сделки
Методы для управления транзакциями по сделке.
# Список транзакций
GET/companies/{id}/modules/dm/deals/{dealId}/transactions
Возвращает список транзакций по сделке с пагинацией и фильтрацией.
Структура ответа
RESPONSE_DATA:
application/json
transactionsrequired
array
Транзакции
Список транзакций (TransactionDetail[])
Транзакция
TRANSACTION_DETAIL:
application/json
idrequired
string
ID
Уникальный идентификатор транзакции
directionrequired
enum
incomeexpense
Направление
Направление
statusrequired
enum
pendingcompletedfailedcancelled
Статус
Статус
commentoptional
string
Комментарий
Комментарий к транзакции
reverse_tooptional
string
Сторнирует
ID транзакции, которую сторнирует
created_atrequired
string
Создан
Дата создания (RFC 3339)
metadataoptional
array
Метаданные
Дополнительные данные
employee_idoptional
string
ID сотрудника
Идентификатор сотрудника
employee_first_nameoptional
string
Имя сотрудника
Имя сотрудника
employee_last_nameoptional
string
Фамилия сотрудника
Фамилия сотрудника
category_idoptional
string
ID категории
Идентификатор категории
category_nameoptional
string
Название категории
Название категории
Параметры запроса
GET_TRANSACTIONS_PARAMS:
application/json
pageoptional
int
Страница
Номер страницы (по умолчанию 1)
limitoptional
int
Лимит
Записей на странице (по умолчанию 20)
start_dateoptional
string
Начало периода
Начало периода (RFC 3339)
end_dateoptional
string
Конец периода
Конец периода (RFC 3339)
directionoptional
enum
incomeexpense
Направление
Фильтр по направлению
statusoptional
enum
pendingcompletedfailedcancelled
Статус
Фильтр по статусу
category_idoptional
string
ID категории
Фильтр по категории
employee_idoptional
string
ID сотрудника
Фильтр по сотруднику
searchoptional
string
Поиск
Поиск по комментарию
Примеры ответов
{
"status": true,
"message": "Transactions retrieved successfully",
"data": {
"transactions": [
{
"id": "a00e8400-e29b-41d4-a716-446655440100",
"base_amount": 10000,
"currency": "RUB",
"direction": "income",
"status": "completed",
"comment": "Оплата по сделке",
"reverse_to": null,
"created_at": "2026-06-14T12:00:00Z",
"metadata": null,
"employee_id": "a00e8400-e29b-41d4-a716-446655440150",
"employee_first_name": "Иван",
"employee_last_name": "Петров",
"category_id": "b00e8400-e29b-41d4-a716-446655440050",
"category_name": "Продажи"
}
],
"pagination": {
"total": 1,
"page": 1,
"limit": 20,
"pages": 1
}
},
"meta": {
"timestamp": "2026-06-14T12:00:00Z",
"request_id": "...",
"path": "/api/v1/companies/.../modules/dm/deals/.../transactions",
"method": "GET"
}
}
# Создание транзакции
POST/companies/{id}/modules/dm/deals/{dealId}/transactions
Создаёт новую транзакцию по сделке.
Структура запроса
CREATE_REQUEST:
application/json
directionrequired
enum
incomeexpense
Направление
Направление
employee_idoptional
string
ID сотрудника
Идентификатор сотрудника
commentoptional
string
Комментарий
Комментарий к транзакции
category_idoptional
string
ID категории
Идентификатор категории
statusoptional
enum
pendingcompletedfailedcancelled
Статус
Статус
metadataoptional
array
Метаданные
Дополнительные данные
Структура ответа
TRANSACTION_DETAIL:
application/json
idrequired
string
ID
Уникальный идентификатор транзакции
directionrequired
enum
incomeexpense
Направление
Направление
statusrequired
enum
pendingcompletedfailedcancelled
Статус
Статус
commentoptional
string
Комментарий
Комментарий к транзакции
reverse_tooptional
string
Сторнирует
ID транзакции, которую сторнирует
created_atrequired
string
Создан
Дата создания (RFC 3339)
metadataoptional
array
Метаданные
Дополнительные данные
employee_idoptional
string
ID сотрудника
Идентификатор сотрудника
employee_first_nameoptional
string
Имя сотрудника
Имя сотрудника
employee_last_nameoptional
string
Фамилия сотрудника
Фамилия сотрудника
category_idoptional
string
ID категории
Идентификатор категории
category_nameoptional
string
Название категории
Название категории
Примеры ответов
{
"status": true,
"message": "Transaction created successfully",
"data": {
"id": "a00e8400-e29b-41d4-a716-446655440101",
"base_amount": 5000,
"currency": "RUB",
"direction": "expense",
"status": "pending",
"comment": "Закупка материалов",
"reverse_to": null,
"created_at": "2026-06-14T12:05:00Z",
"metadata": null,
"employee_id": null,
"employee_first_name": null,
"employee_last_name": null,
"category_id": null,
"category_name": null
},
"meta": {
"timestamp": "2026-06-14T12:05:00Z",
"request_id": "...",
"path": "/api/v1/companies/.../modules/dm/deals/.../transactions",
"method": "POST"
}
}
# Сводка
GET/companies/{id}/modules/dm/deals/{dealId}/transactions/summary
Возвращает сводку по транзакциям сделки.
Структура ответа
DEAL_TRANSACTIONS_SUMMARY:
application/json
total_amountrequired
int
Всего
Общая сумма всех транзакций
income_amountrequired
int
Доходы
Сумма доходных транзакций
expense_amountrequired
int
Расходы
Сумма расходных транзакций
income_countrequired
int
Кол-во доходов
Количество доходных транзакций
expense_countrequired
int
Кол-во расходов
Количество расходных транзакций
total_countrequired
int
Кол-во транзакций
Общее количество транзакций
Примеры ответов
{
"status": true,
"message": "Transactions summary retrieved successfully",
"data": {
"total_amount": 150000,
"income_amount": 100000,
"expense_amount": 50000,
"income_count": 5,
"expense_count": 3,
"total_count": 8
},
"meta": {
"timestamp": "2026-06-14T12:00:00Z",
"request_id": "...",
"path": "/api/v1/companies/.../modules/dm/deals/.../transactions/summary",
"method": "GET"
}
}