Система управления тарифами клиента
OpenAPI 1.0.0
Платформа для хранения и управления продуктовыми комиссиями и тарифами клиентов ЮЛ
Варианты
- Паблик
Операции API
GET /v1/tariff-plans/public/available/client/{cnum}/list — getClientAvailableTariffPlans
Возвращает доступные тарифные планы для клиента
{
"tags": [
"tariff-plan-controller"
],
"summary": "getClientAvailableTariffPlans",
"description": "Возвращает доступные тарифные планы для клиента",
"operationId": "getClientAvailableTariffPlans",
"parameters": [
{
"name": "cnum",
"in": "path",
"description": "Идентификатор клиента",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "page",
"in": "query",
"description": "Номер страницы",
"required": false,
"schema": {
"minimum": 0,
"type": "integer",
"format": "int32",
"default": 0
}
},
{
"name": "size",
"in": "query",
"description": "Размер страницы",
"required": false,
"schema": {
"minimum": 1,
"type": "integer",
"format": "int32",
"default": 10
}
},
{
"$ref": "#/components/parameters/IdTokenHeader"
},
{
"$ref": "#/components/parameters/AuthorizationHeader"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/AvailableTariffPlansView"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError4xx"
}
}
}
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"500": {
"$ref": "#/components/responses/InternalError"
}
}
}GET /v1/tariff-plan/documents/download/record/{id} — downloadTariffPlanDocumentContent
Скачивание документа тарифного плана по его идентификатору. Возвращает файл (например, PDF) потоком с указанием MIME-типа, размера и названия файла в заголовках
{
"tags": [
"Tariff plan documents"
],
"summary": "downloadTariffPlanDocumentContent",
"description": "Скачивание документа тарифного плана по его идентификатору. Возвращает файл (например, PDF) потоком с указанием MIME-типа, размера и названия файла в заголовках",
"operationId": "downloadTariffPlanDocumentContent",
"parameters": [
{
"name": "id",
"in": "path",
"description": "Уникальный идентификатор документа с тарифным планом",
"required": true,
"schema": {
"type": "integer",
"format": "int64",
"example": 1
}
},
{
"$ref": "#/components/parameters/IdTokenHeader"
},
{
"$ref": "#/components/parameters/AuthorizationHeader"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/StreamingResponseBody"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError4xx"
}
}
}
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"500": {
"$ref": "#/components/responses/InternalError"
}
}
}GET /v1/tariff-plan/client/{cnum}/documents/record — getTariffPlanDocumentByClient
Возвращает информацию о документе тарифного плана по коду клиента cnum
{
"tags": [
"Tariff plan documents"
],
"summary": "getTariffPlanDocumentByClient",
"description": "Возвращает информацию о документе тарифного плана по коду клиента cnum",
"operationId": "getTariffPlanDocumentByClient",
"parameters": [
{
"name": "cnum",
"in": "path",
"description": "Код клиента cnum",
"required": true,
"schema": {
"type": "string",
"example": "Z53819"
}
},
{
"$ref": "#/components/parameters/IdTokenHeader"
},
{
"$ref": "#/components/parameters/AuthorizationHeader"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/TariffPlanDocumentPublicView"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError4xx"
}
}
}
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"500": {
"$ref": "#/components/responses/InternalError"
}
}
}GET /v1/client/{cnum}/tariff-plan/public/future — getFutureClientTariffPlanPublicProjectionsByCnum
Возвращает публичные проекции будущих тарифных планов клиента
{
"tags": [
"future-client-tariff-plan-controller"
],
"summary": "getFutureClientTariffPlanPublicProjectionsByCnum",
"description": "Возвращает публичные проекции будущих тарифных планов клиента",
"operationId": "getFutureClientTariffPlanPublicProjectionsByCnum",
"parameters": [
{
"name": "cnum",
"in": "path",
"description": "Идентификатор клиента",
"required": true,
"schema": {
"type": "string"
}
},
{
"name": "page",
"in": "query",
"description": "Номер страницы",
"required": false,
"schema": {
"minimum": 0,
"type": "integer",
"format": "int32",
"default": 0
}
},
{
"name": "size",
"in": "query",
"description": "Размер страницы",
"required": false,
"schema": {
"minimum": 1,
"type": "integer",
"format": "int32",
"default": 10
}
},
{
"$ref": "#/components/parameters/IdTokenHeader"
},
{
"$ref": "#/components/parameters/AuthorizationHeader"
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"*/*": {
"schema": {
"$ref": "#/components/schemas/PageResponseFutureClientTariffPlanPublicView"
}
}
}
},
"400": {
"description": "Bad Request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ApiError4xx"
}
}
}
},
"401": {
"$ref": "#/components/responses/Unauthorized"
},
"500": {
"$ref": "#/components/responses/InternalError"
}
}
}Схемы и примеры
{
"schemas": {
"AvailableTariffPlansView": {
"required": [
"availableSince",
"tariffPlans"
],
"type": "object",
"properties": {
"availableSince": {
"type": "string",
"description": "Дата доступности",
"format": "date"
},
"tariffPlans": {
"$ref": "#/components/schemas/PageResponseTariffPlanPublicDataView"
}
},
"description": "Публичное представление тарифного плана"
},
"PageResponseTariffPlanPublicDataView": {
"required": [
"content",
"hasNext",
"hasPrevious",
"number",
"size"
],
"type": "object",
"properties": {
"content": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TariffPlanPublicDataView"
}
},
"size": {
"type": "integer",
"format": "int32"
},
"number": {
"type": "integer",
"format": "int32"
},
"hasNext": {
"type": "boolean"
},
"hasPrevious": {
"type": "boolean"
}
},
"description": "Список тарифных планов"
},
"TariffPlanPublicDataView": {
"required": [
"code",
"documentId",
"publicName"
],
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Код тарифного плана"
},
"publicName": {
"type": "string",
"description": "Публичное наименование"
},
"documentId": {
"type": "integer",
"description": "Идентификатор документа",
"format": "int64"
}
},
"description": "Представление публичных данных тарифного плана"
},
"StreamingResponseBody": {
"type": "object"
},
"TariffPlanDocumentAttachmentPublicView": {
"required": [
"name",
"size",
"type"
],
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Имя файла",
"example": "SPKG_tariff_plan.pdf"
},
"size": {
"type": "integer",
"description": "Размер файла в байтах",
"format": "int64",
"example": 245761
},
"type": {
"type": "string",
"description": "Тип содержимого файла",
"example": "PDF",
"enum": [
"PDF"
]
}
},
"description": "Метаданные файла с тарифным планом"
},
"TariffPlanDocumentPublicView": {
"required": [
"attachment",
"id",
"name",
"tariffPlan"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "Уникальный идентификатор документа",
"format": "int64",
"example": 1
},
"tariffPlan": {
"type": "string",
"description": "Код тарифного плана",
"example": "SPKG"
},
"name": {
"type": "string",
"description": "Отображаемое название документа",
"example": "Тарифный план SPKG"
},
"attachment": {
"$ref": "#/components/schemas/TariffPlanDocumentAttachmentPublicView"
}
},
"description": "Информация о документе тарифного плана"
},
"FutureClientTariffPlanPublicView": {
"required": [
"activateAt",
"client",
"clientTariffPlanVersion",
"id",
"servicePackage",
"servicePackageName",
"tariffPlan",
"tariffPlanDocumentId",
"tariffPlanName",
"tariffPlanPublicName"
],
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "Уникальный идентификатор",
"format": "int64"
},
"client": {
"type": "string",
"description": "Cnum клиента"
},
"tariffPlan": {
"type": "string",
"description": "Код тарифного плана"
},
"tariffPlanName": {
"type": "string",
"description": "Наименование тарифного плана"
},
"tariffPlanPublicName": {
"type": "string",
"description": "Публичное наименование тарифного плана"
},
"servicePackage": {
"type": "string",
"description": "Код сервисного пакета"
},
"servicePackageName": {
"type": "string",
"description": "Наименование сервисного пакета"
},
"activateAt": {
"type": "string",
"description": "Дата активации",
"format": "date-time"
},
"clientTariffPlanVersion": {
"type": "string",
"description": "Версия тарифного плана клиента"
},
"tariffPlanDocumentId": {
"type": "integer",
"description": "Идентификатор документа тарифного плана",
"format": "int64"
}
},
"description": "Публичное представление будущего тарифного плана клиента"
},
"PageResponseFutureClientTariffPlanPublicView": {
"required": [
"content",
"hasNext",
"hasPrevious",
"number",
"size"
],
"type": "object",
"properties": {
"content": {
"type": "array",
"items": {
"$ref": "#/components/schemas/FutureClientTariffPlanPublicView"
}
},
"size": {
"type": "integer",
"format": "int32"
},
"number": {
"type": "integer",
"format": "int32"
},
"hasNext": {
"type": "boolean"
},
"hasPrevious": {
"type": "boolean"
}
}
},
"ApiError4xx": {
"required": [
"code",
"data",
"message",
"status",
"traceId"
],
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Код ошибки для обработки на клиенте",
"example": "oct.not-found"
},
"traceId": {
"type": "string",
"description": "Идентификатор трассировки в распределенной системе",
"example": "cf9924bed9c41f689f97728a50dbc035"
},
"message": {
"type": "string",
"description": "Сообщение об ошибке",
"example": "Record not found"
},
"data": {
"type": "object",
"description": "Дополнительные данные об ошибке (например, список нарушенных полей валидации)",
"example": {
"key": "value"
}
},
"status": {
"type": "string",
"description": "HTTP-статус, соответствующий ошибке",
"example": "400 BAD_REQUEST",
"enum": [
"400 BAD_REQUEST",
"401 UNAUTHORIZED",
"402 PAYMENT_REQUIRED",
"403 FORBIDDEN",
"404 NOT_FOUND",
"405 METHOD_NOT_ALLOWED",
"406 NOT_ACCEPTABLE",
"407 PROXY_AUTHENTICATION_REQUIRED",
"408 REQUEST_TIMEOUT",
"409 CONFLICT",
"410 GONE",
"411 LENGTH_REQUIRED",
"412 PRECONDITION_FAILED",
"413 CONTENT_TOO_LARGE",
"413 PAYLOAD_TOO_LARGE",
"414 URI_TOO_LONG",
"415 UNSUPPORTED_MEDIA_TYPE",
"416 REQUESTED_RANGE_NOT_SATISFIABLE",
"417 EXPECTATION_FAILED",
"418 I_AM_A_TEAPOT",
"421 MISDIRECTED_REQUEST",
"422 UNPROCESSABLE_CONTENT",
"422 UNPROCESSABLE_ENTITY",
"423 LOCKED",
"424 FAILED_DEPENDENCY",
"425 TOO_EARLY",
"426 UPGRADE_REQUIRED",
"428 PRECONDITION_REQUIRED",
"429 TOO_MANY_REQUESTS",
"431 REQUEST_HEADER_FIELDS_TOO_LARGE",
"451 UNAVAILABLE_FOR_LEGAL_REASONS"
]
}
},
"description": "Модель ошибки API"
},
"ApiError5xx": {
"required": [
"code",
"data",
"message",
"status",
"traceId"
],
"type": "object",
"properties": {
"code": {
"type": "string",
"description": "Код ошибки для обработки на клиенте",
"example": "oct.not-found"
},
"traceId": {
"type": "string",
"description": "Идентификатор трассировки в распределенной системе",
"example": "cf9924bed9c41f689f97728a50dbc035"
},
"message": {
"type": "string",
"description": "Сообщение об ошибке",
"example": "Record not found"
},
"data": {
"type": "object",
"description": "Дополнительные данные об ошибке (например, список нарушенных полей валидации)",
"example": {
"key": "value"
}
},
"status": {
"type": "string",
"description": "HTTP-статус, соответствующий ошибке",
"example": "400 BAD_REQUEST",
"enum": [
"500 INTERNAL_SERVER_ERROR",
"501 NOT_IMPLEMENTED",
"502 BAD_GATEWAY",
"503 SERVICE_UNAVAILABLE",
"504 GATEWAY_TIMEOUT",
"505 HTTP_VERSION_NOT_SUPPORTED",
"506 VARIANT_ALSO_NEGOTIATES",
"507 INSUFFICIENT_STORAGE",
"508 LOOP_DETECTED",
"509 BANDWIDTH_LIMIT_EXCEEDED",
"510 NOT_EXTENDED",
"511 NETWORK_AUTHENTICATION_REQUIRED"
]
}
},
"description": "Модель ошибки API"
}
},
"responses": {
"Unauthorized": {
"description": "Аутентификация не пройдена"
},
"InternalError": {
"description": "Внутренняя ошибка"
}
},
"parameters": {
"IdTokenHeader": {
"name": "Id-Token",
"in": "header",
"description": "Идентификационный токен пользователя",
"required": true,
"schema": {
"type": "string",
"format": "byte",
"example": "SUQgVE9LRU4gRk9SIFRFU1RJTkc="
}
},
"AuthorizationHeader": {
"name": "Authorization",
"in": "header",
"description": "Токен доступа",
"required": true,
"schema": {
"type": "string",
"format": "byte",
"example": "Bearer QXV0aG9yaXphdGlvbiBIZWFkZXIgRm9yIFRlc3Rpbmc="
}
}
}
}