API Calc service (v0.1.0)

Download OpenAPI specification:

Orders

API заявок

Создать заявку

Authorizations:
Bearer
Request Body schema: application/json
required
status
required
string <= 255 characters

Текущий статус заявки

category
required
string <uuid>

Категория заявки (продажа, аренда и т.д.)

crm_deal_id
string <= 255 characters

Идентификатор сделки во внешней CRM

responsible_user
string or null <uuid>

Ответственный менеджер (auth-service)

required
object (ClientDto)
fail_reason
string or null <uuid>

Причина отмены заявки

Array of objects (OrderBooking)

Брони по заявке

Array of objects (ShareEmployee)

Сотрудники-участники сделки

Array of objects (ShareAgent)

Агенты-участники сделки

observers
Array of strings <uuid> [ items <uuid > ]

Наблюдатели (пользователи из AuthService)

Array of objects (OrderComment)

Комментарии к заявке

Array of objects (FileDto)

Документы заявки

Responses

Request samples

Content type
application/json
{
  • "status": "string",
  • "category": "86d23d13-9dbb-46f3-82d0-25253c7750c3",
  • "crm_deal_id": "string",
  • "responsible_user": "8f6162d6-5944-4077-9348-c9ee6f0a304f",
  • "client": {
    },
  • "fail_reason": "98fd40f1-1a65-4fb7-81d5-dd37f84e8df7",
  • "bookings": [
    ],
  • "shares_employees": [
    ],
  • "shares_agents": [
    ],
  • "observers": [
    ],
  • "comments": [
    ],
  • "files": [
    ]
}

Response samples

Content type
application/json
{
  • "item": {
    },
  • "message": "Запись успешно создана"
}

Получить заявку

Authorizations:
Bearer
Request Body schema: application/json
required
required
object (FilterOrdersDto)
required
object (PaginationDto)

Responses

Request samples

Content type
application/json
{
  • "filter": {
    },
  • "pagination": {
    }
}

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "pagination": {
    }
}

Обновить заявку

Authorizations:
Bearer
Request Body schema: application/json
required
id
required
string <uuid>

Первичный ключ, идентификатор записи

status
string <= 255 characters

Текущий статус заявки

category
string <uuid>

Категория заявки (продажа, аренда и т.д.)

crm_deal_id
string <= 255 characters

Идентификатор сделки во внешней CRM

responsible_user
string or null <uuid>

Ответственный менеджер (auth-service)

object (UpdateClientDto)
fail_reason
string or null <uuid>

Причина отмены заявки

Array of objects (OrderBooking)

Брони по заявке

Array of objects (ShareEmployee)

Сотрудники-участники сделки

Array of objects (ShareAgent)

Агенты-участники сделки

observers
Array of strings <uuid> [ items <uuid > ]

Наблюдатели (пользователи из AuthService)

Array of objects (OrderComment)

Комментарии к заявке

Array of objects (FileDto)

Документы заявки

Responses

Request samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "status": "string",
  • "category": "86d23d13-9dbb-46f3-82d0-25253c7750c3",
  • "crm_deal_id": "string",
  • "responsible_user": "8f6162d6-5944-4077-9348-c9ee6f0a304f",
  • "client": {
    },
  • "fail_reason": "98fd40f1-1a65-4fb7-81d5-dd37f84e8df7",
  • "bookings": [
    ],
  • "shares_employees": [
    ],
  • "shares_agents": [
    ],
  • "observers": [
    ],
  • "comments": [
    ],
  • "files": [
    ]
}

Response samples

Content type
application/json
{
  • "item": {
    },
  • "message": "Запись обновлена"
}

Удалить заявку

Authorizations:
Bearer
path Parameters
id
required
string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

Responses

Response samples

Content type
application/json
{
  • "item": {
    },
  • "message": "Запись удалена"
}

Conditions

API условий заявок

Создать условие заявки

Authorizations:
Bearer
Request Body schema: application/json
required
unit
required
string <uuid>

Идентификатор единицы недвижимости (stock-service)

required
object (PaymentInfo)
object (CalculatePayment)
lock
boolean
Default: false

true = условие историческое (заменено новым), false = активное

order
string or null <uuid>

Идентификатор заявки, к которой привязано условие (null = самостоятельный расчёт)

Array of objects (ConditionDiscount)

Скидки юнита

Array of objects (ConditionOption)

Опции юнита

Array of objects (FileDto)

Документы условия (КП, график платежей)

Responses

Request samples

Content type
application/json
{
  • "unit": "96a6aa1e-fb68-45e6-a443-0913abfa47dd",
  • "payment_info": {
    },
  • "calculate_payment": {
    },
  • "lock": false,
  • "order": "93b532b3-a125-4cd2-9b71-9996b1e164ce",
  • "condition_discounts": [
    ],
  • "condition_options": [
    ],
  • "files": [
    ]
}

Response samples

Content type
application/json
{
  • "item": {
    },
  • "message": "Запись успешно создана"
}

Получить условия заявки

Authorizations:
Bearer
Request Body schema: application/json
required
required
object (FilterConditionsDto)
required
object (PaginationDto)

Responses

Request samples

Content type
application/json
{
  • "filter": {
    },
  • "pagination": {
    }
}

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "pagination": {
    }
}

Обновить условие заявки

Authorizations:
Bearer
Request Body schema: application/json
required
id
required
string <uuid>

Первичный ключ, идентификатор записи

unit
string <uuid>

Идентификатор единицы недвижимости (stock-service)

object (PaymentInfo)
object (CalculatePayment)
lock
boolean
Default: false

true = условие историческое (заменено новым), false = активное

order
string or null <uuid>

Идентификатор заявки, к которой привязано условие (null = самостоятельный расчёт)

Array of objects (ConditionDiscount)

Скидки юнита

Array of objects (ConditionOption)

Опции юнита

Array of objects (FileDto)

Документы условия (КП, график платежей)

Responses

Request samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "unit": "96a6aa1e-fb68-45e6-a443-0913abfa47dd",
  • "payment_info": {
    },
  • "calculate_payment": {
    },
  • "lock": false,
  • "order": "93b532b3-a125-4cd2-9b71-9996b1e164ce",
  • "condition_discounts": [
    ],
  • "condition_options": [
    ],
  • "files": [
    ]
}

Response samples

Content type
application/json
{
  • "item": {
    },
  • "message": "Запись обновлена"
}

Удалить условие заявки

Authorizations:
Bearer
path Parameters
id
required
string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

Responses

Response samples

Content type
application/json
{
  • "item": {
    },
  • "message": "Запись удалена"
}

Расчитать заявку

Authorizations:
Bearer
Request Body schema: application/json
required
unit
required
string <uuid>

Идентификатор единицы недвижимости (stock-service)

object (PaymentInfo)
object (CalculatePayment)
Array of objects (OrderBooking)

Брони условия заявки

Array of objects (ConditionDiscount)

Скидки юнита

Array of objects (ConditionOption)

Опции юнита

Responses

Request samples

Content type
application/json
{
  • "unit": "96a6aa1e-fb68-45e6-a443-0913abfa47dd",
  • "payment_info": {
    },
  • "calculate_payment": {
    },
  • "condition_bookings": [
    ],
  • "condition_discounts": [
    ],
  • "condition_options": [
    ]
}

Response samples

Content type
application/json
{
  • "final_price": 0.1,
  • "final_price_with_components": 0.1,
  • "final_price_with_components_and_all_discounts": 0.1,
  • "calculate_table_rows": [
    ],
  • "overpayment": 0.1
}

Categories

API категорий заявок

Создать категорию заявки

Authorizations:
Bearer
Request Body schema: application/json
required
title
required
string [ 1 .. 255 ] characters

Наименование категории

slug
string [ 1 .. 255 ] characters

Машинное наименование категории

comment
string [ 1 .. 255 ] characters

Комментарии

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "slug": "string",
  • "comment": "string"
}

Response samples

Content type
application/json
{
  • "item": {
    },
  • "message": "Запись успешно создана"
}

Получить категории заявки

Authorizations:
Bearer
Request Body schema: application/json
required
required
object (FilterCategoriesDto)
required
object (PaginationDto)

Responses

Request samples

Content type
application/json
{
  • "filter": {
    },
  • "pagination": {
    }
}

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "pagination": {
    }
}

Обновить категорию заявки

Authorizations:
Bearer
Request Body schema: application/json
required
id
required
string <uuid>

Первичный ключ, идентификатор записи

active
boolean

Активность

title
string [ 1 .. 255 ] characters

Наименование категории

slug
string [ 1 .. 255 ] characters

Машинное наименование категории

comment
string [ 1 .. 255 ] characters

Комментарии

Responses

Request samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "active": true,
  • "title": "string",
  • "slug": "string",
  • "comment": "string"
}

Response samples

Content type
application/json
{
  • "item": {
    },
  • "message": "Запись обновлена"
}

Удалить категорию заявки

Authorizations:
Bearer
path Parameters
id
required
string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

Responses

Response samples

Content type
application/json
{
  • "item": {
    },
  • "message": "Запись удалена"
}

Fail Reasons

API причин отказа

Создать причину

Authorizations:
Bearer
Request Body schema: application/json
required
title
required
string [ 1 .. 255 ] characters

Наименование категории

category
required
string <uuid>

Идентификатор категории

slug
string [ 1 .. 255 ] characters

Машинное наименование категории

comment
string [ 1 .. 255 ] characters

Комментарии

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "category": "86d23d13-9dbb-46f3-82d0-25253c7750c3",
  • "slug": "string",
  • "comment": "string"
}

Response samples

Content type
application/json
{
  • "item": {
    },
  • "message": "Запись успешно создана"
}

Получить причины

Authorizations:
Bearer
Request Body schema: application/json
required
required
object (FilterFailReasonsDto)
required
object (PaginationDto)

Responses

Request samples

Content type
application/json
{
  • "filter": {
    },
  • "pagination": {
    }
}

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "pagination": {
    }
}

Обновить причину

Authorizations:
Bearer
Request Body schema: application/json
required
id
required
string <uuid>

Первичный ключ, идентификатор записи

active
boolean

Активность

category
string <uuid>

Идентификатор категории

title
string <= 255 characters

Наименование категории

slug
string <= 255 characters

Машинное наименование категории

comment
string [ 1 .. 255 ] characters

Комментарии

Responses

Request samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "active": true,
  • "category": "86d23d13-9dbb-46f3-82d0-25253c7750c3",
  • "title": "string",
  • "slug": "string",
  • "comment": "string"
}

Response samples

Content type
application/json
{
  • "item": {
    },
  • "message": "Запись обновлена"
}

Удалить причину

Authorizations:
Bearer
path Parameters
id
required
string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

Responses

Response samples

Content type
application/json
{
  • "item": {
    },
  • "message": "Запись удалена"
}

Payment Constraints

API ограничений программ оплаты

Получить ограничения программ оплаты

Authorizations:
Bearer
Request Body schema: application/json
required
required
object (FilterPaymentConstraintsDto)
required
object (PaginationDto)

Responses

Request samples

Content type
application/json
{
  • "filter": {
    },
  • "pagination": {
    }
}

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "pagination": {
    }
}

Payment Rules

API правил программ оплаты

Создать правило

Authorizations:
Bearer
Request Body schema: application/json
required
id
required
string <uuid>

Первичный ключ, идентификатор записи

house
required
string <uuid>

Идентификатор дома (stock-service)

unit_type
required
string
Enum: "UNIT_TYPE_APARTMENT" "UNIT_TYPE_OFFICE" "UNIT_TYPE_PARKING" "UNIT_TYPE_PANTRY" "UNIT_TYPE_ROOM"

Тип единицы строительства

min_initial_payment_percent
number or null <double> [ 0 .. 100 ]

Минимальный % первоначального взноса для применения правила

percent_index
number or null <double> [ 0 .. 100 ]

Коэффициент удорожания за месяц (%)

count_month
integer or null >= 1

Минимальный срок рассрочки (в месяцах) для применения правила

max_count_month
integer or null

Максимальное количество строк в графике платежей (0 = без ограничения)

month_start_indexed
integer or null >= 1

Номер месяца, начиная с которого применяется удорожание (включительно)

date_start_payment
string or null <date-time>

Дата, раньше которой нельзя начать платежи по графику

date_start_indexed
string or null <date-time>

Дата, начиная с которой применяется удорожание

max_date_payment
string or null <date-time>

Крайняя допустимая дата последнего платежа

Responses

Request samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "house": "9db7b961-0525-428d-a3d3-65ea4393c911",
  • "unit_type": "UNIT_TYPE_APARTMENT",
  • "min_initial_payment_percent": 100,
  • "percent_index": 100,
  • "count_month": 1,
  • "max_count_month": 0,
  • "month_start_indexed": 1,
  • "date_start_payment": "2019-08-24T14:15:22Z",
  • "date_start_indexed": "2019-08-24T14:15:22Z",
  • "max_date_payment": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "item": {
    },
  • "message": "Запись успешно создана"
}

Получить правила

Authorizations:
Bearer
Request Body schema: application/json
required
required
object (FilterPaymentRulesDto)
required
object (PaginationDto)

Responses

Request samples

Content type
application/json
{
  • "filter": {
    },
  • "pagination": {
    }
}

Response samples

Content type
application/json
{
  • "items": [
    ],
  • "pagination": {
    }
}

Обновить правило

Authorizations:
Bearer
Request Body schema: application/json
required
id
required
string <uuid>

Первичный ключ, идентификатор записи

min_initial_payment_percent
number or null <double> [ 0 .. 100 ]

Минимальный % первоначального взноса для применения правила

percent_index
number or null <double> [ 0 .. 100 ]

Коэффициент удорожания за месяц (%)

count_month
integer or null >= 1

Минимальный срок рассрочки (в месяцах) для применения правила

max_count_month
integer or null

Максимальное количество строк в графике платежей (0 = без ограничения)

month_start_indexed
integer or null >= 1

Номер месяца, начиная с которого применяется удорожание (включительно)

date_start_payment
string or null <date-time>

Дата, раньше которой нельзя начать платежи по графику

date_start_indexed
string or null <date-time>

Дата, начиная с которой применяется удорожание

max_date_payment
string or null <date-time>

Крайняя допустимая дата последнего платежа

Responses

Request samples

Content type
application/json
{
  • "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
  • "min_initial_payment_percent": 100,
  • "percent_index": 100,
  • "count_month": 1,
  • "max_count_month": 0,
  • "month_start_indexed": 1,
  • "date_start_payment": "2019-08-24T14:15:22Z",
  • "date_start_indexed": "2019-08-24T14:15:22Z",
  • "max_date_payment": "2019-08-24T14:15:22Z"
}

Response samples

Content type
application/json
{
  • "item": {
    },
  • "message": "Запись обновлена"
}

Удалить правило

Authorizations:
Bearer
path Parameters
id
required
string <uuid> ^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}...

Responses

Response samples

Content type
application/json
{
  • "item": {
    },
  • "message": "Запись удалена"
}