10566 lines
331 KiB
YAML
10566 lines
331 KiB
YAML
openapi: 3.0.1
|
||
info:
|
||
version: 2.0.0
|
||
title: HRBox Mobile API
|
||
description: |
|
||
HRBox mobile app API
|
||
|
||
Since HRBOX is multi-tenant application you need to find out domain and endpoint to start working with this API
|
||
|
||
(Option 1) QR-code will contain this info - hrbox://bind/?url={url} where {url} will be url to /mobile/bind method. You should make POST request to this URL sending "device" param in body just like described in /mobile/bind method. In the response you will find endpoint
|
||
|
||
(Option 2) Manual bind - user will provide you with {domain} {email} and {password} and you should send this info to https://{domain}/api/v2/mobile/manual-bind like described in /mobile/manual-bind method. In the response you will find endpoint
|
||
|
||
Once you will get endpoint and tenantId, use it in every request you make, using endpoint as base path, and passing tenantId as header "x-hrbox-tenant-id: {tenantId}"
|
||
|
||
To authorize you session, make call to {endpoint}/mobile/auth sending "x-hrbox-tenant-id: {tenantId}" header, and sending body that described in /mobile/auth method
|
||
|
||
To sign your requests with session id, pass following headers with each request:
|
||
|
||
x-hrbox-tenant-id: {tenantId}
|
||
x-hrbox-device-id: {deviceId}
|
||
x-hrbox-session-id: {sessionId}
|
||
x-hrbox-session-code: {sessionSecret}
|
||
x-hrbox-embed: true
|
||
|
||
{tenantId} - you will get this form /mobile/auth or /mobile/bind methods
|
||
{sessionId} - you will get this form /mobile/auth method
|
||
{sessionSecret} - you will get this form /mobile/auth method
|
||
the last one (x-hrbox-embed) is for opening web pages in WebView to remove website footer and header
|
||
contact:
|
||
email: yuriy@hrbox.io
|
||
|
||
tags:
|
||
- name: mobile
|
||
description: Binding device and authorizing
|
||
- name: account
|
||
description: Methods for getting current user data (assignments, notifications etc.)
|
||
- name: department
|
||
description: Methods for browsing and searching through Org Structure
|
||
- name: user
|
||
description: Methods for getting user and employment information
|
||
- name: employment
|
||
description: Methods for user employment
|
||
- name: article
|
||
description: Methods News, Categories and Articles
|
||
- name: postcard
|
||
description: Methods for working with postcards
|
||
- name: dashboard
|
||
description: Methods for getting dashboards and widgets data
|
||
- name: user-status
|
||
description: Methods for getting user statuses data
|
||
- name: comment
|
||
description: Methods for working with comments
|
||
- name: category
|
||
description: Methods for working with categories. Требуется право доступа show-content-categories "Видеть категории".
|
||
- name: wallet
|
||
description: Methods for working with user wallet.
|
||
- name: shop
|
||
description: Methods for working with corporate shop. Требуется право доступа shop-usage "Магазин".
|
||
- name: workflow
|
||
description: Methods for working with workflow.
|
||
- name: kedo
|
||
description: Методы для работы с КЭДО.
|
||
|
||
paths:
|
||
/mobile/bind/{id}/{token}:
|
||
post:
|
||
tags:
|
||
- mobile
|
||
summary: Bind device by token. This URL will be taken by parsing QR code
|
||
operationId: mobileBind
|
||
parameters:
|
||
- name: id
|
||
in: path
|
||
description: ID
|
||
schema:
|
||
type: string
|
||
required: true
|
||
- name: token
|
||
in: path
|
||
description: ID
|
||
schema:
|
||
type: string
|
||
required: true
|
||
requestBody:
|
||
description: Device info
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
device:
|
||
$ref: '#/components/schemas/device'
|
||
responses:
|
||
200:
|
||
description: successful operation
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
accountSecret:
|
||
$ref: '#/components/schemas/accountSecret'
|
||
tenantInfo:
|
||
$ref: '#/components/schemas/tenantInfo'
|
||
400:
|
||
description: Invalid input
|
||
403:
|
||
description: Invalid id or token
|
||
|
||
/mobile/request-two-factor:
|
||
post:
|
||
tags:
|
||
- mobile
|
||
summary: Запросить код двухфакторной аутентификации. Код будет выслан если она включена.
|
||
operationId: mobileRequestTwoFactor
|
||
requestBody:
|
||
description: Email Password and Device info. Also Code if 2FAuth enabled.
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
email:
|
||
type: string
|
||
format: email
|
||
password:
|
||
type: string
|
||
format: password
|
||
responses:
|
||
200:
|
||
description: Если Двухфакторная аутентификация включена и код был выслан то в ответе будет codeRequired = true иначе codeRequired=false
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
codeRequired:
|
||
type: boolean
|
||
tenantInfo:
|
||
$ref: '#/components/schemas/tenantInfo'
|
||
delayTime:
|
||
type: number
|
||
|
||
400:
|
||
description: Invalid input
|
||
403:
|
||
description: Invalid Email or Password
|
||
500:
|
||
description: Server Error
|
||
|
||
/mobile/manual-bind:
|
||
post:
|
||
tags:
|
||
- mobile
|
||
summary: Bind device by user's email and password
|
||
operationId: mobileManualBind
|
||
requestBody:
|
||
description: Email Password and Device info. Also Code if 2FAuth enabled.
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
email:
|
||
type: string
|
||
format: email
|
||
password:
|
||
type: string
|
||
format: password
|
||
code:
|
||
type: string
|
||
format: password
|
||
description: two-factor authorization code
|
||
device:
|
||
$ref: '#/components/schemas/device'
|
||
responses:
|
||
200:
|
||
description: successful operation
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
accountSecret:
|
||
$ref: '#/components/schemas/accountSecret'
|
||
tenantInfo:
|
||
$ref: '#/components/schemas/tenantInfo'
|
||
400:
|
||
description: Invalid input
|
||
403:
|
||
description: Invalid Email or Password
|
||
500:
|
||
description: Server Error
|
||
|
||
/mobile/auth:
|
||
post:
|
||
tags:
|
||
- mobile
|
||
summary: Authorize user by accountSecret that you got from /mobile/bind or /mobile/manual-bind
|
||
operationId: mobileAuth
|
||
requestBody:
|
||
description: secret, userId and deviceId
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
secret:
|
||
type: string
|
||
format: email
|
||
userId:
|
||
type: string
|
||
deviceId:
|
||
type: string
|
||
responses:
|
||
200:
|
||
description: successful authorization
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
sessionId:
|
||
type: string
|
||
sessionSecret:
|
||
type: string
|
||
tenantInfo:
|
||
$ref: '#/components/schemas/tenantInfo'
|
||
400:
|
||
description: Invalid input
|
||
401:
|
||
description: Authorization failed, secret is invalid
|
||
404:
|
||
description: Device not found
|
||
500:
|
||
description: Server Error
|
||
|
||
/mobile/save-push-token:
|
||
post:
|
||
tags:
|
||
- mobile
|
||
summary: Save Firebase push token to server
|
||
operationId: mobileSavePushToken
|
||
requestBody:
|
||
description: token - the token that you get from Firebase Cloud Messaging. Provider should be "firebase", not other providers supported for now. deviceId - same device id that you used in bind or auth
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
token:
|
||
type: string
|
||
provider:
|
||
type: string
|
||
default: firebase
|
||
deviceId:
|
||
type: string
|
||
responses:
|
||
200:
|
||
description: push token successfully saved
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
success:
|
||
type: boolean
|
||
default: true
|
||
400:
|
||
description: Invalid input
|
||
401:
|
||
description: Unauthorized request
|
||
403:
|
||
description: Unauthorized request
|
||
500:
|
||
description: Server Error
|
||
|
||
/mobile/unbind:
|
||
post:
|
||
tags:
|
||
- mobile
|
||
summary: Unbind device by deviceId
|
||
operationId: mobileUnbind
|
||
parameters:
|
||
- name: deviceId
|
||
in: query
|
||
description: ID
|
||
schema:
|
||
type: string
|
||
required: true
|
||
responses:
|
||
200:
|
||
description: successful operation
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
tenantInfo:
|
||
$ref: '#/components/schemas/tenantInfo'
|
||
400:
|
||
description: Invalid input
|
||
403:
|
||
description: Invalid Email or Password
|
||
500:
|
||
description: Server Error
|
||
|
||
/mobile/tenant-info:
|
||
get:
|
||
tags:
|
||
- mobile
|
||
summary: Get tenant info.
|
||
operationId: tenantInfo
|
||
responses:
|
||
200:
|
||
description: Tenant info data.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/tenantInfo'
|
||
401:
|
||
description: Unauthorized request.
|
||
403:
|
||
description: Unauthorized request.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/user/profile:
|
||
get:
|
||
tags:
|
||
- user
|
||
summary: Get User's profile info
|
||
operationId: userProfile
|
||
parameters:
|
||
- name: id
|
||
in: query
|
||
description: User ID
|
||
schema:
|
||
type: string
|
||
required: true
|
||
responses:
|
||
200:
|
||
description: User profile data
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/userProfile'
|
||
400:
|
||
description: Invalid input (malformed id)
|
||
401:
|
||
description: Unauthorized request
|
||
403:
|
||
description: Unauthorized request
|
||
404:
|
||
description: User not found
|
||
500:
|
||
description: Server Error
|
||
|
||
/user/items:
|
||
get:
|
||
tags:
|
||
- user
|
||
summary: User items.
|
||
operationId: /user/items/actionItems
|
||
parameters:
|
||
- name: q
|
||
in: query
|
||
schema:
|
||
type: string
|
||
responses:
|
||
200:
|
||
description: User items.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
data:
|
||
type: array
|
||
items:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
format: uuid
|
||
name:
|
||
type: string
|
||
faceUrl:
|
||
type: string
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized request.
|
||
403:
|
||
description: Unauthorized request.
|
||
404:
|
||
description: Calendar event not found.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/employment/index:
|
||
get:
|
||
tags:
|
||
- employment
|
||
summary: Get User's employments info
|
||
responses:
|
||
200:
|
||
description: User employments data
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
data:
|
||
$ref: '#/components/schemas/fullEmployment'
|
||
_links:
|
||
$ref: '#/components/schemas/_links'
|
||
_meta:
|
||
$ref: '#/components/schemas/_meta'
|
||
|
||
401:
|
||
description: Unauthorized request
|
||
403:
|
||
description: Unauthorized request
|
||
404:
|
||
description: User not found
|
||
500:
|
||
description: Server Error
|
||
|
||
/employment/set-main:
|
||
post:
|
||
tags:
|
||
- employment
|
||
summary: Set main employment
|
||
operationId: /calendar-event-request
|
||
requestBody:
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
employment_id:
|
||
type: string
|
||
format: uuid
|
||
description: User employment ID
|
||
responses:
|
||
200:
|
||
description: User employments data
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
success:
|
||
description: Result status.
|
||
type: boolean
|
||
example: true
|
||
message:
|
||
description: Message displayed to user (localized).
|
||
type: string
|
||
default: null
|
||
example: {
|
||
"type": "success",
|
||
"text": "Запись установлена основной!"
|
||
}
|
||
errors:
|
||
description: Array of validation errors.
|
||
type: array
|
||
default: null
|
||
data:
|
||
type: object
|
||
default: null
|
||
401:
|
||
description: Unauthorized request
|
||
403:
|
||
description: Unauthorized request
|
||
404:
|
||
description: User not found
|
||
500:
|
||
description: Server Error
|
||
|
||
/org-employment/index:
|
||
get:
|
||
tags:
|
||
- org-employment
|
||
summary: Org employments
|
||
parameters:
|
||
- name: id
|
||
in: query
|
||
description: Unique identifier of the OrgEmployment (UUID)
|
||
required: false
|
||
schema:
|
||
type: string
|
||
format: uuid
|
||
- name: is_removed
|
||
in: query
|
||
description: Deleted org employments
|
||
required: false
|
||
schema:
|
||
type: boolean
|
||
responses:
|
||
200:
|
||
description: Get list of requested org employments
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
data:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/orgEmployment'
|
||
_links:
|
||
$ref: '#/components/schemas/_links'
|
||
_meta:
|
||
$ref: '#/components/schemas/_meta'
|
||
401:
|
||
description: Unauthorized request
|
||
403:
|
||
description: Unauthorized request
|
||
500:
|
||
description: Server Error
|
||
|
||
/org-employment/view:
|
||
get:
|
||
tags:
|
||
- org-employment
|
||
summary: View org employment
|
||
parameters:
|
||
- name: id
|
||
in: query
|
||
description: Unique identifier of the OrgEmployment (UUID)
|
||
required: false
|
||
schema:
|
||
type: string
|
||
format: uuid
|
||
responses:
|
||
200:
|
||
description: Get single org employment
|
||
content:
|
||
application/json:
|
||
schema:
|
||
#/components/schemas/orgEmployment
|
||
401:
|
||
description: Unauthorized request
|
||
403:
|
||
description: Unauthorized request
|
||
500:
|
||
description: Server Error
|
||
|
||
/org-employment-file/index:
|
||
get:
|
||
tags:
|
||
- org-employment
|
||
summary: Org employment files
|
||
parameters:
|
||
- name: id
|
||
in: query
|
||
description: Unique identifier of the document (UUID)
|
||
required: false
|
||
schema:
|
||
type: string
|
||
format: uuid
|
||
- name: name
|
||
in: query
|
||
description: Search string of attached file name
|
||
schema:
|
||
type: string
|
||
maxLength: 64
|
||
- name: created_at
|
||
in: query
|
||
description: Creation date (ISO 8601 format)
|
||
required: false
|
||
schema:
|
||
type: string
|
||
format: date-time
|
||
- name: updated_at
|
||
in: query
|
||
description: Last update date (ISO 8601 format)
|
||
required: false
|
||
schema:
|
||
type: string
|
||
format: date-time
|
||
- name: ready_at
|
||
in: query
|
||
description: Ready date (ISO 8601 format)
|
||
required: false
|
||
schema:
|
||
type: string
|
||
format: date-time
|
||
- name: custom_id
|
||
in: query
|
||
description: Custom identifier (string, up to 64 characters)
|
||
required: false
|
||
schema:
|
||
type: string
|
||
maxLength: 64
|
||
- name: organization_id
|
||
in: query
|
||
description: Organization identifier (string, up to 64 characters)
|
||
required: false
|
||
schema:
|
||
type: string
|
||
maxLength: 64
|
||
- name: org_employment_id
|
||
in: query
|
||
description: Employment record number (string, up to 64 characters)
|
||
required: false
|
||
schema:
|
||
type: string
|
||
maxLength: 64
|
||
- name: file_id
|
||
in: query
|
||
description: File identifier (UUID)
|
||
required: false
|
||
schema:
|
||
type: string
|
||
format: uuid
|
||
- name: org_employment_file_type_id
|
||
in: query
|
||
description: >
|
||
Document type enum: see documentation
|
||
required: false
|
||
schema:
|
||
$ref: '#/components/schemas/orgEmploymentFileType'
|
||
- name: org_employment_file_status_id
|
||
in: query
|
||
description: >
|
||
Document status enum: see documentation
|
||
required: false
|
||
schema:
|
||
$ref: '#/components/schemas/orgEmploymentFileStatus'
|
||
- name: date_from
|
||
in: query
|
||
description: Start date of the range (ISO 8601 format)
|
||
required: false
|
||
schema:
|
||
type: string
|
||
format: date
|
||
- name: date_to
|
||
in: query
|
||
description: End date of the range (ISO 8601 format)
|
||
required: false
|
||
schema:
|
||
type: string
|
||
format: date
|
||
responses:
|
||
200:
|
||
description: Get list of requested org employment files
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
data:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/orgEmploymentFile'
|
||
_links:
|
||
$ref: '#/components/schemas/_links'
|
||
_meta:
|
||
$ref: '#/components/schemas/_meta'
|
||
401:
|
||
description: Unauthorized request
|
||
403:
|
||
description: Unauthorized request
|
||
500:
|
||
description: Server Error
|
||
|
||
/org-employment-file/request:
|
||
post:
|
||
tags:
|
||
- org-employment
|
||
summary: Request Org employment file
|
||
requestBody:
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
org_employment_id:
|
||
type: string
|
||
format: uuid
|
||
description: User`s org employment ID
|
||
org_employment_file_type_id:
|
||
$ref: '#/components/schemas/orgEmploymentFileType'
|
||
date_from:
|
||
description: Дата с (например для расчетной ведомости, за период с)
|
||
type: string
|
||
format: 'date'
|
||
example: 2025-04-23
|
||
date_to:
|
||
description: Дата по (например для расчетной ведомости, за период по)
|
||
type: string
|
||
format: 'date'
|
||
example: 2025-04-27
|
||
responses:
|
||
200:
|
||
description: Create request for Org employment file
|
||
content:
|
||
application/json:
|
||
schema:
|
||
allOf:
|
||
- $ref: '#/components/schemas/httpJsonResponse'
|
||
- type: object
|
||
properties:
|
||
data:
|
||
$ref: '#/components/schemas/orgEmploymentFile'
|
||
401:
|
||
description: Unauthorized request
|
||
403:
|
||
description: Unauthorized request
|
||
404:
|
||
description: File not found
|
||
500:
|
||
description: Server Error
|
||
|
||
/user-group/items:
|
||
get:
|
||
tags:
|
||
- userGroup
|
||
summary: User group items.
|
||
operationId: /user-group/items/actionItems
|
||
parameters:
|
||
- name: q
|
||
in: query
|
||
description: Query string
|
||
schema:
|
||
type: string
|
||
example: Some text
|
||
- name: only_with_calendar_events
|
||
in: query
|
||
description: Only used in calendar event
|
||
example: 0
|
||
schema:
|
||
type: integer
|
||
enum:
|
||
- 0
|
||
- 1
|
||
responses:
|
||
200:
|
||
description: User group items.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
data:
|
||
type: array
|
||
items:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
format: uuid
|
||
name:
|
||
type: string
|
||
faceUrl:
|
||
type: string
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized request.
|
||
403:
|
||
description: Unauthorized request.
|
||
404:
|
||
description: Calendar event not found.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/meeting-place/items:
|
||
get:
|
||
tags:
|
||
- meetingPlace
|
||
summary: Meting place items.
|
||
operationId: actionMeetingPlace
|
||
parameters:
|
||
- name: q
|
||
in: query
|
||
description: Query string
|
||
schema:
|
||
type: string
|
||
example: Some text
|
||
responses:
|
||
200:
|
||
description: Meting place items.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
data:
|
||
type: array
|
||
items:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
format: uuid
|
||
name:
|
||
type: string
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized request.
|
||
403:
|
||
description: Unauthorized request.
|
||
404:
|
||
description: Calendar event not found.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/account/status-text:
|
||
post:
|
||
tags:
|
||
- account
|
||
summary: Set user's status text
|
||
operationId: accountStatusText
|
||
requestBody:
|
||
description: User's status text
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
activeTypes:
|
||
type: string
|
||
responses:
|
||
200:
|
||
description: status text saved
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
activeTypes:
|
||
type: string
|
||
400:
|
||
description: Invalid input
|
||
401:
|
||
description: Unauthorized request
|
||
403:
|
||
description: Unauthorized request
|
||
500:
|
||
description: Server Error
|
||
|
||
/account/status-active-types:
|
||
post:
|
||
tags:
|
||
- account
|
||
summary: Set user's active statuses
|
||
operationId: accountStatusActiveTypes
|
||
requestBody:
|
||
description: User's active statuses
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
activeTypes:
|
||
type: array
|
||
items:
|
||
type: string
|
||
responses:
|
||
200:
|
||
description: user's active statuses saved
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
statusTypes:
|
||
type: array
|
||
items:
|
||
type: string
|
||
400:
|
||
description: Invalid input
|
||
401:
|
||
description: Unauthorized request
|
||
403:
|
||
description: Unauthorized request
|
||
500:
|
||
description: Server Error
|
||
|
||
/notifications/pushes:
|
||
get:
|
||
tags:
|
||
- notifications
|
||
summary: Push notifications index. Infinite scroll done by paginating with {page} parameter
|
||
operationId: notificationPushes
|
||
parameters:
|
||
- name: per-page
|
||
in: query
|
||
description: How many items return in one page (default 10).
|
||
schema:
|
||
type: string
|
||
- name: page
|
||
in: query
|
||
description: Current page.
|
||
schema:
|
||
type: string
|
||
responses:
|
||
200:
|
||
description: Returns array of push notifications and pagination related data
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
_meta:
|
||
$ref: '#/components/schemas/_meta'
|
||
data:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/notification'
|
||
401:
|
||
description: Unauthorized request
|
||
403:
|
||
description: Unauthorized request
|
||
500:
|
||
description: Server Error
|
||
|
||
/notifications/mark-seen:
|
||
post:
|
||
tags:
|
||
- notifications
|
||
summary: Mark notification as seen
|
||
operationId: notificationMarkSeen
|
||
parameters:
|
||
- in: query
|
||
name: notificationId
|
||
description: notificationId
|
||
schema:
|
||
type: string
|
||
required: true
|
||
responses:
|
||
200:
|
||
description: Notification marked as seen
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
badge:
|
||
type: number
|
||
description: unseen notification count
|
||
date:
|
||
type: string
|
||
format: date
|
||
400:
|
||
description: Invalid input
|
||
401:
|
||
description: Unauthorized request
|
||
403:
|
||
description: Unauthorized request
|
||
500:
|
||
description: Server Error
|
||
/notifications/mark-seen-all:
|
||
post:
|
||
tags:
|
||
- notifications
|
||
summary: Mark all notifications as seen
|
||
operationId: notificationMarkSeenAll
|
||
responses:
|
||
200:
|
||
description: All marked as seen
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
badge:
|
||
type: number
|
||
description: unseen notification count
|
||
date:
|
||
type: string
|
||
format: date
|
||
400:
|
||
description: Invalid input
|
||
401:
|
||
description: Unauthorized request
|
||
403:
|
||
description: Unauthorized request
|
||
500:
|
||
description: Server Error
|
||
|
||
/department/tree-node:
|
||
get:
|
||
tags:
|
||
- department
|
||
summary: Get departments inner structure
|
||
operationId: departmentTreeNode
|
||
parameters:
|
||
- name: id
|
||
in: query
|
||
description: Parent department ID
|
||
schema:
|
||
type: string
|
||
responses:
|
||
200:
|
||
description: Department children (Departments and Users) type="user" - means user node, type="department" - means department node. [isBoss], [position] are "user" only properties. [employmentsCount], [empty] - are "department" only properties.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
format: uuid
|
||
name:
|
||
type: string
|
||
default: "Department name"
|
||
path:
|
||
type: string
|
||
default: "Department hierarchy path"
|
||
items:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/structureItem'
|
||
400:
|
||
description: Invalid input (malformed id)
|
||
401:
|
||
description: Unauthorized request
|
||
403:
|
||
description: Unauthorized request
|
||
404:
|
||
description: Department not found
|
||
500:
|
||
description: Server Error
|
||
|
||
/department/search:
|
||
get:
|
||
tags:
|
||
- department
|
||
summary: Search Org Structure for matching users and departments
|
||
operationId: departmentSearch
|
||
parameters:
|
||
- name: q
|
||
in: query
|
||
description: Query string
|
||
schema:
|
||
type: string
|
||
responses:
|
||
200:
|
||
description: Search results (Departments and Users) type="user" - means user node, type="department" - means department node. [isBoss], [position] are "user" only properties. [employmentsCount], [empty] - are "department" only properties.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
q:
|
||
type: string
|
||
example: "Search query string"
|
||
items:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/structureItem'
|
||
400:
|
||
description: Invalid input
|
||
401:
|
||
description: Unauthorized request
|
||
403:
|
||
description: Unauthorized request
|
||
500:
|
||
description: Server Error
|
||
|
||
/postcard/user-view:
|
||
get:
|
||
tags:
|
||
- postcard
|
||
summary: Details about postcard sent to user
|
||
operationId: postcardUserView
|
||
parameters:
|
||
- name: id
|
||
in: query
|
||
description: UserPostcard item ID
|
||
schema:
|
||
type: string
|
||
required: true
|
||
responses:
|
||
200:
|
||
description: Postcard details
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/userPostcard'
|
||
400:
|
||
description: Invalid input (malformed id)
|
||
401:
|
||
description: Unauthorized request
|
||
403:
|
||
description: Unauthorized request
|
||
404:
|
||
description: Postcard not found
|
||
500:
|
||
description: Server Error
|
||
|
||
/article/news:
|
||
get:
|
||
tags:
|
||
- article
|
||
summary: News index. Infinite scroll done by paginating with {page} parameter
|
||
operationId: articleNews
|
||
parameters:
|
||
- name: tag_id
|
||
in: query
|
||
description: Tags ID to filter news
|
||
schema:
|
||
type: array
|
||
items:
|
||
type: string
|
||
format: uuid
|
||
example: b726280a-2be6-4e62-ab24-1736389c6474
|
||
- name: per-page
|
||
in: query
|
||
description: How many items return in one page (default 10).
|
||
schema:
|
||
type: string
|
||
- name: page
|
||
in: query
|
||
description: Current page
|
||
schema:
|
||
type: string
|
||
responses:
|
||
200:
|
||
description: Returns array of news and pagination related data
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
_meta:
|
||
$ref: '#/components/schemas/_meta'
|
||
data:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/article'
|
||
401:
|
||
description: Unauthorized request
|
||
403:
|
||
description: Unauthorized request
|
||
500:
|
||
description: Server Error
|
||
|
||
/article/category:
|
||
get:
|
||
tags:
|
||
- article
|
||
summary: Browse or search catalog categories. Displays catalog items which can be category or article
|
||
operationId: articleCategory
|
||
parameters:
|
||
- name: id
|
||
in: query
|
||
description: ID of category
|
||
schema:
|
||
type: string
|
||
- name: q
|
||
in: query
|
||
description: Search query string
|
||
schema:
|
||
type: string
|
||
responses:
|
||
200:
|
||
description: Contents of category or search results (categories and articles). entity="category" - means category node, entity="article" - means article node. Category id can be used in /article/category method to browse its content
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
category:
|
||
type: object
|
||
description: Current category
|
||
properties:
|
||
id:
|
||
type: string
|
||
format: uuid
|
||
title:
|
||
type: string
|
||
default: "Current category name"
|
||
q:
|
||
type: string
|
||
default: "Search query string"
|
||
items:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/catalogItem'
|
||
400:
|
||
description: Invalid input
|
||
401:
|
||
description: Unauthorized request
|
||
403:
|
||
description: Unauthorized request
|
||
500:
|
||
description: Server Error
|
||
/api/v2/workflow/catalog:
|
||
get:
|
||
tags:
|
||
- workflow
|
||
summary: Каталог процессов
|
||
description: |
|
||
Возвращает список категорий, процессов и связанных данных.
|
||
security:
|
||
- SessionAuth: [ ]
|
||
parameters:
|
||
- name: q
|
||
in: query
|
||
required: false
|
||
schema:
|
||
type: string
|
||
example: Журнал
|
||
- name: id
|
||
in: query
|
||
required: false
|
||
schema:
|
||
type: string
|
||
example: ffc0a17d-3d7a-4b4c-80ea-14093130973a
|
||
responses:
|
||
'200':
|
||
description: Успешный ответ
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
categories:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/WorkflowCategory'
|
||
category:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
example: ffc0a17d-3d7a-4b4c-80ea-14093130973a
|
||
name:
|
||
type: string
|
||
example: 2313
|
||
title:
|
||
type: string
|
||
example: 2313
|
||
description:
|
||
type: string
|
||
example: ""
|
||
content_style_id:
|
||
type: integer
|
||
example: 1
|
||
tags:
|
||
type: array
|
||
items:
|
||
type: string
|
||
breadcrumbs:
|
||
type: array
|
||
items:
|
||
type: object
|
||
properties:
|
||
label:
|
||
type: string
|
||
example: 2313
|
||
id:
|
||
type: string
|
||
example: ffc0a17d-3d7a-4b4c-80ea-14093130973a
|
||
hash_id:
|
||
type: string
|
||
example: eeb76a8070
|
||
slug:
|
||
type: string
|
||
example: 2313
|
||
q:
|
||
type: string
|
||
example: Журнал
|
||
workflows:
|
||
type: array
|
||
items:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
example: 2bce2ae5-581b-417b-a8b0-95beb4beaa9c
|
||
name:
|
||
type: string
|
||
example: Журнал отсутствий
|
||
description:
|
||
type: string
|
||
example: ""
|
||
imageUrl:
|
||
type: string
|
||
example: https://denis.hrbox.io/file/resize/300x300/346339f5-f03c-44de-8a90-d1eb8da39c0a.png
|
||
url:
|
||
type: string
|
||
example: https://denis.hrbox.io/workflow/ticket/create?wfId=2bce2ae5-581b-417b-a8b0-95beb4beaa9c
|
||
status_id:
|
||
type: integer
|
||
example: 1
|
||
tags:
|
||
type: array
|
||
items:
|
||
type: string
|
||
userGroupsVisible:
|
||
type: array
|
||
items:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
example: 591dd0ac-bfef-4687-b42f-d3fc353f461e
|
||
name:
|
||
type: string
|
||
example: Сотрудники
|
||
description:
|
||
type: string
|
||
example: ""
|
||
iconUrl:
|
||
type: string
|
||
example: https://denis.hrbox.io/img/fa-users.jpg
|
||
conditionsReadable:
|
||
type: string
|
||
example: (Статус регистрации из списка [Активный, Приглашенный])...
|
||
feedbackTotal:
|
||
type: object
|
||
properties:
|
||
count:
|
||
type: integer
|
||
example: 1
|
||
score:
|
||
type: integer
|
||
example: 2
|
||
brief:
|
||
type: string
|
||
example: ""
|
||
/api/v2/workflow/start/{processId}:
|
||
get:
|
||
tags:
|
||
- workflow
|
||
summary: |
|
||
Получение информации о форме подачи заявки.
|
||
security:
|
||
- SessionAuth: [ ]
|
||
parameters:
|
||
- name: processId
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
example: 9557cc57-bd21-4297-8007-ee25812afb07
|
||
responses:
|
||
'200':
|
||
description: Успешный ответ
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
example: bf047c9c-df0c-448c-8984-c292318b9cd4
|
||
name:
|
||
type: string
|
||
example: Заявка на обучение
|
||
brief:
|
||
type: string
|
||
example: ""
|
||
description:
|
||
type: object
|
||
properties:
|
||
time:
|
||
type: integer
|
||
example: 1720625446725
|
||
blocks:
|
||
type: array
|
||
items:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
example: XIP-pciYFP
|
||
data:
|
||
type: object
|
||
properties:
|
||
text:
|
||
type: string
|
||
example: "Нажимая на кнопку «Подать заявку», вы даёте разрешение на обработку персональных данных."
|
||
type:
|
||
type: string
|
||
example: paragraph
|
||
version:
|
||
type: string
|
||
example: 2.29.0
|
||
imageUrl:
|
||
type: string
|
||
example: https://denis.hrbox.io/file/resize/300x300/346339f5-f03c-44de-8a90-d1eb8da39c0a.png
|
||
isChiefRequired:
|
||
type: boolean
|
||
example: false
|
||
isAllowCategoryChange:
|
||
type: boolean
|
||
example: false
|
||
categories:
|
||
type: object
|
||
additionalProperties:
|
||
type: string
|
||
fields:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/WorkflowField'
|
||
post:
|
||
tags:
|
||
- workflow
|
||
summary: |
|
||
Создание заявки процесса.
|
||
security:
|
||
- SessionAuth: [ ]
|
||
parameters:
|
||
- name: processId
|
||
in: path
|
||
required: true
|
||
schema:
|
||
type: string
|
||
example: bf047c9c-df0c-448c-8984-c292318b9cd4
|
||
requestBody:
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
categoryId:
|
||
type: string
|
||
example: 3fa418df-edc3-4a95-8850-ffebece59f04
|
||
fieldValues:
|
||
type: object
|
||
additionalProperties:
|
||
type: string
|
||
responses:
|
||
'201':
|
||
description: Заявка успешно создана
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
example: bf047c9c-df0c-448c-8984-c292318b9cd4
|
||
message:
|
||
type: string
|
||
example: "Заявка успешно создана"
|
||
/api/v2/workflow-ticket/:
|
||
get:
|
||
tags:
|
||
- workflow
|
||
summary: Получение списка заявок
|
||
security:
|
||
- SessionAuth: [ ]
|
||
- ApiKeyAuth: [ ]
|
||
description: |
|
||
Возвращает список заявок по указанным фильтрам.
|
||
|
||
Данный метод поддерживает два типа авторизации: сессии и API-ключи.
|
||
|
||
**1. Авторизация с использованием сессии:**
|
||
Для выполнения запросов с использованием сессии необходимо передавать следующие заголовки:
|
||
- `x-hrbox-session-id: {sessionId}`
|
||
- `x-hrbox-session-code: {sessionSecret}`
|
||
|
||
Получить их можно через метод /mobile/auth
|
||
|
||
**2. Авторизация с использованием API-ключа:**
|
||
Все запросы должны быть авторизованы с помощью API-ключа, передачей следующих заголовков:
|
||
- `Content-Type: application/json`
|
||
- `X-Hrbox-Client-Id: {идентификатор ключа}`
|
||
- `X-Hrbox-Client-Secret: {секретный ключ}`
|
||
parameters:
|
||
- name: wf_workflow_id
|
||
in: query
|
||
required: false
|
||
schema:
|
||
type: string
|
||
description: ID процесса (workflow), по которому фильтруются заявки.
|
||
example: "2e05753d-459e-4a92-8265-aef15356872c"
|
||
- name: wf_ticket_stage_id
|
||
in: query
|
||
required: false
|
||
schema:
|
||
type: string
|
||
description: ID стадии (stage), по которой фильтруются заявки.
|
||
example: "3fc2b631-6fa7-4bf7-8651-3faacb4c71a5"
|
||
- name: wf_status_id
|
||
in: query
|
||
required: false
|
||
schema:
|
||
type: integer
|
||
description: Статус заявки (например, 1 - "В процессе").
|
||
example: 1
|
||
- name: per-page
|
||
in: query
|
||
required: false
|
||
schema:
|
||
type: integer
|
||
default: 10
|
||
description: Количество записей на странице.
|
||
example: 5
|
||
- name: page
|
||
in: query
|
||
required: false
|
||
schema:
|
||
type: integer
|
||
default: 1
|
||
description: Номер страницы для пагинации.
|
||
example: 2
|
||
|
||
responses:
|
||
'200':
|
||
description: Успешный ответ
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
data:
|
||
type: array
|
||
description: Список заявок.
|
||
items:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: Уникальный идентификатор заявки.
|
||
example: "111e8a0c-bcf2-4fe4-8cd3-e8138670f277"
|
||
wf_workflow_id:
|
||
type: string
|
||
description: ID процесса.
|
||
example: "2e05753d-459e-4a92-8265-aef15356872c"
|
||
wf_ticket_stage_id:
|
||
type: string
|
||
description: ID текущей стадии заявки.
|
||
example: "b2b73536-f76a-4b7a-9413-7553a688af25"
|
||
wf_status_id:
|
||
type: integer
|
||
description: Статус заявки.
|
||
example: 1
|
||
user_id:
|
||
type: string
|
||
description: ID пользователя, создавшего заявку.
|
||
example: "998bb3a1-92f3-4d01-b6ae-6c9d44d987d0"
|
||
created_at:
|
||
type: string
|
||
format: date-time
|
||
description: Дата и время создания заявки.
|
||
example: "2023-09-16 08:00:28"
|
||
updated_at:
|
||
type: string
|
||
format: date-time
|
||
description: Дата и время последнего обновления заявки.
|
||
example: "2023-09-16 08:00:29"
|
||
solved_at:
|
||
type: string
|
||
format: date-time
|
||
nullable: true
|
||
description: Дата и время решения заявки (если применимо).
|
||
example: null
|
||
url:
|
||
type: string
|
||
description: Ссылка на детальную информацию о заявке.
|
||
example: "https://example.hrbox.io/workflow/ticket/view?id=111e8a0c-bcf2-4fe4-8cd3-e8138670f277"
|
||
wfStatus:
|
||
type: string
|
||
description: Человеко-читаемый статус заявки.
|
||
example: "В процессе"
|
||
wfWorkflow:
|
||
type: object
|
||
description: Информация о связанном процессе.
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: ID процесса.
|
||
example: "2e05753d-459e-4a92-8265-aef15356872c"
|
||
name:
|
||
type: string
|
||
description: Название процесса.
|
||
example: "Отпуск 1C"
|
||
is_hidden:
|
||
type: boolean
|
||
description: Признак скрытого процесса.
|
||
example: false
|
||
user:
|
||
type: object
|
||
description: Информация о пользователе, создавшем заявку.
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: ID пользователя.
|
||
example: "998bb3a1-92f3-4d01-b6ae-6c9d44d987d0"
|
||
name:
|
||
type: string
|
||
description: Имя пользователя.
|
||
example: "Piu Cro"
|
||
faceUrl:
|
||
type: string
|
||
description: URL изображения профиля пользователя.
|
||
example: "https://example.hrbox.io/file/resize/300x300/346339f5-f03c-44de-8a90-d1eb8da39c0a.png"
|
||
_links:
|
||
type: object
|
||
description: Навигационные ссылки для пагинации.
|
||
properties:
|
||
self:
|
||
type: string
|
||
description: Текущая страница.
|
||
example: "https://example.hrbox.io/api/v2/workflow-ticket?..."
|
||
first:
|
||
type: string
|
||
description: Первая страница.
|
||
example: "https://example.hrbox.io/api/v2/workflow-ticket?..."
|
||
last:
|
||
type: string
|
||
description: Последняя страница.
|
||
example: "https://example.hrbox.io/api/v2/workflow-ticket?..."
|
||
_meta:
|
||
type: object
|
||
description: Метаданные пагинации.
|
||
properties:
|
||
totalCount:
|
||
type: integer
|
||
description: Общее количество записей.
|
||
example: 16
|
||
pageCount:
|
||
type: integer
|
||
description: Общее количество страниц.
|
||
example: 4
|
||
currentPage:
|
||
type: integer
|
||
description: Текущая страница.
|
||
example: 2
|
||
perPage:
|
||
type: integer
|
||
description: Количество записей на странице.
|
||
example: 5
|
||
/api/v2/workflow-ticket/view:
|
||
get:
|
||
tags:
|
||
- workflow
|
||
summary: Получение детальной информации по заявке
|
||
security:
|
||
- SessionAuth: [ ]
|
||
- ApiKeyAuth: [ ]
|
||
description: |
|
||
Возвращает список заявок по указанным фильтрам.
|
||
|
||
Данный метод поддерживает два типа авторизации: сессии и API-ключи.
|
||
|
||
**1. Авторизация с использованием сессии:**
|
||
Для выполнения запросов с использованием сессии необходимо передавать следующие заголовки:
|
||
- `x-hrbox-session-id: {sessionId}`
|
||
- `x-hrbox-session-code: {sessionSecret}`
|
||
|
||
Получить их можно через метод /mobile/auth
|
||
|
||
**2. Авторизация с использованием API-ключа:**
|
||
Все запросы должны быть авторизованы с помощью API-ключа, передачей следующих заголовков:
|
||
- `Content-Type: application/json`
|
||
- `X-Hrbox-Client-Id: {идентификатор ключа}`
|
||
- `X-Hrbox-Client-Secret: {секретный ключ}`
|
||
parameters:
|
||
- name: id
|
||
in: query
|
||
required: true
|
||
schema:
|
||
type: string
|
||
description: Уникальный идентификатор заявки.
|
||
example: "0b6a186a-95b8-4c89-8e69-6b49f12d1474"
|
||
responses:
|
||
'200':
|
||
description: Успешный ответ
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: Уникальный идентификатор заявки.
|
||
example: "0b6a186a-95b8-4c89-8e69-6b49f12d1474"
|
||
wf_workflow_id:
|
||
type: string
|
||
description: ID процесса, к которому относится заявка.
|
||
example: "2e05753d-459e-4a92-8265-aef15356872c"
|
||
wf_ticket_stage_id:
|
||
type: string
|
||
description: Текущая стадия заявки.
|
||
example: "76be1943-6b4d-41f5-9807-02e9797454d5"
|
||
wf_category_id:
|
||
type: string
|
||
description: ID категории, если указана.
|
||
nullable: true
|
||
example: null
|
||
wf_status_id:
|
||
type: integer
|
||
description: Текущий статус заявки.
|
||
example: 1
|
||
user_id:
|
||
type: string
|
||
description: ID пользователя, создавшего заявку.
|
||
example: "36da46a6-e575-41f9-9972-a7a497e0326c"
|
||
created_at:
|
||
type: string
|
||
format: date-time
|
||
description: Дата и время создания заявки.
|
||
example: "2023-10-25 18:23:07"
|
||
updated_at:
|
||
type: string
|
||
format: date-time
|
||
description: Дата и время последнего обновления заявки.
|
||
example: "2023-10-25 18:23:07"
|
||
wfStatus:
|
||
type: string
|
||
description: Человеко-читаемый статус заявки.
|
||
example: "В процессе"
|
||
wfWorkflow:
|
||
type: object
|
||
description: Информация о процессе.
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: ID процесса.
|
||
example: "2e05753d-459e-4a92-8265-aef15356872c"
|
||
name:
|
||
type: string
|
||
description: Название процесса.
|
||
example: "Отпуск 1C"
|
||
brief:
|
||
type: string
|
||
description: Краткое описание процесса.
|
||
example: "Подача заявки на отпуск"
|
||
is_hidden:
|
||
type: boolean
|
||
description: Признак того, что процесс скрыт.
|
||
example: false
|
||
wfTicketStages:
|
||
type: array
|
||
description: Список стадий заявки.
|
||
items:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: ID стадии.
|
||
example: "d8d47802-4ada-4a3b-bc73-d103a1385fa8"
|
||
name:
|
||
type: string
|
||
description: Название стадии.
|
||
example: "Подача заявки"
|
||
fields:
|
||
type: array
|
||
description: Поля, связанные с текущей стадией.
|
||
items:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: ID поля.
|
||
example: "vacation_type_id"
|
||
name:
|
||
type: string
|
||
description: Название поля.
|
||
example: "Тип отпуска"
|
||
type:
|
||
type: string
|
||
description: Тип поля.
|
||
example: "select"
|
||
values:
|
||
type: array
|
||
description: Возможные значения для выбора.
|
||
items:
|
||
type: string
|
||
example: [ "Ежегодный оплачиваемый", "Другой" ]
|
||
required:
|
||
type: boolean
|
||
description: Признак обязательного заполнения.
|
||
example: true
|
||
defaultValue:
|
||
type: string
|
||
description: Значение по умолчанию.
|
||
nullable: true
|
||
example: null
|
||
responsible:
|
||
type: array
|
||
description: Ответственные за стадию пользователи.
|
||
items:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
description: ID пользователя.
|
||
example: "36da46a6-e575-41f9-9972-a7a497e0326c"
|
||
name:
|
||
type: string
|
||
description: Имя пользователя.
|
||
example: "Винокуров Сергей Борисович"
|
||
faceUrl:
|
||
type: string
|
||
description: Ссылка на аватар пользователя.
|
||
example: "https://example.hrbox.io/file/resize/300x300/346339f5-f03c-44de-8a90-d1eb8da39c0a.png"
|
||
/dashboard:
|
||
get:
|
||
tags:
|
||
- dashboard
|
||
summary: Get dashboards and widgets by specifying needed widgets through get parameter. Personal user feed widgets starts with "my" prefix. Global company feed widgets starts with "upd" prefix
|
||
operationId: dashboard
|
||
parameters:
|
||
- name: widgets
|
||
in: query
|
||
description: Names of required widgets separated with comma.
|
||
example: myLms,mySurvey,myAchievements,myTeam,myFavorites,myPostcards
|
||
schema:
|
||
type: string
|
||
enum:
|
||
- myLms
|
||
- mySurvey
|
||
- myAchievements
|
||
- myTeam
|
||
- myFavorites
|
||
- myPostcards
|
||
- updNews
|
||
- updVoting
|
||
- updIdeas
|
||
- updAchievements
|
||
- updBirthday
|
||
- updNewbies
|
||
- updBooks
|
||
- name: info
|
||
in: query
|
||
description: >
|
||
Names of required info separated with comma.
|
||
* `profileBrief` - Current user brief info
|
||
* `notificationsBadge` - Current notification bell badge value
|
||
example: profileBrief,notificationsBadge
|
||
schema:
|
||
type: string
|
||
enum:
|
||
- profileBrief
|
||
- notificationsBadge
|
||
responses:
|
||
200:
|
||
description: Returns all the dashboard data about requested widgets. In response object only requested info/widgets keys will be presented. If widget is not available for current user, this widget will not exists in response of will be null.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
profileBrief:
|
||
$ref: '#/components/schemas/profileBrief'
|
||
notificationsBadge:
|
||
description: Current notification bell badge value
|
||
type: integer
|
||
default: 0
|
||
widgets:
|
||
type: object
|
||
properties:
|
||
myLms:
|
||
# description: User feed - Assigned test and courses
|
||
$ref: '#/components/schemas/dashboardWidget'
|
||
mySurvey:
|
||
# description: User feed - Assigned surveys
|
||
$ref: '#/components/schemas/dashboardWidget'
|
||
myAchievements:
|
||
# description: User feed - Assigned achievements
|
||
$ref: '#/components/schemas/dashboardWidget'
|
||
myTeam:
|
||
# description: User feed - Teammates of current user
|
||
$ref: '#/components/schemas/dashboardWidget'
|
||
myFavorites:
|
||
# description: User feed - Favorites (in development, not used)
|
||
$ref: '#/components/schemas/dashboardWidget'
|
||
myPostcards:
|
||
# description: User feed - Received postcards
|
||
$ref: '#/components/schemas/dashboardWidget'
|
||
updNews:
|
||
# description: Company feed - New news
|
||
$ref: '#/components/schemas/dashboardWidget'
|
||
updVoting:
|
||
# description: Company feed - New contests
|
||
$ref: '#/components/schemas/dashboardWidget'
|
||
updIdeas:
|
||
# description: Company feed - New ideas
|
||
$ref: '#/components/schemas/dashboardWidget'
|
||
updAchievements:
|
||
# description: Company feed - New achievements achieved by users
|
||
$ref: '#/components/schemas/dashboardWidget'
|
||
updBirthday:
|
||
# description: Company feed - Users that have birthday today
|
||
$ref: '#/components/schemas/dashboardWidget'
|
||
updNewbies:
|
||
# description: Company feed - Recently employed employees
|
||
$ref: '#/components/schemas/dashboardWidget'
|
||
updBooks:
|
||
# description: Company feed - New books in library
|
||
$ref: '#/components/schemas/dashboardWidget'
|
||
400:
|
||
description: Invalid input
|
||
401:
|
||
description: Unauthorized request
|
||
403:
|
||
description: Unauthorized request
|
||
500:
|
||
description: Server Error
|
||
|
||
/feedback/add:
|
||
post:
|
||
tags:
|
||
- feedback
|
||
operationId: actionAdd
|
||
summary: Creates a feedback about a department or user.
|
||
requestBody:
|
||
description: <b>userId</b> - User ID from which the feedback will be created.<br><b>type</b> - Entity type (department, user).<br><b>id</b> - Entity id.<br><b>score</b> - Feedback score from 1 to 5.<br><b>text</b> - Feedback text.<br><b>isAnonymous</b> - Anonymous feedback.
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
userId:
|
||
description: User ID from which the feedback will be created.
|
||
type: string
|
||
example: cd1a4391-9fa7-4ae3-80c1-f9b46ad1838d
|
||
type:
|
||
description: Entity type.
|
||
type: string
|
||
enum:
|
||
- department
|
||
- user
|
||
example: department
|
||
# required: true
|
||
id:
|
||
description: Entity id.
|
||
type: string
|
||
example: cd1a4391-9fa7-4ae3-80c1-f9b46ad1838d
|
||
# required: true
|
||
score:
|
||
description: Feedback score.
|
||
type: number
|
||
minimum: 1
|
||
maximum: 5
|
||
example: 5
|
||
# required: true
|
||
text:
|
||
description: Feedback text.
|
||
type: string
|
||
example: Example text.
|
||
# required: true
|
||
isAnonymous:
|
||
description: Anonymous feedback.
|
||
type: boolean
|
||
example: true
|
||
default: false
|
||
responses:
|
||
200:
|
||
description: Returns the success status and data of the generated feedback.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
success:
|
||
type: boolean
|
||
feedback:
|
||
$ref: '#/components/schemas/feedback'
|
||
400:
|
||
description: Bad Request. Returns a message with the error details.
|
||
401:
|
||
description: Unauthorized request.
|
||
403:
|
||
description: Unauthorized request.
|
||
404:
|
||
description: Not found. Returns a message with the error details.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/feedback/view:
|
||
get:
|
||
tags:
|
||
- feedback
|
||
summary: Details about feedback.
|
||
operationId: /feedback/view
|
||
parameters:
|
||
- name: id
|
||
in: query
|
||
description: Feedback item ID.
|
||
schema:
|
||
type: string
|
||
required: true
|
||
responses:
|
||
200:
|
||
description: Feedback details.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/feedback'
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized request.
|
||
403:
|
||
description: Unauthorized request.
|
||
404:
|
||
description: Feedback not found.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/calendar-event/view:
|
||
get:
|
||
tags:
|
||
- calendarEvent
|
||
summary: Details about calendar event.
|
||
operationId: /calendar-event/view
|
||
parameters:
|
||
- name: id
|
||
in: query
|
||
description: Calendar event item ID.
|
||
schema:
|
||
type: string
|
||
- name: parent_id
|
||
in: query
|
||
description: Calendar event parent item ID.
|
||
schema:
|
||
type: string
|
||
- name: rec_date
|
||
in: query
|
||
description: Calendar event recurring date.
|
||
schema:
|
||
type: string
|
||
responses:
|
||
200:
|
||
description: Calendar event details.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
calendarEvent:
|
||
$ref: '#/components/schemas/calendarEvent'
|
||
calendarEventUser:
|
||
$ref: '#/components/schemas/calendarEventUser'
|
||
calendarEventBid:
|
||
$ref: '#/components/schemas/calendarEventBid'
|
||
hasCalendarEventBid:
|
||
type: boolean
|
||
canCreateCalendarEventBid:
|
||
type: boolean
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized request.
|
||
403:
|
||
description: Unauthorized request.
|
||
404:
|
||
description: Calendar event not found.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/calendar-event:
|
||
get:
|
||
tags:
|
||
- calendarEvent
|
||
summary: Calendar event index.
|
||
operationId: /calendar-event/index
|
||
parameters:
|
||
- name: title
|
||
in: query
|
||
schema:
|
||
type: string
|
||
- name: title_exact
|
||
in: query
|
||
schema:
|
||
type: string
|
||
- name: start_date_time
|
||
in: query
|
||
description: Default current month
|
||
schema:
|
||
type: string
|
||
example: '2023-01-01 10:00:00'
|
||
- name: end_date_time
|
||
in: query
|
||
description: Default current month +3 month
|
||
schema:
|
||
type: string
|
||
example: '2023-04-01 10:00:00'
|
||
- name: calendar_event_type_id
|
||
in: query
|
||
description: 1 - CORPORATE, 2 - TRAINING, 3 - MEET, 4 - PUBLIC_HOLIDAY, 5 - EVENT, 6 - WEBINAR
|
||
schema:
|
||
type: integer
|
||
example: 1
|
||
- name: entity_id
|
||
in: query
|
||
description: Communication with entities, for example, is used in meeting places. 1030 - MeetingPlace
|
||
schema:
|
||
type: integer
|
||
- name: calendar_event_entity_item_id
|
||
in: query
|
||
schema:
|
||
type: string
|
||
- name: user_id
|
||
in: query
|
||
schema:
|
||
type: string
|
||
- name: visible_to
|
||
in: query
|
||
description: Visible to user group
|
||
schema:
|
||
type: string
|
||
example: '9f7063d1-959e-4c32-b186-313576375739,3a7539cb-d85e-4455-af41-fc505d1ce6dd'
|
||
responses:
|
||
200:
|
||
description: Calendar event index.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
data:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/calendarEvent'
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized request.
|
||
403:
|
||
description: Unauthorized request.
|
||
404:
|
||
description: Calendar event not found.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/calendar-event/items:
|
||
get:
|
||
tags:
|
||
- calendarEvent
|
||
summary: Calendar event items.
|
||
operationId: actionItems
|
||
parameters:
|
||
- name: q
|
||
in: query
|
||
schema:
|
||
type: string
|
||
- name: calendar_event_type_id
|
||
in: query
|
||
description: 1 - CORPORATE, 2 - TRAINING, 3 - MEET, 4 - PUBLIC_HOLIDAY, 5 - EVENT, 6 - WEBINAR
|
||
schema:
|
||
type: integer
|
||
example: 1
|
||
- name: entity_id
|
||
in: query
|
||
description: Communication with entities, for example, is used in meeting places. 1030 - MeetingPlace
|
||
schema:
|
||
type: integer
|
||
example: 1030
|
||
- name: calendar_event_entity_item_id
|
||
in: query
|
||
schema:
|
||
type: string
|
||
example: 9f7063d1-959e-4c32-b186-313576375739
|
||
- name: user_id
|
||
in: query
|
||
schema:
|
||
type: string
|
||
example: 9f7063d1-959e-4c32-b186-313576375739
|
||
- name: visible_to
|
||
in: query
|
||
description: Visible to user group
|
||
schema:
|
||
type: string
|
||
example: 9f7063d1-959e-4c32-b186-313576375739,3a7539cb-d85e-4455-af41-fc505d1ce6dd
|
||
responses:
|
||
200:
|
||
description: Calendar event items.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
data:
|
||
type: array
|
||
items:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
format: uuid
|
||
title:
|
||
type: string
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized request.
|
||
403:
|
||
description: Unauthorized request.
|
||
404:
|
||
description: Calendar event not found.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/calendar-event/my:
|
||
get:
|
||
tags:
|
||
- calendarEvent
|
||
summary: Calendar event my.
|
||
operationId: actionMy
|
||
parameters:
|
||
- name: title
|
||
in: query
|
||
schema:
|
||
type: string
|
||
- name: title_exact
|
||
in: query
|
||
schema:
|
||
type: string
|
||
- name: start_date_time
|
||
in: query
|
||
description: Default current month
|
||
schema:
|
||
type: string
|
||
example: '2023-01-01 10:00:00'
|
||
- name: end_date_time
|
||
in: query
|
||
description: Default current month +3 month
|
||
schema:
|
||
type: string
|
||
example: '2023-04-01 10:00:00'
|
||
- name: calendar_event_type_id
|
||
in: query
|
||
description: 1 - CORPORATE, 2 - TRAINING, 3 - MEET, 4 - PUBLIC_HOLIDAY, 5 - EVENT, 6 - WEBINAR
|
||
schema:
|
||
type: integer
|
||
example: 1
|
||
- name: entity_id
|
||
in: query
|
||
example: 1030
|
||
description: Communication with entities, for example, is used in meeting places. 1030 - MeetingPlace
|
||
schema:
|
||
type: integer
|
||
- name: calendar_event_entity_item_id
|
||
in: query
|
||
schema:
|
||
type: string
|
||
- name: user_id
|
||
in: query
|
||
schema:
|
||
type: string
|
||
example: 9f7063d1-959e-4c32-b186-313576375739
|
||
- name: visible_to
|
||
in: query
|
||
description: Visible to user group
|
||
schema:
|
||
type: string
|
||
example: '9f7063d1-959e-4c32-b186-313576375739,3a7539cb-d85e-4455-af41-fc505d1ce6dd'
|
||
responses:
|
||
200:
|
||
description: Calendar event index.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
data:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/calendarEvent'
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized request.
|
||
403:
|
||
description: Unauthorized request.
|
||
404:
|
||
description: Calendar event not found.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/calendar-event-request:
|
||
post:
|
||
tags:
|
||
- calendarEventRequest
|
||
summary: Calendar event request create.
|
||
operationId: /calendar-event-request
|
||
requestBody:
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
calendar_event_id:
|
||
type: string
|
||
format: uuid
|
||
description: Calendar event ID
|
||
calendar_event_parent_id:
|
||
type: string
|
||
format: uuid
|
||
description: Calendar event parent ID
|
||
calendar_event_rec_date:
|
||
type: string
|
||
format: date
|
||
description: Calendar event recurring date
|
||
responses:
|
||
200:
|
||
description: Returns the calendar event request
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
success:
|
||
type: boolean
|
||
message:
|
||
type: string
|
||
errors:
|
||
type: array
|
||
items:
|
||
type: string
|
||
data:
|
||
$ref: '#/components/schemas/calendarEventBid'
|
||
400:
|
||
description: Bad Request. Returns a message with the error details.
|
||
401:
|
||
description: Unauthorized request.
|
||
403:
|
||
description: Unauthorized request.
|
||
404:
|
||
description: Not found. Returns a message with the error details.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/calendar-event-request/cancel:
|
||
post:
|
||
tags:
|
||
- calendarEventRequest
|
||
summary: Calendar event request cancel.
|
||
operationId: actionCreate
|
||
requestBody:
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
format: uuid
|
||
description: Calendar event request ID
|
||
responses:
|
||
200:
|
||
description: Returns the calendar event request
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
success:
|
||
type: boolean
|
||
message:
|
||
type: string
|
||
errors:
|
||
type: array
|
||
items:
|
||
type: string
|
||
400:
|
||
description: Bad Request. Returns a message with the error details.
|
||
401:
|
||
description: Unauthorized.
|
||
403:
|
||
description: Unauthorized.
|
||
404:
|
||
description: Not found. Returns a message with the error details.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/calendar-event-type:
|
||
get:
|
||
tags:
|
||
- calendarEventType
|
||
summary: Calendar event type index.
|
||
operationId: /calendar-event-type
|
||
parameters:
|
||
- name: name
|
||
in: query
|
||
description: Название типа события (like).
|
||
schema:
|
||
type: string
|
||
example: Тренинг
|
||
- name: is_used
|
||
in: query
|
||
description: Тип события выбран в каком-либо событии
|
||
schema:
|
||
type: boolean
|
||
example: true
|
||
- name: type_id
|
||
in: query
|
||
description: 1 - CORPORATE, 2 - TRAINING, 3 - MEET, 4 - PUBLIC_HOLIDAY, 5 - EVENT (All custom types), 6 - WEBINAR
|
||
schema:
|
||
type: integer
|
||
example: 1
|
||
responses:
|
||
200:
|
||
description: Calendar event type index.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
data:
|
||
type: array
|
||
items:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
format: uuid
|
||
name:
|
||
type: string
|
||
example: "Корпоративное мероприятие"
|
||
background_color:
|
||
type: string
|
||
example: "#F1D46E"
|
||
text_color:
|
||
type: string
|
||
example: "#000000"
|
||
_links:
|
||
$ref: '#/components/schemas/_links'
|
||
_meta:
|
||
$ref: '#/components/schemas/_meta'
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized request.
|
||
403:
|
||
description: Unauthorized request.
|
||
404:
|
||
description: Calendar event type not found.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/calendar/view:
|
||
get:
|
||
tags:
|
||
- calendar
|
||
summary: Details about calendar event.
|
||
operationId: /calendar/view
|
||
parameters:
|
||
- name: id
|
||
in: query
|
||
description: Calendar event item ID.
|
||
schema:
|
||
type: string
|
||
- name: parent_id
|
||
in: query
|
||
description: Calendar event parent item ID.
|
||
schema:
|
||
type: string
|
||
- name: rec_date
|
||
in: query
|
||
description: Calendar event recurring date.
|
||
schema:
|
||
type: string
|
||
responses:
|
||
200:
|
||
description: Calendar event details.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
data:
|
||
items:
|
||
allOf:
|
||
- $ref: '#/components/schemas/calendarEvent'
|
||
- type: object
|
||
properties:
|
||
calendar_event_type_id:
|
||
type: string
|
||
format: uuid
|
||
calendar_event_type:
|
||
$ref: '#/components/schemas/calendarEventType'
|
||
calendarEventUser:
|
||
$ref: '#/components/schemas/calendarEventUser'
|
||
calendarEventBid:
|
||
$ref: '#/components/schemas/calendarEventBid'
|
||
hasCalendarEventBid:
|
||
type: boolean
|
||
canCreateCalendarEventBid:
|
||
type: boolean
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized request.
|
||
403:
|
||
description: Unauthorized request.
|
||
404:
|
||
description: Calendar event not found.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/calendar:
|
||
get:
|
||
tags:
|
||
- calendar
|
||
summary: Calendar event index.
|
||
operationId: /calendar/index
|
||
parameters:
|
||
- name: title
|
||
in: query
|
||
schema:
|
||
type: string
|
||
- name: title_exact
|
||
in: query
|
||
schema:
|
||
type: string
|
||
- name: start_date_time
|
||
in: query
|
||
description: Default current month
|
||
schema:
|
||
type: string
|
||
example: '2023-01-01 10:00:00'
|
||
- name: end_date_time
|
||
in: query
|
||
description: Default current month +3 month
|
||
schema:
|
||
type: string
|
||
example: '2023-04-01 10:00:00'
|
||
- name: calendar_event_type_id
|
||
in: query
|
||
description: ID типа события из `/calendar-event-type`
|
||
schema:
|
||
type: string
|
||
format: uuid
|
||
example: '9f7063d1-959e-4c32-b186-313576375739'
|
||
- name: entity_id
|
||
in: query
|
||
description: Communication with entities, for example, is used in meeting places. 1030 - MeetingPlace
|
||
schema:
|
||
type: integer
|
||
- name: calendar_event_entity_item_id
|
||
in: query
|
||
schema:
|
||
type: string
|
||
- name: user_id
|
||
in: query
|
||
schema:
|
||
type: string
|
||
- name: visible_to
|
||
in: query
|
||
description: Visible to user group
|
||
schema:
|
||
type: string
|
||
example: '9f7063d1-959e-4c32-b186-313576375739,3a7539cb-d85e-4455-af41-fc505d1ce6dd'
|
||
responses:
|
||
200:
|
||
description: Calendar event index.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
data:
|
||
type: array
|
||
items:
|
||
allOf:
|
||
- $ref: '#/components/schemas/calendarEvent'
|
||
- type: object
|
||
properties:
|
||
calendar_event_type_id:
|
||
type: string
|
||
format: uuid
|
||
calendar_event_type:
|
||
$ref: '#/components/schemas/calendarEventType'
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized request.
|
||
403:
|
||
description: Unauthorized request.
|
||
404:
|
||
description: Calendar event not found.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/calendar/items:
|
||
get:
|
||
tags:
|
||
- calendar
|
||
summary: Calendar event items.
|
||
operationId: /calendar/items
|
||
parameters:
|
||
- name: q
|
||
in: query
|
||
schema:
|
||
type: string
|
||
- name: calendar_event_type_id
|
||
in: query
|
||
description: ID типа события из `/calendar-event-type`
|
||
schema:
|
||
type: string
|
||
format: uuid
|
||
example: '9f7063d1-959e-4c32-b186-313576375739'
|
||
- name: entity_id
|
||
in: query
|
||
description: Communication with entities, for example, is used in meeting places. 1030 - MeetingPlace
|
||
schema:
|
||
type: integer
|
||
example: 1030
|
||
- name: calendar_event_entity_item_id
|
||
in: query
|
||
schema:
|
||
type: string
|
||
example: 9f7063d1-959e-4c32-b186-313576375739
|
||
- name: user_id
|
||
in: query
|
||
schema:
|
||
type: string
|
||
example: 9f7063d1-959e-4c32-b186-313576375739
|
||
- name: visible_to
|
||
in: query
|
||
description: Visible to user group
|
||
schema:
|
||
type: string
|
||
example: 9f7063d1-959e-4c32-b186-313576375739,3a7539cb-d85e-4455-af41-fc505d1ce6dd
|
||
responses:
|
||
200:
|
||
description: Calendar event items.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
data:
|
||
type: array
|
||
items:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
format: uuid
|
||
title:
|
||
type: string
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized request.
|
||
403:
|
||
description: Unauthorized request.
|
||
404:
|
||
description: Calendar event not found.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/calendar/my:
|
||
get:
|
||
tags:
|
||
- calendar
|
||
summary: Calendar event my.
|
||
operationId: /calendar/my
|
||
parameters:
|
||
- name: title
|
||
in: query
|
||
schema:
|
||
type: string
|
||
- name: title_exact
|
||
in: query
|
||
schema:
|
||
type: string
|
||
- name: start_date_time
|
||
in: query
|
||
description: Default current month
|
||
schema:
|
||
type: string
|
||
example: '2023-01-01 10:00:00'
|
||
- name: end_date_time
|
||
in: query
|
||
description: Default current month +3 month
|
||
schema:
|
||
type: string
|
||
example: '2023-04-01 10:00:00'
|
||
- name: calendar_event_type_id
|
||
in: query
|
||
description: ID типа события из `/calendar-event-type`
|
||
schema:
|
||
type: string
|
||
format: uuid
|
||
example: '9f7063d1-959e-4c32-b186-313576375739'
|
||
- name: entity_id
|
||
in: query
|
||
example: 1030
|
||
description: Communication with entities, for example, is used in meeting places. 1030 - MeetingPlace
|
||
schema:
|
||
type: integer
|
||
- name: calendar_event_entity_item_id
|
||
in: query
|
||
schema:
|
||
type: string
|
||
- name: user_id
|
||
in: query
|
||
schema:
|
||
type: string
|
||
example: 9f7063d1-959e-4c32-b186-313576375739
|
||
- name: visible_to
|
||
in: query
|
||
description: Visible to user group
|
||
schema:
|
||
type: string
|
||
example: '9f7063d1-959e-4c32-b186-313576375739,3a7539cb-d85e-4455-af41-fc505d1ce6dd'
|
||
responses:
|
||
200:
|
||
description: Calendar event index.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
data:
|
||
type: array
|
||
items:
|
||
allOf:
|
||
- $ref: '#/components/schemas/calendarEvent'
|
||
- type: object
|
||
properties:
|
||
calendar_event_type_id:
|
||
type: string
|
||
format: uuid
|
||
calendar_event_type:
|
||
$ref: '#/components/schemas/calendarEventType'
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized request.
|
||
403:
|
||
description: Unauthorized request.
|
||
404:
|
||
description: Calendar event not found.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/moderation:
|
||
get:
|
||
tags:
|
||
- moderation
|
||
summary: Moderation index.
|
||
operationId: /moderation/index
|
||
parameters:
|
||
- name: id
|
||
in: query
|
||
description: Moderation ID.
|
||
schema:
|
||
type: string
|
||
required: false
|
||
example: edee4e11-dab5-4aac-93ac-43c379aab6b2
|
||
responses:
|
||
200:
|
||
description: Moderation object.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/moderation'
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized.
|
||
403:
|
||
description: Unauthorized.
|
||
404:
|
||
description: Not found.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/moderation/accept:
|
||
post:
|
||
tags:
|
||
- moderation
|
||
summary: Accept moderation.
|
||
operationId: actionAccept
|
||
requestBody:
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/arrayOfIds'
|
||
responses:
|
||
200:
|
||
description: Text
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
success:
|
||
type: boolean
|
||
message:
|
||
type: string
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized.
|
||
403:
|
||
description: Unauthorized.
|
||
404:
|
||
description: Not found.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/moderation/reject:
|
||
post:
|
||
tags:
|
||
- moderation
|
||
summary: Reject moderation.
|
||
operationId: actionReject
|
||
requestBody:
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/arrayOfIds'
|
||
responses:
|
||
200:
|
||
description: Text
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
success:
|
||
type: boolean
|
||
message:
|
||
type: string
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized.
|
||
403:
|
||
description: Unauthorized.
|
||
404:
|
||
description: Not found.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/idea/statuses:
|
||
get:
|
||
tags:
|
||
- idea
|
||
summary: Idea statuses list.
|
||
operationId: /idea/statuses
|
||
responses:
|
||
200:
|
||
description: Idea statuses object.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ideaStatuses'
|
||
401:
|
||
description: Unauthorized.
|
||
403:
|
||
description: Unauthorized.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/idea/purposes:
|
||
get:
|
||
tags:
|
||
- idea
|
||
summary: Idea purposes list.
|
||
operationId: /idea/purposes
|
||
responses:
|
||
200:
|
||
description: Idea purpose object.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ideaPurposes'
|
||
401:
|
||
description: Unauthorized.
|
||
403:
|
||
description: Unauthorized.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/idea/index:
|
||
get:
|
||
tags:
|
||
- idea
|
||
summary: Idea index.
|
||
operationId: /idea/index
|
||
parameters:
|
||
- name: created_at
|
||
in: query
|
||
description: Дата создания идеи.
|
||
schema:
|
||
type: string
|
||
example: 2023-01-01|2023-01-01
|
||
- name: created_user_id
|
||
in: query
|
||
description: Идентификатор пользователя. Можно передать несколько идентификаторов разделенные запятой.
|
||
schema:
|
||
type: string
|
||
example: edee4e11-dab5-4aac-93ac-43c379aab6b2
|
||
- name: idea_status_id
|
||
in: query
|
||
description: Статус идеи. Можно передать несколько идентификаторов разделенные запятой.
|
||
schema:
|
||
type: string
|
||
example: 1
|
||
- name: idea_purpose_id
|
||
in: query
|
||
description: Направление идеи. Можно передать несколько идентификаторов разделенные запятой.
|
||
schema:
|
||
type: string
|
||
example: edee4e11-dab5-4aac-93ac-43c379aab6b2
|
||
- name: performer_id
|
||
in: query
|
||
description: Исполнитель идеи. Можно передать несколько идентификаторов разделенные запятой.
|
||
schema:
|
||
type: string
|
||
example: edee4e11-dab5-4aac-93ac-43c379aab6b2
|
||
responses:
|
||
200:
|
||
description: Idea objects.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
data:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/ideaIndex'
|
||
_links:
|
||
$ref: '#/components/schemas/_links'
|
||
_meta:
|
||
$ref: '#/components/schemas/_meta'
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized.
|
||
403:
|
||
description: Unauthorized.
|
||
404:
|
||
description: Not found.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/idea/view:
|
||
get:
|
||
tags:
|
||
- idea
|
||
summary: Idea view.
|
||
operationId: /idea/view
|
||
parameters:
|
||
- name: id
|
||
in: query
|
||
description: Idea ID.
|
||
schema:
|
||
type: string
|
||
required: true
|
||
example: edee4e11-dab5-4aac-93ac-43c379aab6b2
|
||
responses:
|
||
200:
|
||
description: Idea detailed object.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ideaView'
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized.
|
||
403:
|
||
description: Unauthorized.
|
||
404:
|
||
description: Feedback not found.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/idea/edit:
|
||
post:
|
||
tags:
|
||
- idea
|
||
summary: Idea edit.
|
||
operationId: /idea/edit
|
||
parameters:
|
||
- name: id
|
||
in: query
|
||
description: Idea ID.
|
||
schema:
|
||
type: string
|
||
required: false
|
||
example: edee4e11-dab5-4aac-93ac-43c379aab6b2
|
||
requestBody:
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ideaEdit'
|
||
responses:
|
||
200:
|
||
description: Idea object.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/ideaIndex'
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized.
|
||
403:
|
||
description: Unauthorized.
|
||
404:
|
||
description: Feedback not found.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/idea/vote:
|
||
post:
|
||
tags:
|
||
- idea
|
||
summary: Vote for idea.
|
||
operationId: /idea/vote
|
||
parameters:
|
||
- name: id
|
||
in: query
|
||
description: Idea ID.
|
||
schema:
|
||
type: string
|
||
required: true
|
||
example: edee4e11-dab5-4aac-93ac-43c379aab6b2
|
||
responses:
|
||
200:
|
||
description: Text
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
success:
|
||
description: Success status.
|
||
type: boolean
|
||
example: true
|
||
status:
|
||
description: Voting status.
|
||
type: boolean
|
||
example: true
|
||
message:
|
||
type: string
|
||
example: You voted for the idea!
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized.
|
||
403:
|
||
description: Unauthorized.
|
||
404:
|
||
description: Feedback not found.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/idea/participate:
|
||
post:
|
||
tags:
|
||
- idea
|
||
summary: Participate an idea.
|
||
operationId: /idea/participate
|
||
parameters:
|
||
- name: id
|
||
in: query
|
||
description: Idea ID.
|
||
schema:
|
||
type: string
|
||
required: true
|
||
example: edee4e11-dab5-4aac-93ac-43c379aab6b2
|
||
responses:
|
||
200:
|
||
description: Text
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
success:
|
||
description: Success status.
|
||
type: boolean
|
||
example: true
|
||
status:
|
||
description: Participation status.
|
||
type: boolean
|
||
example: true
|
||
message:
|
||
type: string
|
||
example: You are participating in the idea!
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized.
|
||
403:
|
||
description: Unauthorized.
|
||
404:
|
||
description: Feedback not found.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/file/index:
|
||
get:
|
||
tags:
|
||
- file
|
||
summary: index user files.
|
||
operationId: /file/index
|
||
parameters:
|
||
- name: file_type
|
||
in: query
|
||
example: image
|
||
schema:
|
||
type: string
|
||
enum:
|
||
- image
|
||
- video
|
||
- document
|
||
- archive
|
||
- other
|
||
- encrypted
|
||
- name: search
|
||
in: query
|
||
description: Query string
|
||
schema:
|
||
type: string
|
||
example: Some text
|
||
- name: per-page
|
||
in: query
|
||
description: How many items return in one page (default 20).
|
||
schema:
|
||
type: string
|
||
- name: page
|
||
in: query
|
||
description: Current page.
|
||
schema:
|
||
type: string
|
||
- name: sort
|
||
description: Sorting fields and directions (example, -created_at, +name)
|
||
in: query
|
||
schema:
|
||
type: string
|
||
enum:
|
||
- name
|
||
- ext
|
||
- file_type
|
||
- mime_type
|
||
- created_at
|
||
responses:
|
||
200:
|
||
description: File objects.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
data:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/fileIndex'
|
||
_links:
|
||
$ref: '#/components/schemas/_links'
|
||
_meta:
|
||
$ref: '#/components/schemas/_meta'
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized.
|
||
403:
|
||
description: Unauthorized.
|
||
404:
|
||
description: Unauthorized.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/file/count:
|
||
get:
|
||
tags:
|
||
- file
|
||
summary: count user files.
|
||
operationId: /file/count
|
||
parameters:
|
||
- name: search
|
||
in: query
|
||
description: Query string
|
||
schema:
|
||
type: string
|
||
example: Some text
|
||
responses:
|
||
200:
|
||
description: File objects.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
image:
|
||
type: integer
|
||
default: 320
|
||
video:
|
||
type: integer
|
||
default: 10
|
||
document:
|
||
type: integer
|
||
default: 10
|
||
archive:
|
||
type: integer
|
||
default: 0
|
||
other:
|
||
type: integer
|
||
default: 0
|
||
encrypted:
|
||
type: integer
|
||
default: 0
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized.
|
||
403:
|
||
description: Unauthorized.
|
||
404:
|
||
description: Unauthorized.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/user-status/index:
|
||
get:
|
||
tags:
|
||
- user-status
|
||
summary: User status index.
|
||
operationId: /user-status/index
|
||
parameters:
|
||
- name: name
|
||
in: query
|
||
description: Название статуса (like).
|
||
schema:
|
||
type: string
|
||
example: В отпуске
|
||
- name: slug
|
||
in: query
|
||
description: Уникальный именуемый идентификатор статуса (equals).
|
||
schema:
|
||
type: string
|
||
example: vacation
|
||
- name: is_custom
|
||
in: query
|
||
description: Статус создан администратором.
|
||
schema:
|
||
type: boolean
|
||
example: 1
|
||
- name: is_editable
|
||
in: query
|
||
description: Возможность редактирования статуса.
|
||
schema:
|
||
type: boolean
|
||
example: 1
|
||
- name: is_expire
|
||
in: query
|
||
description: Статус со сроком действия.
|
||
schema:
|
||
type: boolean
|
||
example: 1
|
||
- name: display_in_modal
|
||
in: query
|
||
description: Запрашивать статус в модальном окне запроса статуса.
|
||
schema:
|
||
type: boolean
|
||
example: 1
|
||
responses:
|
||
200:
|
||
description: Returns pagination and array of user status objects.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
data:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/userStatus'
|
||
_meta:
|
||
$ref: '#/components/schemas/_meta'
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/user-status/view:
|
||
get:
|
||
tags:
|
||
- user-status
|
||
summary: User status view.
|
||
operationId: /user-status/view
|
||
parameters:
|
||
- name: id
|
||
in: query
|
||
description: User status ID.
|
||
schema:
|
||
type: string
|
||
required: true
|
||
example: b726280a-2be6-4e62-ab24-1736389c6474
|
||
responses:
|
||
200:
|
||
description: User status detailed object.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/userStatus'
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized.
|
||
404:
|
||
description: Not found.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/user-status/set:
|
||
post:
|
||
tags:
|
||
- user-status
|
||
summary: Set user statuses.
|
||
operationId: /user-status/set
|
||
requestBody:
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/userStatusSetRequestBody'
|
||
responses:
|
||
200:
|
||
description: Result as boolean value.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: boolean
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/comment/statuses:
|
||
get:
|
||
tags:
|
||
- comment
|
||
summary: Comment statuses list. Role permissions are not required.
|
||
operationId: /comment/statuses
|
||
responses:
|
||
200:
|
||
description: Comment statuses object.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/commentStatuses'
|
||
401:
|
||
description: Unauthorized.
|
||
403:
|
||
description: Unauthorized.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/comment/index:
|
||
get:
|
||
tags:
|
||
- comment
|
||
summary: Comment index. Access allowed with "Moderate comments" (content-moderate-comments) role permission.
|
||
operationId: /comment/index
|
||
parameters:
|
||
- name: created_at
|
||
in: query
|
||
description: Comment creation date range.
|
||
schema:
|
||
type: string
|
||
example: 2023-01-01|2023-01-01
|
||
- name: entity_id
|
||
in: query
|
||
description: Entity ID. You can pass multiple identifiers separated by commas.
|
||
schema:
|
||
type: string
|
||
example: 1
|
||
- name: reference_id
|
||
in: query
|
||
description: Reference ID. You can pass multiple identifiers separated by commas.
|
||
schema:
|
||
type: string
|
||
format: uuid
|
||
example: edee4e11-dab5-4aac-93ac-43c379aab6b2
|
||
- name: user_id
|
||
in: query
|
||
description: User ID. You can pass multiple identifiers separated by commas.
|
||
schema:
|
||
type: string
|
||
format: uuid
|
||
example: edee4e11-dab5-4aac-93ac-43c379aab6b2
|
||
- name: status_id
|
||
in: query
|
||
description: Comment status ID. You can pass multiple identifiers separated by commas.
|
||
schema:
|
||
type: string
|
||
example: 1
|
||
responses:
|
||
200:
|
||
description: Returns pagination and array of comment objects.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
data:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/commentIndex'
|
||
_links:
|
||
$ref: '#/components/schemas/_links'
|
||
_meta:
|
||
$ref: '#/components/schemas/_meta'
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/comment/view:
|
||
get:
|
||
tags:
|
||
- comment
|
||
summary: View comment data. Returns comments data only in the "Published" status (STATUS_APPROVED). Access allowed with "See comments" (show-content-comments) role permission.
|
||
operationId: /comment/view
|
||
parameters:
|
||
- name: id
|
||
in: query
|
||
description: Comment ID.
|
||
schema:
|
||
type: string
|
||
format: uuid
|
||
required: true
|
||
example: b726280a-2be6-4e62-ab24-1736389c6474
|
||
responses:
|
||
200:
|
||
description: Comment object.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/commentView'
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized.
|
||
404:
|
||
description: Not found.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/comment/get:
|
||
get:
|
||
tags:
|
||
- comment
|
||
summary: Retrieving a list of top-level comments with replies in the "Published" status (STATUS_APPROVED) and sorted by creation date without pagination. Access allowed with "See comments" (show-content-comments) role permission.
|
||
operationId: /comment/get
|
||
parameters:
|
||
- name: entity_id
|
||
in: query
|
||
description: Entity ID.
|
||
schema:
|
||
type: string
|
||
example: 1
|
||
- name: reference_id
|
||
in: query
|
||
description: Reference ID.
|
||
schema:
|
||
type: string
|
||
format: uuid
|
||
example: edee4e11-dab5-4aac-93ac-43c379aab6b2
|
||
responses:
|
||
200:
|
||
description: Comment object.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/commentGet'
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized.
|
||
404:
|
||
description: Not found.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/comment/add:
|
||
post:
|
||
tags:
|
||
- comment
|
||
summary: Add a new comment. Access allowed with "Leave comments" (content-comments-post) role permission.
|
||
operationId: /comment/add
|
||
requestBody:
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/commentAddRequestBody'
|
||
responses:
|
||
200:
|
||
description: Text
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/commentAddResponse'
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/comment/delete:
|
||
delete:
|
||
tags:
|
||
- comment
|
||
summary: Comment safe delete (changes comment status to STATUS DELETED). Access is allowed for comment author or users with "Moderate comments" role permission (content-moderate-comments).
|
||
operationId: /comment/delete
|
||
parameters:
|
||
- name: id
|
||
in: query
|
||
description: Comment ID.
|
||
schema:
|
||
type: string
|
||
format: uuid
|
||
required: true
|
||
example: b726280a-2be6-4e62-ab24-1736389c6474
|
||
responses:
|
||
200:
|
||
description: Result as boolean value.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: boolean
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized.
|
||
403:
|
||
description: Forbidden.
|
||
404:
|
||
description: Not found.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/category/thumb-style:
|
||
get:
|
||
tags:
|
||
- category
|
||
summary: Список вариантов отображения превью категории.
|
||
operationId: /category/thumb-style
|
||
responses:
|
||
200:
|
||
description: Список категорий.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/typeIdInteger'
|
||
401:
|
||
description: Unauthorized.
|
||
403:
|
||
description: Forbidden.
|
||
500:
|
||
description: Internal Server Error.
|
||
|
||
/category/content-style:
|
||
get:
|
||
tags:
|
||
- category
|
||
summary: Список вариантов отображения содержимого категории.
|
||
operationId: /category/content-style
|
||
responses:
|
||
200:
|
||
description: Список категорий.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/typeIdInteger'
|
||
401:
|
||
description: Unauthorized.
|
||
403:
|
||
description: Forbidden.
|
||
500:
|
||
description: Internal Server Error.
|
||
|
||
/category/root:
|
||
get:
|
||
tags:
|
||
- category
|
||
summary: Список корневых категорий.
|
||
operationId: /category/root
|
||
responses:
|
||
200:
|
||
description: Список категорий.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/categoryRoot'
|
||
401:
|
||
description: Unauthorized.
|
||
403:
|
||
description: Forbidden.
|
||
500:
|
||
description: Internal Server Error.
|
||
|
||
/category/index:
|
||
get:
|
||
tags:
|
||
- category
|
||
summary: Список категорий.
|
||
operationId: /category/index
|
||
parameters:
|
||
- name: root_id
|
||
in: query
|
||
description: Category root ID.
|
||
required: true
|
||
schema:
|
||
type: string
|
||
responses:
|
||
200:
|
||
description: Returns pagination and array of objects.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
data:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/category'
|
||
_links:
|
||
$ref: '#/components/schemas/_links'
|
||
_meta:
|
||
$ref: '#/components/schemas/_meta'
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized.
|
||
403:
|
||
description: Forbidden. Возвращается если tenantInfo.modules.shop.isModuleEnabled равен false.
|
||
500:
|
||
description: Internal Server Error.
|
||
|
||
/wallet/info:
|
||
get:
|
||
tags:
|
||
- wallet
|
||
summary: Данные кошелька пользователя. Требуется право доступа wallet "Кошелек".
|
||
operationId: /wallet/info
|
||
responses:
|
||
200:
|
||
description: Список категорий.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/wallet'
|
||
401:
|
||
description: Unauthorized.
|
||
403:
|
||
description: Forbidden.
|
||
500:
|
||
description: Internal Server Error.
|
||
|
||
/shop/product/sort-type:
|
||
get:
|
||
tags:
|
||
- shop
|
||
summary: Список типов сортировки товара на странице витрины магазина.
|
||
operationId: /shop/product/sort-type
|
||
responses:
|
||
200:
|
||
description: Список типов сортировки товара.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/shopProductSortType'
|
||
401:
|
||
description: Unauthorized.
|
||
403:
|
||
description: Forbidden. Возвращается если tenantInfo.modules.shop.isModuleEnabled равен false.
|
||
500:
|
||
description: Internal Server Error.
|
||
|
||
/shop/product/index:
|
||
get:
|
||
tags:
|
||
- shop
|
||
summary: Список товаров.
|
||
operationId: /shop/product/index
|
||
parameters:
|
||
- name: sort
|
||
in: query
|
||
description: Тип сортировки товара.
|
||
schema:
|
||
type: string
|
||
- name: title
|
||
in: query
|
||
description: Название товара.
|
||
schema:
|
||
type: string
|
||
- name: category_id
|
||
in: query
|
||
description: Идентификатор категории.
|
||
schema:
|
||
type: string
|
||
format: uuid
|
||
example: 76080562-3a5e-4826-8799-7638b775bcd0
|
||
responses:
|
||
200:
|
||
description: Returns pagination and array of objects.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
data:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/shopProductIndex'
|
||
_links:
|
||
$ref: '#/components/schemas/_links'
|
||
_meta:
|
||
$ref: '#/components/schemas/_meta'
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized.
|
||
403:
|
||
description: Forbidden. Возвращается если tenantInfo.modules.shop.isModuleEnabled равен false.
|
||
500:
|
||
description: Internal Server Error.
|
||
|
||
/shop/product/view:
|
||
get:
|
||
tags:
|
||
- shop
|
||
summary: Детали товара. Нужно обязательно передать id либо option_id товара.
|
||
operationId: /shop/product/view
|
||
parameters:
|
||
- name: id
|
||
in: query
|
||
description: Product ID.
|
||
required: true
|
||
schema:
|
||
type: string
|
||
format: uuid
|
||
example: 76080562-3a5e-4826-8799-7638b775bcd0
|
||
- name: option_id
|
||
in: query
|
||
description: Product option ID.
|
||
required: true
|
||
schema:
|
||
type: string
|
||
format: uuid
|
||
example: e25ea810-bbc2-4b1e-84ca-8ed56d4594ec
|
||
responses:
|
||
200:
|
||
description: Product object.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/shopProductView'
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized.
|
||
403:
|
||
description: Forbidden. Возвращается если tenantInfo.modules.shop.isModuleEnabled равен false.
|
||
404:
|
||
description: Not found.
|
||
500:
|
||
description: Internal Server Error.
|
||
|
||
/shop/order/statuses:
|
||
get:
|
||
tags:
|
||
- shop
|
||
summary: Получение списка статусов заказа.
|
||
operationId: /shop/order/statuses
|
||
responses:
|
||
200:
|
||
description: Список статусов заказа.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/status'
|
||
401:
|
||
description: Unauthorized.
|
||
403:
|
||
description: Forbidden. Возвращается если tenantInfo.modules.shop.isModuleEnabled равен false.
|
||
500:
|
||
description: Internal Server Error.
|
||
|
||
/shop/order/delivery-addresses:
|
||
get:
|
||
tags:
|
||
- shop
|
||
summary: Получение списка адресов для доставки заказа.
|
||
operationId: /shop/order/delivery-addresses
|
||
responses:
|
||
200:
|
||
description: Список адресов для доставки заказа.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/shopOrderDeliveryAddresses'
|
||
401:
|
||
description: Unauthorized.
|
||
403:
|
||
description: Forbidden. Возвращается если tenantInfo.modules.shop.isModuleEnabled равен false.
|
||
500:
|
||
description: Internal Server Error.
|
||
|
||
/shop/order/index:
|
||
get:
|
||
tags:
|
||
- shop
|
||
summary: Список заказов.
|
||
operationId: /shop/order/index
|
||
parameters:
|
||
- name: num
|
||
in: query
|
||
description: Order number.
|
||
schema:
|
||
type: string
|
||
example: 1
|
||
- name: created_at
|
||
in: query
|
||
description: Creation date range.
|
||
schema:
|
||
type: string
|
||
example: 2024-01-01|2024-01-01
|
||
- name: order_status_id
|
||
in: query
|
||
description: Order status ID.
|
||
schema:
|
||
type: string
|
||
example: 1
|
||
responses:
|
||
200:
|
||
description: Returns pagination and array of objects.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
data:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/shopOrderIndex'
|
||
_links:
|
||
$ref: '#/components/schemas/_links'
|
||
_meta:
|
||
$ref: '#/components/schemas/_meta'
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized.
|
||
403:
|
||
description: Forbidden. Возвращается если tenantInfo.modules.shop.isModuleEnabled равен false.
|
||
500:
|
||
description: Internal Server Error.
|
||
|
||
/shop/order/view:
|
||
get:
|
||
tags:
|
||
- shop
|
||
summary: Данные заказа.
|
||
operationId: /shop/order/view
|
||
parameters:
|
||
- name: id
|
||
in: query
|
||
description: Order ID.
|
||
required: true
|
||
schema:
|
||
type: string
|
||
format: uuid
|
||
example: 0310635d-2c72-4219-9038-bf2ac8f14206
|
||
responses:
|
||
200:
|
||
description: Order object.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/shopOrderView'
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized.
|
||
403:
|
||
description: Forbidden. Возвращается если tenantInfo.modules.shop.isModuleEnabled равен false.
|
||
404:
|
||
description: Not found.
|
||
500:
|
||
description: Internal Server Error.
|
||
|
||
/shop/order/checkout:
|
||
post:
|
||
tags:
|
||
- shop
|
||
summary: Создание заказа.
|
||
operationId: /shop/order/checkout
|
||
requestBody:
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/shopOrderCheckoutRequestBody'
|
||
responses:
|
||
200:
|
||
description: Text
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/shopOrderCheckoutResponse'
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/shop/order/position-remove:
|
||
post:
|
||
tags:
|
||
- shop
|
||
summary: Удаление позиции заказа.
|
||
operationId: /shop/order/position-remove
|
||
requestBody:
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/shopOrderPositionRemoveRequestBody'
|
||
responses:
|
||
200:
|
||
description: Return success result.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/shopOrderPositionRemoveResponse'
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized.
|
||
404:
|
||
description: Not found.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/shop/order/position-restore:
|
||
post:
|
||
tags:
|
||
- shop
|
||
summary: Восстановить удаленную позицию заказа.
|
||
operationId: /shop/order/position-restore
|
||
requestBody:
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/shopOrderPositionRestoreRequestBody'
|
||
responses:
|
||
200:
|
||
description: Return success result.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/shopOrderPositionRestoreResponse'
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized.
|
||
404:
|
||
description: Not found.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/shop/order/position-change-comment:
|
||
post:
|
||
tags:
|
||
- shop
|
||
summary: Изменить комментарий к позиции заказа.
|
||
operationId: /shop/order/position-change-comment
|
||
requestBody:
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/shopOrderPositionChangeCommentRequestBody'
|
||
responses:
|
||
200:
|
||
description: Return success result.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/shopOrderPositionChangeCommentResponse'
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized.
|
||
404:
|
||
description: Not found.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/shop/order/cancel:
|
||
post:
|
||
tags:
|
||
- shop
|
||
summary: Отменить заказ.
|
||
operationId: /shop/order/cancel
|
||
requestBody:
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/shopOrderCancelRequestBody'
|
||
responses:
|
||
200:
|
||
description: Return success result.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/shopOrderCancelResponse'
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized.
|
||
404:
|
||
description: Not found.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/duty/index:
|
||
get:
|
||
tags:
|
||
- Duty
|
||
summary: Список доступных услуг
|
||
operationId: /duty/index
|
||
parameters:
|
||
- name: id
|
||
in: query
|
||
description: Идентификатор (UUID), либо их массив через запятую
|
||
required: false
|
||
schema:
|
||
oneOf:
|
||
- type: string
|
||
format: uuid
|
||
- type: array
|
||
items:
|
||
type: string
|
||
format: uuid
|
||
- name: not_id
|
||
in: query
|
||
description: Идентификатор (UUID), либо их массив через запятую
|
||
required: false
|
||
schema:
|
||
oneOf:
|
||
- type: string
|
||
format: uuid
|
||
- type: array
|
||
items:
|
||
type: string
|
||
format: uuid
|
||
- name: user_id
|
||
in: query
|
||
description: Идентификатор пользователя (UUID)
|
||
required: false
|
||
schema:
|
||
type: string
|
||
format: uuid
|
||
- name: name
|
||
in: query
|
||
description: Поиск по имени услуги
|
||
schema:
|
||
type: string
|
||
maxLength: 64
|
||
responses:
|
||
200:
|
||
description: Список доступных услуг
|
||
content:
|
||
application/json:
|
||
schema:
|
||
allOf:
|
||
- $ref: '#/components/schemas/dataProviderResponse'
|
||
- type: object
|
||
properties:
|
||
data:
|
||
$ref: '#/components/schemas/dutyItem'
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized.
|
||
404:
|
||
description: Not found.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/user-duty/index:
|
||
get:
|
||
tags:
|
||
- Duty
|
||
summary: Список услуг, привязанных к пользователю
|
||
operationId: /user-duty/index
|
||
parameters:
|
||
- name: id
|
||
in: query
|
||
description: Идентификатор (UUID), либо их массив через запятую
|
||
required: false
|
||
schema:
|
||
oneOf:
|
||
- type: string
|
||
format: uuid
|
||
- type: array
|
||
items:
|
||
type: string
|
||
format: uuid
|
||
- name: not_id
|
||
in: query
|
||
description: Идентификатор (UUID), либо их массив через запятую
|
||
required: false
|
||
schema:
|
||
oneOf:
|
||
- type: string
|
||
format: uuid
|
||
- type: array
|
||
items:
|
||
type: string
|
||
format: uuid
|
||
- name: name
|
||
in: query
|
||
description: Поиск по имени услуги
|
||
schema:
|
||
type: string
|
||
maxLength: 64
|
||
responses:
|
||
200:
|
||
description: Список доступных услуг
|
||
content:
|
||
application/json:
|
||
schema:
|
||
allOf:
|
||
- $ref: '#/components/schemas/dataProviderResponse'
|
||
- type: object
|
||
properties:
|
||
data:
|
||
$ref: '#/components/schemas/dutyItem'
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized.
|
||
404:
|
||
description: Not found.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/user-duty/add:
|
||
post:
|
||
tags:
|
||
- Duty
|
||
summary: Привязка услуг к пользователю
|
||
operationId: /user-duty/index
|
||
requestBody:
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Идентификатор (UUID), либо их массив
|
||
oneOf:
|
||
- type: string
|
||
format: uuid
|
||
- type: array
|
||
items:
|
||
type: string
|
||
format: uuid
|
||
required:
|
||
- id
|
||
responses:
|
||
200:
|
||
description: Ответ сервера
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/httpJsonResponse'
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized.
|
||
422:
|
||
description: Data validation failed.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/user-duty/remove:
|
||
post:
|
||
tags:
|
||
- Duty
|
||
summary: Удаление привязанных услуг у пользователя
|
||
operationId: /user-duty/remove
|
||
requestBody:
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Идентификатор (UUID), либо их массив
|
||
oneOf:
|
||
- type: string
|
||
format: uuid
|
||
- type: array
|
||
items:
|
||
type: string
|
||
format: uuid
|
||
required:
|
||
- id
|
||
responses:
|
||
200:
|
||
description: Ответ сервера
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/httpJsonResponse'
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized.
|
||
422:
|
||
description: Data validation failed.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/newbies/index:
|
||
get:
|
||
tags:
|
||
- MdWidgets
|
||
summary: Список новичков
|
||
operationId: /newbies/index
|
||
parameters:
|
||
- $ref: '#/components/parameters/boardDepartmentId'
|
||
- $ref: '#/components/parameters/userListKey'
|
||
- $ref: '#/components/parameters/boardWithFavorites'
|
||
- $ref: '#/components/parameters/boardDateTypeParam'
|
||
- $ref: '#/components/parameters/boardDateDayParam'
|
||
- $ref: '#/components/parameters/boardDateWeekParam'
|
||
- $ref: '#/components/parameters/boardDateMonthParam'
|
||
- $ref: '#/components/parameters/boardDateYearParam'
|
||
responses:
|
||
200:
|
||
description: MdWidget Items.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
success:
|
||
description: Result status.
|
||
type: boolean
|
||
example: true
|
||
message:
|
||
description: Message displayed to user (localized).
|
||
type: string
|
||
default: null
|
||
example: ''
|
||
errors:
|
||
description: Array of validation errors.
|
||
type: array
|
||
default: null
|
||
data:
|
||
type: array
|
||
items:
|
||
type: object
|
||
allOf:
|
||
- $ref: '#/components/schemas/mdWidgetUserItem'
|
||
- type: object
|
||
properties:
|
||
itemDate:
|
||
description: Date Birthday
|
||
type: string
|
||
format: date
|
||
example: 18 july
|
||
_links:
|
||
$ref: '#/components/schemas/_links'
|
||
_meta:
|
||
$ref: '#/components/schemas/_meta'
|
||
_periodUrls:
|
||
$ref: '#/components/schemas/_periodUrls'
|
||
periodUrls:
|
||
$ref: '#/components/schemas/_periodUrls'
|
||
currentPeriod:
|
||
$ref: '#/components/schemas/currentPeriod'
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized request.
|
||
403:
|
||
description: Unauthorized request.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/birthday/index:
|
||
get:
|
||
tags:
|
||
- MdWidgets
|
||
summary: Список дней рождений
|
||
operationId: /birthday/index
|
||
parameters:
|
||
- $ref: '#/components/parameters/boardDepartmentId'
|
||
- $ref: '#/components/parameters/userListKey'
|
||
- $ref: '#/components/parameters/boardWithFavorites'
|
||
- $ref: '#/components/parameters/boardDateTypeParam'
|
||
- $ref: '#/components/parameters/boardDateDayParam'
|
||
- $ref: '#/components/parameters/boardDateWeekParam'
|
||
- $ref: '#/components/parameters/boardDateMonthParam'
|
||
- $ref: '#/components/parameters/boardDateYearParam'
|
||
responses:
|
||
200:
|
||
description: MdWidget Items.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
success:
|
||
description: Result status.
|
||
type: boolean
|
||
example: true
|
||
message:
|
||
description: Message displayed to user (localized).
|
||
type: string
|
||
default: null
|
||
example: ''
|
||
errors:
|
||
description: Array of validation errors.
|
||
type: array
|
||
default: null
|
||
data:
|
||
type: array
|
||
items:
|
||
type: object
|
||
allOf:
|
||
- $ref: '#/components/schemas/mdWidgetUserItem'
|
||
- type: object
|
||
properties:
|
||
itemDate:
|
||
description: Employment date
|
||
type: string
|
||
format: date
|
||
example: 1 july
|
||
_links:
|
||
$ref: '#/components/schemas/_links'
|
||
_meta:
|
||
$ref: '#/components/schemas/_meta'
|
||
_periodUrls:
|
||
$ref: '#/components/schemas/_periodUrls'
|
||
periodUrls:
|
||
$ref: '#/components/schemas/_periodUrls'
|
||
currentPeriod:
|
||
$ref: '#/components/schemas/currentPeriod'
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized request.
|
||
403:
|
||
description: Unauthorized request.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/experienced/index:
|
||
get:
|
||
tags:
|
||
- MdWidgets
|
||
summary: Список годовщин по стажу в компании
|
||
operationId: /experienced/index
|
||
parameters:
|
||
- $ref: '#/components/parameters/boardDepartmentId'
|
||
- $ref: '#/components/parameters/userListKey'
|
||
- $ref: '#/components/parameters/boardWithFavorites'
|
||
- $ref: '#/components/parameters/boardDateTypeParam'
|
||
- $ref: '#/components/parameters/boardDateDayParam'
|
||
- $ref: '#/components/parameters/boardDateWeekParam'
|
||
- $ref: '#/components/parameters/boardDateMonthParam'
|
||
- $ref: '#/components/parameters/boardDateYearParam'
|
||
responses:
|
||
200:
|
||
description: MdWidget Items.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
properties:
|
||
success:
|
||
description: Result status.
|
||
type: boolean
|
||
example: true
|
||
message:
|
||
description: Message displayed to user (localized).
|
||
type: string
|
||
default: null
|
||
example: ''
|
||
errors:
|
||
description: Array of validation errors.
|
||
type: array
|
||
default: null
|
||
data:
|
||
type: array
|
||
items:
|
||
type: object
|
||
allOf:
|
||
- $ref: '#/components/schemas/mdWidgetUserItem'
|
||
- type: object
|
||
properties:
|
||
itemDate:
|
||
description: Work anniversary date
|
||
type: string
|
||
format: date
|
||
example: 18 july
|
||
data:
|
||
type: object
|
||
properties:
|
||
date:
|
||
description: Work anniversary date
|
||
type: string
|
||
format: date
|
||
example: 18 july
|
||
experience:
|
||
description: Number of years of experience
|
||
type: string
|
||
format: date
|
||
example: 18 july
|
||
experienceFormat:
|
||
description: Number of years of experience formatted
|
||
type: string
|
||
format: date
|
||
example: 2 year
|
||
_links:
|
||
$ref: '#/components/schemas/_links'
|
||
_meta:
|
||
$ref: '#/components/schemas/_meta'
|
||
_periodUrls:
|
||
$ref: '#/components/schemas/_periodUrls'
|
||
periodUrls:
|
||
$ref: '#/components/schemas/_periodUrls'
|
||
currentPeriod:
|
||
$ref: '#/components/schemas/currentPeriod'
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized request.
|
||
403:
|
||
description: Unauthorized request.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/timezone/index:
|
||
get:
|
||
tags:
|
||
- timezone
|
||
summary: Timezone index.
|
||
operationId: /timezone/index
|
||
parameters:
|
||
- name: id
|
||
in: query
|
||
description: Идентификатор
|
||
schema:
|
||
type: string
|
||
example: Africa
|
||
- name: name
|
||
in: query
|
||
description: Название
|
||
schema:
|
||
type: string
|
||
example: Москва
|
||
responses:
|
||
200:
|
||
description: Timezone objects.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
data:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/timezone'
|
||
_links:
|
||
$ref: '#/components/schemas/_links'
|
||
_meta:
|
||
$ref: '#/components/schemas/_meta'
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized.
|
||
403:
|
||
description: Unauthorized.
|
||
404:
|
||
description: Not found.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/tag/index:
|
||
get:
|
||
tags:
|
||
- tag
|
||
summary: Список тегов
|
||
description: |
|
||
Возвращает список тегов по указанным фильтрам.
|
||
|
||
Если передан один из параметров (root_id, category_id, use_category_recursion) то будут выбраны только те теги которые используются в элементах текущего каталога с проверкой прав на просмотр этих элементов для пользователя. Данный функционал работает с каталогами страниц, обучений и процессов.
|
||
operationId: /tag/index
|
||
parameters:
|
||
- name: id
|
||
in: query
|
||
description: Можно передать несколько id, разделенных запятыми.
|
||
schema:
|
||
type: string
|
||
format: uuid
|
||
example: "0b6a186a-95b8-4c89-8e69-6b49f12d1474"
|
||
- name: name
|
||
in: query
|
||
description: Название
|
||
schema:
|
||
type: string
|
||
example: Tag 1
|
||
- name: entity_id
|
||
in: query
|
||
schema:
|
||
type: number
|
||
enum:
|
||
- 50
|
||
- 100
|
||
- 300
|
||
- 375
|
||
- 500
|
||
- 550
|
||
description: >
|
||
Entity ID - Идентификатор сущности. Можно передать несколько идентификаторов, разделенных запятыми.
|
||
* `50` - Category (Категории)
|
||
* `100` - Article (Новости/Страницы)
|
||
* `300` - LmsContent (Обучения)
|
||
* `375` - Book (Книги)
|
||
* `500` - WfWorkflow (Процессы)
|
||
* `550` - Training (Тренинги)
|
||
- name: root_id
|
||
in: query
|
||
description: >
|
||
Category Root ID - Тип каталога
|
||
* `1` - Каталог страниц
|
||
* `2` - Каталог обучения
|
||
* `4` - Каталог процессов
|
||
schema:
|
||
type: number
|
||
enum:
|
||
- 1
|
||
- 2
|
||
- 3
|
||
- name: category_id
|
||
in: query
|
||
description: Идентификатор категории каталога, с которой начать выбор тегов
|
||
schema:
|
||
type: string
|
||
format: uuid
|
||
example: "0b6a186a-95b8-4c89-8e69-6b49f12d1474"
|
||
- name: use_category_recursion
|
||
in: query
|
||
description: Если true - то теги будут выбраны для всех вложенных категорий, начиная с указанного Category_id, в ином случае будут показаны теги только для Category_id
|
||
schema:
|
||
type: boolean
|
||
format: true
|
||
- name: sort
|
||
description: Сортировка тегов
|
||
in: query
|
||
schema:
|
||
type: string
|
||
enum:
|
||
- name
|
||
- name: per-page
|
||
in: query
|
||
description: Сколько элементов возвращается на одной странице (по умолчанию 50).
|
||
schema:
|
||
type: string
|
||
- name: page
|
||
in: query
|
||
description: Текущая страница
|
||
schema:
|
||
type: string
|
||
responses:
|
||
200:
|
||
description: Timezone objects.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
data:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/tag'
|
||
_links:
|
||
$ref: '#/components/schemas/_links'
|
||
_meta:
|
||
$ref: '#/components/schemas/_meta'
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized.
|
||
403:
|
||
description: Unauthorized.
|
||
404:
|
||
description: Not found.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/tag/items:
|
||
get:
|
||
tags:
|
||
- tag
|
||
summary: Список тегов
|
||
description: |
|
||
Возвращает список тегов по указанным фильтрам.
|
||
|
||
Если передан один из параметров (root_id, category_id, use_category_recursion) то будут выбраны только те теги которые используются в элементах текущего каталога с проверкой прав на просмотр этих элементов для пользователя. Данный функционал работает с каталогами страниц, обучений и процессов.
|
||
operationId: /tag/items
|
||
parameters:
|
||
- name: id
|
||
in: query
|
||
description: Можно передать несколько id, разделенных запятыми.
|
||
schema:
|
||
type: string
|
||
format: uuid
|
||
example: "0b6a186a-95b8-4c89-8e69-6b49f12d1474"
|
||
- name: name
|
||
in: query
|
||
description: Название
|
||
schema:
|
||
type: string
|
||
example: Tag 1
|
||
- name: entity_id
|
||
in: query
|
||
schema:
|
||
type: number
|
||
enum:
|
||
- 50
|
||
- 100
|
||
- 300
|
||
- 375
|
||
- 500
|
||
- 550
|
||
description: >
|
||
Entity ID - Идентификатор сущности. Можно передать несколько идентификаторов, разделенных запятыми.
|
||
* `50` - Category (Категории)
|
||
* `100` - Article (Новости/Страницы)
|
||
* `300` - LmsContent (Обучения)
|
||
* `375` - Book (Книги)
|
||
* `500` - WfWorkflow (Процессы)
|
||
* `550` - Training (Тренинги)
|
||
- name: root_id
|
||
in: query
|
||
description: >
|
||
Category Root ID - Тип каталога
|
||
* `1` - Каталог страниц
|
||
* `2` - Каталог обучения
|
||
* `4` - Каталог процессов
|
||
schema:
|
||
type: number
|
||
enum:
|
||
- 1
|
||
- 2
|
||
- 3
|
||
- name: category_id
|
||
in: query
|
||
description: Идентификатор категории каталога, с которой начать выбор тегов
|
||
schema:
|
||
type: string
|
||
format: uuid
|
||
example: "0b6a186a-95b8-4c89-8e69-6b49f12d1474"
|
||
- name: use_category_recursion
|
||
in: query
|
||
description: Если true - то теги будут выбраны для всех вложенных категорий, начиная с указанного Category_id, в ином случае будут показаны теги только для Category_id
|
||
schema:
|
||
type: boolean
|
||
format: true
|
||
- name: sort
|
||
description: Сортировка тегов
|
||
in: query
|
||
schema:
|
||
type: string
|
||
enum:
|
||
- name
|
||
- name: per-page
|
||
in: query
|
||
description: Сколько элементов возвращается на одной странице (по умолчанию 50).
|
||
schema:
|
||
type: string
|
||
- name: page
|
||
in: query
|
||
description: Текущая страница
|
||
schema:
|
||
type: string
|
||
responses:
|
||
200:
|
||
description: Timezone objects.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
data:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/tag'
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized.
|
||
403:
|
||
description: Unauthorized.
|
||
404:
|
||
description: Not found.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/survey/index:
|
||
get:
|
||
tags:
|
||
- survey
|
||
summary: Доступные опросы
|
||
operationId: /survey/index
|
||
parameters:
|
||
- name: sort
|
||
description: Сортировка опросов
|
||
in: query
|
||
schema:
|
||
type: string
|
||
enum:
|
||
- name
|
||
- name: name
|
||
in: query
|
||
description: Название
|
||
schema:
|
||
type: string
|
||
- name: type_id
|
||
in: query
|
||
description: >
|
||
Тип опроса, можно перечислять через запятую
|
||
* `1` - Обычный
|
||
* `2` - ICSI
|
||
* `360` - ICSI
|
||
* `6` - Обратная связь
|
||
schema:
|
||
type: number
|
||
enum:
|
||
- 1
|
||
- 2
|
||
- 360
|
||
- 6
|
||
- name: survey_status_id
|
||
in: query
|
||
description: >
|
||
Статус опроса, можно перечислять через запятую
|
||
* `1` - Завершен
|
||
* `2` - Запущен
|
||
schema:
|
||
type: number
|
||
enum:
|
||
- 1
|
||
- 2
|
||
|
||
responses:
|
||
200:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
data:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/survey'
|
||
_links:
|
||
$ref: '#/components/schemas/_links'
|
||
_meta:
|
||
$ref: '#/components/schemas/_meta'
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized.
|
||
403:
|
||
description: Unauthorized.
|
||
404:
|
||
description: Not found.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/survey-assignment/index:
|
||
get:
|
||
tags:
|
||
- survey
|
||
summary: Назначенные опросы
|
||
operationId: /survey-assignment/index
|
||
parameters:
|
||
- name: sort
|
||
description: Сортировка назначений
|
||
in: query
|
||
schema:
|
||
type: string
|
||
enum:
|
||
- survey.name
|
||
- survey.available_date
|
||
- surveyTarget
|
||
- created_at
|
||
- finished_at
|
||
- started_at
|
||
- name: survey_name
|
||
in: query
|
||
description: Название опроса
|
||
schema:
|
||
type: string
|
||
- name: type_id
|
||
in: query
|
||
description: >
|
||
Тип назначения
|
||
* `1` - Вручную
|
||
* `2` - Самоназначение
|
||
schema:
|
||
type: number
|
||
enum:
|
||
- 1
|
||
- 3
|
||
- name: survey_type_id
|
||
in: query
|
||
description: >
|
||
Тип опроса, можно перечислять через запятую
|
||
* `1` - Обычный
|
||
* `2` - ICSI
|
||
* `360` - ICSI
|
||
* `6` - Обратная связь
|
||
schema:
|
||
type: string
|
||
enum:
|
||
- 1
|
||
- 2
|
||
- 360
|
||
- 6
|
||
- name: survey_assignment_status_id
|
||
in: query
|
||
description: >
|
||
Статус прохождения опроса, можно перечислять через запятую
|
||
* `1` - Завершен
|
||
* `2` - Не пройден"
|
||
* `3` - В процессе"
|
||
schema:
|
||
type: number
|
||
enum:
|
||
- 1
|
||
- 2
|
||
- 3
|
||
- name: survey_target_user_id
|
||
in: query
|
||
description: "Id пользователя на которого запущен опрос"
|
||
schema:
|
||
type: string
|
||
format: uuid
|
||
- name: allow
|
||
in: query
|
||
description: "Доступные для прохождения назначенные опросы"
|
||
schema:
|
||
type: boolean
|
||
format: integer
|
||
- name: is_finished
|
||
in: query
|
||
description: "Завершенные прохождения"
|
||
schema:
|
||
type: boolean
|
||
format: integer
|
||
responses:
|
||
200:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
data:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/surveyAssignment'
|
||
_links:
|
||
$ref: '#/components/schemas/_links'
|
||
_meta:
|
||
$ref: '#/components/schemas/_meta'
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized.
|
||
403:
|
||
description: Unauthorized.
|
||
404:
|
||
description: Not found.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/survey-assignment/set-anonymous:
|
||
post:
|
||
tags:
|
||
- survey
|
||
summary: Смена анонимности в назначенном опросе. Можно менять если в survey.is_choice_anonymous = true
|
||
operationId: /survey-assignment/set-anonymous
|
||
parameters:
|
||
- name: id
|
||
in: query
|
||
description: id назначения
|
||
schema:
|
||
type: string
|
||
format: uuid
|
||
requestBody:
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: boolean
|
||
responses:
|
||
200:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
success:
|
||
description: Result status.
|
||
type: boolean
|
||
example: true
|
||
message:
|
||
type: object
|
||
default: null
|
||
properties:
|
||
type: string
|
||
text: string
|
||
errors:
|
||
description: Array of validation errors.
|
||
type: array
|
||
default: null
|
||
data:
|
||
type: object
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized.
|
||
403:
|
||
description: Forbidden.
|
||
404:
|
||
description: Not found.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/survey-report/360:
|
||
get:
|
||
tags:
|
||
- survey
|
||
summary: Список отчетов 360
|
||
operationId: /survey-report/360
|
||
responses:
|
||
200:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
data:
|
||
type: array
|
||
items:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
format: uuid
|
||
cabinetReport360Url:
|
||
type: string
|
||
description: "Ссылка для просмотра отчета"
|
||
survey:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
format: uuid
|
||
name:
|
||
type: string
|
||
default: "Main survey"
|
||
description: "Название"
|
||
available_date:
|
||
type: string
|
||
format: date_time
|
||
description: "Дата доступа"
|
||
deadline_at:
|
||
type: string
|
||
format: date_time
|
||
description: "Дата дедлайна"
|
||
_links:
|
||
$ref: '#/components/schemas/_links'
|
||
_meta:
|
||
$ref: '#/components/schemas/_meta'
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized.
|
||
403:
|
||
description: Unauthorized.
|
||
404:
|
||
description: Not found.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/instruction/index:
|
||
get:
|
||
tags:
|
||
- Instruction
|
||
summary:
|
||
Ссылки на инструкции
|
||
parameters:
|
||
- name: langId
|
||
description: "Id языка локализации. При отсутствии параметра будет использоваться langId пользователя"
|
||
in: query
|
||
schema:
|
||
type: string
|
||
responses:
|
||
200:
|
||
description: "Ключи иструкций со ссылками"
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
data:
|
||
type: array
|
||
items:
|
||
type: object
|
||
properties:
|
||
key:
|
||
type: string
|
||
description: "Ключ иструкции"
|
||
value:
|
||
type: string
|
||
format: link
|
||
description: "Ссылка на инструкцию"
|
||
_links:
|
||
$ref: '#/components/schemas/_links'
|
||
_meta:
|
||
$ref: '#/components/schemas/_meta'
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized request.
|
||
403:
|
||
description: Unauthorized request.
|
||
|
||
/instruction/view/{key}:
|
||
get:
|
||
tags:
|
||
- Instruction
|
||
summary:
|
||
Ссылка на иструкцию по ключу
|
||
parameters:
|
||
- name: key
|
||
description: "Ключ ссылки на инструкцию. В большинстве случаев соответствует пути в web-версии, напр /core/user/view -> CoreUserView"
|
||
in: path
|
||
schema:
|
||
type: string
|
||
responses:
|
||
200:
|
||
description: Ключи иструкции со ссылкой
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
key:
|
||
type: string
|
||
description: "Ключ иструкции"
|
||
value:
|
||
type: string
|
||
format: link
|
||
description: "Ссылка на инструкцию"
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized request.
|
||
403:
|
||
description: Unauthorized request.
|
||
|
||
/goal/my:
|
||
get:
|
||
tags:
|
||
- goal
|
||
summary: Список целей пользователя
|
||
parameters:
|
||
- $ref: '#/components/parameters/title'
|
||
- $ref: '#/components/parameters/goalIntervalTypeId'
|
||
- $ref: '#/components/parameters/goalStatusId'
|
||
- $ref: '#/components/parameters/goalDate'
|
||
- $ref: '#/components/parameters/goalMonth'
|
||
- $ref: '#/components/parameters/goalQuarter'
|
||
- $ref: '#/components/parameters/goalYear'
|
||
- $ref: '#/components/parameters/noRemoved'
|
||
- $ref: '#/components/parameters/noDraft'
|
||
- $ref: '#/components/parameters/goalParentId'
|
||
responses:
|
||
$ref: '#/components/responses/GoalActionResponse'
|
||
|
||
/goal/supervise:
|
||
get:
|
||
tags:
|
||
- goal
|
||
summary: Курируемые цели пользователя
|
||
parameters:
|
||
- $ref: '#/components/parameters/title'
|
||
- $ref: '#/components/parameters/goalStatusId'
|
||
- $ref: '#/components/parameters/goalIntervalTypeId'
|
||
- $ref: '#/components/parameters/goalDate'
|
||
- $ref: '#/components/parameters/goalMonth'
|
||
- $ref: '#/components/parameters/goalQuarter'
|
||
- $ref: '#/components/parameters/goalYear'
|
||
- $ref: '#/components/parameters/goalYear'
|
||
- $ref: '#/components/parameters/noRemoved'
|
||
- $ref: '#/components/parameters/noDraft'
|
||
- $ref: '#/components/parameters/goalParentId'
|
||
responses:
|
||
$ref: '#/components/responses/GoalActionResponse'
|
||
|
||
/goal/archive:
|
||
get:
|
||
tags:
|
||
- goal
|
||
summary: Архив целей пользователя
|
||
parameters:
|
||
- $ref: '#/components/parameters/title'
|
||
- $ref: '#/components/parameters/goalStatusId'
|
||
- $ref: '#/components/parameters/goalDate'
|
||
- $ref: '#/components/parameters/goalMonth'
|
||
- $ref: '#/components/parameters/goalQuarter'
|
||
- $ref: '#/components/parameters/goalYear'
|
||
- $ref: '#/components/parameters/noRemoved'
|
||
- $ref: '#/components/parameters/noDraft'
|
||
- $ref: '#/components/parameters/goalParentId'
|
||
- $ref: '#/components/parameters/goalIntervalTypeId'
|
||
responses:
|
||
$ref: '#/components/responses/GoalActionResponse'
|
||
|
||
/goal/view:
|
||
get:
|
||
tags:
|
||
- goal
|
||
summary: Просмотр цели
|
||
parameters:
|
||
- name: id
|
||
in: query
|
||
schema:
|
||
type: string
|
||
responses:
|
||
200:
|
||
description: Список целей
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
data:
|
||
type: object
|
||
allOf:
|
||
- $ref: '#/components/schemas/GoalItem'
|
||
- type: object
|
||
properties:
|
||
content:
|
||
type: string
|
||
goalLog:
|
||
type: object
|
||
_links:
|
||
$ref: '#/components/schemas/_links'
|
||
_meta:
|
||
$ref: '#/components/schemas/_meta'
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized.
|
||
403:
|
||
description: Unauthorized.
|
||
404:
|
||
description: Not found.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/goal/edit:
|
||
post:
|
||
tags:
|
||
- goal
|
||
summary: Создание/редактирование цели
|
||
operationId: /goal/edit
|
||
parameters:
|
||
- name: id
|
||
in: query
|
||
description: Goal ID.
|
||
schema:
|
||
type: string
|
||
required: false
|
||
example: edee4e11-dab5-4aac-93ac-43c379aab6b2
|
||
requestBody:
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/GoalItem'
|
||
responses:
|
||
200:
|
||
description: Goal object.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/GoalItem'
|
||
400:
|
||
description: Bad Request.
|
||
401:
|
||
description: Unauthorized.
|
||
403:
|
||
description: Unauthorized.
|
||
404:
|
||
description: Feedback not found.
|
||
500:
|
||
description: Server Error.
|
||
|
||
/goal/submit:
|
||
post:
|
||
tags:
|
||
- goal
|
||
summary: Отправить цели на согласование
|
||
operationId: /goal/submit
|
||
description: Можно передавать массив целей, обязательным полем является только id. Остальные поля, если указаны, будут использованы для обновления целей перед отправкой на согласование.
|
||
requestBody:
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
items:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/GoalItem'
|
||
responses:
|
||
$ref: '#/components/responses/GoalActionResponse'
|
||
|
||
/goal/approve:
|
||
post:
|
||
tags:
|
||
- goal
|
||
summary: Одобрить цели
|
||
description: Можно передавать массив целей, обязательным полем является только id. Остальные поля, если указаны, будут использованы для обновления целей перед одобрением цели куратором.
|
||
operationId: /goal/approve
|
||
requestBody:
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
items:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/GoalItem'
|
||
responses:
|
||
$ref: '#/components/responses/GoalActionResponse'
|
||
|
||
/goal/reject:
|
||
post:
|
||
tags:
|
||
- goal
|
||
summary: Отклонить цели
|
||
description: Можно передавать массив целей, обязательным полем является только id. Остальные поля, если указаны, будут использованы для обновления целей перед отклонением цели.
|
||
operationId: /goal/reject
|
||
requestBody:
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
items:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/GoalItem'
|
||
responses:
|
||
$ref: '#/components/responses/GoalActionResponse'
|
||
|
||
/goal/finish:
|
||
post:
|
||
tags:
|
||
- goal
|
||
summary: Завершить цели
|
||
description: Можно передавать массив целей, обязательным полем является только id. Остальные поля, если указаны, будут использованы для обновления целей перед завершением.
|
||
operationId: /goal/finish
|
||
requestBody:
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
items:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/GoalItem'
|
||
responses:
|
||
$ref: '#/components/responses/GoalActionResponse'
|
||
|
||
/goal/remove:
|
||
post:
|
||
tags:
|
||
- goal
|
||
summary: Удалить цели
|
||
operationId: /goal/remove
|
||
requestBody:
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: array
|
||
items:
|
||
type: string
|
||
format: uuid
|
||
responses:
|
||
$ref: '#/components/responses/GoalActionResponse'
|
||
|
||
/goal/bind:
|
||
post:
|
||
tags:
|
||
- goal
|
||
summary: Привязать цели
|
||
operationId: /goal/bind
|
||
parameters:
|
||
- name: id
|
||
in: query
|
||
description: ID родительской цели
|
||
schema:
|
||
type: string
|
||
required: false
|
||
example: edee4e11-dab5-4aac-93ac-43c379aab6b2
|
||
requestBody:
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: array
|
||
items:
|
||
type: string
|
||
format: uuid
|
||
description: Цели которые необходимо привязать
|
||
responses:
|
||
$ref: '#/components/responses/GoalActionResponse'
|
||
|
||
/goal/unbind:
|
||
post:
|
||
tags:
|
||
- goal
|
||
summary: Отвязать цели
|
||
description: Необходимо передавать id дочерних целей
|
||
operationId: /goal/unbind
|
||
requestBody:
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: array
|
||
items:
|
||
type: string
|
||
format: uuid
|
||
responses:
|
||
$ref: '#/components/responses/GoalActionResponse'
|
||
|
||
/goal-report/users:
|
||
post:
|
||
tags:
|
||
- goalReport
|
||
summary: Отчет по сотрудникам
|
||
operationId: goalReportUsers
|
||
requestBody:
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
department_id:
|
||
description: ID отделов (может быть несколько)
|
||
type: array
|
||
items:
|
||
type: string
|
||
goal_interval_type_id:
|
||
$ref: '#/components/parameters/goalIntervalTypeId'
|
||
period_goal_date:
|
||
type: array
|
||
items:
|
||
type: string
|
||
format: date
|
||
minItems: 2
|
||
maxItems: 2
|
||
description: Массив из двух дат, начала и конца периода
|
||
searchInAllSubDepartments:
|
||
type: integer
|
||
enum: [ 0, 1 ]
|
||
description: Поиск по всем вложенным отделам
|
||
user_id:
|
||
type: array
|
||
items:
|
||
type: string
|
||
format: uuid
|
||
description: Сотрудник, можно список через запятую
|
||
type:
|
||
type: string
|
||
enum: [ result, rating ]
|
||
description: Переод отчета
|
||
period:
|
||
type: string
|
||
enum: [ month, quarter, half_year, year ]
|
||
description: Переод отчета
|
||
responses:
|
||
200:
|
||
description: Успешный ответ с отчётом по сотрудникам
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
params:
|
||
type: object
|
||
description: Параметры отчета
|
||
properties:
|
||
years:
|
||
type: array
|
||
items:
|
||
type: integer
|
||
description: Список лет, по которым строится отчет
|
||
period:
|
||
type: string
|
||
description: Периодичность отчета (например, "month")
|
||
periods:
|
||
type: object
|
||
description: Сопоставление номера периода с названием (локализованным)
|
||
additionalProperties:
|
||
type: string
|
||
data:
|
||
type: array
|
||
description: Список сотрудников с отчетными данными
|
||
items:
|
||
type: object
|
||
properties:
|
||
user:
|
||
type: object
|
||
description: Информация о сотруднике
|
||
properties:
|
||
id:
|
||
type: string
|
||
format: uuid
|
||
description: Идентификатор сотрудника
|
||
name:
|
||
type: string
|
||
description: Полное имя сотрудника
|
||
faceUrl:
|
||
type: string
|
||
years:
|
||
type: object
|
||
description: Данные по годам
|
||
additionalProperties:
|
||
type: object
|
||
properties:
|
||
periods:
|
||
type: object
|
||
description: Отчетные данные по периодам внутри года
|
||
additionalProperties:
|
||
type: object
|
||
properties:
|
||
scaled:
|
||
type: string
|
||
scaledString:
|
||
type: string
|
||
count:
|
||
type: integer
|
||
description: Количество целей
|
||
_meta:
|
||
$ref: '#/components/schemas/_meta'
|
||
422:
|
||
description: Bad Request
|
||
403:
|
||
description: Unauthorized
|
||
500:
|
||
description: Server Error
|
||
|
||
/goal-report/tree:
|
||
get:
|
||
tags:
|
||
- goalReport
|
||
summary: Отчет по целям "Дерево целей"
|
||
operationId: goalReportTree
|
||
parameters:
|
||
- $ref: '#/components/parameters/goalStatusId'
|
||
- $ref: '#/components/parameters/goalIntervalTypeId'
|
||
- $ref: '#/components/parameters/goalYear'
|
||
- $ref: '#/components/parameters/goalMonth'
|
||
- $ref: '#/components/parameters/goalQuarter'
|
||
- $ref: '#/components/parameters/title'
|
||
- name: user_id
|
||
in: query
|
||
schema:
|
||
type: string
|
||
example: 9f7063d1-959e-4c32-b186-313576375739
|
||
description: ID сотрудников "Чья цель", можно перечислять через запятую
|
||
- name: supervisor_id
|
||
in: query
|
||
schema:
|
||
type: string
|
||
example: 9f7063d1-959e-4c32-b186-313576375739
|
||
description: ID сотрудников "Куратор", можно перечислять через запятую
|
||
responses:
|
||
200:
|
||
description: Описание
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/responses/GoalActionResponse'
|
||
422:
|
||
description: Bad Request
|
||
403:
|
||
description: Unauthorized
|
||
500:
|
||
description: Server Error
|
||
|
||
/enum/document-type:
|
||
get:
|
||
tags:
|
||
- kedo
|
||
summary: Тип документа
|
||
operationId: /enum/document-type
|
||
responses:
|
||
200:
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/typeIdString'
|
||
401:
|
||
description: Unauthorized
|
||
403:
|
||
description: Unauthorized
|
||
500:
|
||
description: Server Error
|
||
|
||
/enum/sign-request-slot-type:
|
||
get:
|
||
tags:
|
||
- kedo
|
||
summary: Тип слота
|
||
operationId: /enum/sign-request-slot-type
|
||
responses:
|
||
200:
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/typeIdInteger'
|
||
401:
|
||
description: Unauthorized
|
||
403:
|
||
description: Unauthorized
|
||
500:
|
||
description: Server Error
|
||
|
||
/enum/sign-request-status:
|
||
get:
|
||
tags:
|
||
- kedo
|
||
summary: Статус запроса на подпись документа
|
||
operationId: /enum/sign-request-status
|
||
responses:
|
||
200:
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/status'
|
||
401:
|
||
description: Unauthorized
|
||
403:
|
||
description: Unauthorized
|
||
500:
|
||
description: Server Error
|
||
|
||
/document/index:
|
||
get:
|
||
tags:
|
||
- kedo
|
||
summary: Список запросов на подпись документа для текущего пользователя
|
||
operationId: /document/index
|
||
parameters:
|
||
- name: id
|
||
in: query
|
||
description: Идентификатор запроса на подпись. Можно передать несколько идентификаторов разделенные запятой.
|
||
schema:
|
||
type: string
|
||
format: uuid
|
||
example: edee4e11-dab5-4aac-93ac-43c379aab6b2
|
||
- name: created_at
|
||
in: query
|
||
description: Дата создания
|
||
schema:
|
||
type: string
|
||
example: 2025-01-01|2025-01-01
|
||
- name: deadline_at
|
||
in: query
|
||
description: Дата дедлайна запроса на подпись
|
||
schema:
|
||
type: string
|
||
example: 2025-01-01|2025-01-01
|
||
- name: cancelled_at
|
||
in: query
|
||
description: Дата отмены запроса на подпись
|
||
schema:
|
||
type: string
|
||
example: 2025-01-01|2025-01-01
|
||
- name: sign_request_status_id
|
||
in: query
|
||
description: Статус запроса на подпись. Можно передать несколько идентификаторов разделенные запятой.
|
||
schema:
|
||
type: string
|
||
example: '1'
|
||
- name: org_employment_file_type_id
|
||
in: query
|
||
description: Тип документа. Можно передать несколько идентификаторов разделенные запятой.
|
||
schema:
|
||
type: string
|
||
example: example
|
||
responses:
|
||
200:
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
data:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/kedoDocumentIndex'
|
||
_links:
|
||
$ref: '#/components/schemas/_links'
|
||
_meta:
|
||
$ref: '#/components/schemas/_meta'
|
||
400:
|
||
description: Bad Request
|
||
401:
|
||
description: Unauthorized
|
||
403:
|
||
description: Unauthorized
|
||
500:
|
||
description: Server Error
|
||
|
||
/document/view:
|
||
get:
|
||
tags:
|
||
- kedo
|
||
summary: Запрос на подпись документа
|
||
operationId: /document/view
|
||
parameters:
|
||
- name: id
|
||
in: query
|
||
description: Идентификатор запроса на подпись
|
||
schema:
|
||
type: string
|
||
required: true
|
||
example: edee4e11-dab5-4aac-93ac-43c379aab6b2
|
||
responses:
|
||
200:
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/kedoDocumentView'
|
||
400:
|
||
description: Bad Request
|
||
401:
|
||
description: Unauthorized
|
||
403:
|
||
description: Unauthorized
|
||
404:
|
||
description: Not found
|
||
500:
|
||
description: Server Error
|
||
|
||
/sign-request/create:
|
||
post:
|
||
tags:
|
||
- kedo
|
||
summary: Создание запроса на подпись документа
|
||
operationId: /sign-request/create
|
||
requestBody:
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/kedoSignRequestCreateRequestBody'
|
||
responses:
|
||
200:
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/kedoSignRequestCreateResponse'
|
||
401:
|
||
description: Unauthorized
|
||
500:
|
||
description: Server Error
|
||
|
||
/sign-request/cancel:
|
||
post:
|
||
tags:
|
||
- kedo
|
||
summary: Отмена запроса на подпись документа
|
||
operationId: /sign-request/cancel
|
||
requestBody:
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/kedoSignRequestCancelRequestBody'
|
||
responses:
|
||
200:
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/kedoSignRequestCancelResponse'
|
||
401:
|
||
description: Unauthorized
|
||
403:
|
||
description: Forbidden
|
||
404:
|
||
description: Not found
|
||
500:
|
||
description: Server Error
|
||
|
||
/instance/index:
|
||
get:
|
||
tags:
|
||
- kedo
|
||
summary: Список экземпляров на подпись документа
|
||
operationId: /instance/index
|
||
parameters:
|
||
- name: kedo_document_id
|
||
in: query
|
||
description: Идентификатор запроса на подпись
|
||
required: true
|
||
schema:
|
||
type: string
|
||
format: uuid
|
||
example: edee4e11-dab5-4aac-93ac-43c379aab6b2
|
||
responses:
|
||
200:
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
data:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/kedoInstanceIndex'
|
||
_links:
|
||
$ref: '#/components/schemas/_links'
|
||
_meta:
|
||
$ref: '#/components/schemas/_meta'
|
||
400:
|
||
description: Bad Request
|
||
401:
|
||
description: Unauthorized
|
||
403:
|
||
description: Forbidden
|
||
500:
|
||
description: Server Error
|
||
|
||
/instance/view:
|
||
get:
|
||
tags:
|
||
- kedo
|
||
summary: Просмотр экземпляра на подпись документа
|
||
operationId: /instance/view
|
||
parameters:
|
||
- name: id
|
||
in: query
|
||
description: Идентификатор экземпляра
|
||
required: true
|
||
schema:
|
||
type: string
|
||
format: uuid
|
||
example: edee4e11-dab5-4aac-93ac-43c379aab6b2
|
||
responses:
|
||
200:
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
data:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/kedoInstanceView'
|
||
400:
|
||
description: Bad Request
|
||
401:
|
||
description: Unauthorized
|
||
403:
|
||
description: Forbidden
|
||
404:
|
||
description: Not found
|
||
500:
|
||
description: Server Error
|
||
|
||
/instance/sign:
|
||
post:
|
||
tags:
|
||
- kedo
|
||
summary: Подписание документа
|
||
operationId: /instance/sign
|
||
requestBody:
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/kedoInstanceSignRequestBody'
|
||
responses:
|
||
200:
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/kedoInstanceSignResponse'
|
||
401:
|
||
description: Unauthorized
|
||
403:
|
||
description: Forbidden
|
||
404:
|
||
description: Not found
|
||
500:
|
||
description: Server Error
|
||
|
||
/instance/reject:
|
||
post:
|
||
tags:
|
||
- kedo
|
||
summary: Отклонить подписание документа
|
||
operationId: /instance/reject
|
||
requestBody:
|
||
required: true
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/kedoInstanceRejectRequestBody'
|
||
responses:
|
||
200:
|
||
description: OK
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/kedoInstanceRejectResponse'
|
||
401:
|
||
description: Unauthorized
|
||
403:
|
||
description: Forbidden
|
||
404:
|
||
description: Not found
|
||
500:
|
||
description: Server Error
|
||
|
||
/instance/download-sign:
|
||
get:
|
||
tags:
|
||
- kedo
|
||
summary: Скачать подпись *.p7s
|
||
operationId: /instance/download-sign
|
||
parameters:
|
||
- name: id
|
||
in: query
|
||
description: Идентификатор экземпляра
|
||
required: true
|
||
schema:
|
||
type: string
|
||
format: uuid
|
||
example: edee4e11-dab5-4aac-93ac-43c379aab6b2
|
||
responses:
|
||
200:
|
||
description: OK
|
||
content:
|
||
application/pkcs7-signature:
|
||
schema:
|
||
type: string
|
||
format: binary
|
||
400:
|
||
description: Bad Request
|
||
401:
|
||
description: Unauthorized
|
||
403:
|
||
description: Forbidden
|
||
404:
|
||
description: Not found
|
||
500:
|
||
description: Server Error
|
||
|
||
/instance/stamp:
|
||
get:
|
||
tags:
|
||
- kedo
|
||
summary: Скачать штамп подписи
|
||
operationId: /instance/stamp
|
||
parameters:
|
||
- name: id
|
||
in: query
|
||
description: Идентификатор экземпляра
|
||
required: true
|
||
schema:
|
||
type: string
|
||
format: uuid
|
||
example: edee4e11-dab5-4aac-93ac-43c379aab6b2
|
||
responses:
|
||
200:
|
||
description: OK
|
||
content:
|
||
image/png:
|
||
schema:
|
||
type: string
|
||
format: binary
|
||
400:
|
||
description: Bad Request
|
||
401:
|
||
description: Unauthorized
|
||
404:
|
||
description: Not found
|
||
500:
|
||
description: Server Error
|
||
|
||
components:
|
||
securitySchemes:
|
||
SessionAuth:
|
||
type: apiKey
|
||
in: header
|
||
name: x-hrbox-session-id
|
||
description: "Авторизация с использованием сессии. Требуемые заголовки: x-hrbox-tenant-id, x-hrbox-device-id, x-hrbox-session-id, x-hrbox-session-code, x-hrbox-embed."
|
||
ApiKeyAuth:
|
||
type: apiKey
|
||
in: header
|
||
name: X-Hrbox-Client-Id
|
||
description: "Авторизация с использованием API-ключа. Требуемые заголовки: Content-Type, X-Hrbox-Client-Id, X-Hrbox-Client-Secret."
|
||
schemas:
|
||
httpJsonResponse:
|
||
type: object
|
||
properties:
|
||
success:
|
||
description: Result status.
|
||
type: boolean
|
||
example: true
|
||
data:
|
||
type: object
|
||
description: Response data
|
||
errors:
|
||
type: array
|
||
items:
|
||
type: string
|
||
description: Array of validation errors
|
||
message:
|
||
description: Message displayed to user (localized).
|
||
type: array
|
||
nullable: true
|
||
example: ''
|
||
|
||
dataProviderResponse:
|
||
type: object
|
||
properties:
|
||
data:
|
||
type: object
|
||
description: Response data
|
||
_links:
|
||
$ref: '#/components/schemas/_links'
|
||
_meta:
|
||
$ref: '#/components/schemas/_meta'
|
||
|
||
_meta:
|
||
type: object
|
||
properties:
|
||
totalCount:
|
||
description: Total rows count in database.
|
||
type: integer
|
||
example: 1
|
||
pageCount:
|
||
description: How much pages there are with current perPage value.
|
||
type: integer
|
||
example: 1
|
||
currentPage:
|
||
description: Current page number.
|
||
type: integer
|
||
default: 1
|
||
perPage:
|
||
description: Rows per page.
|
||
type: integer
|
||
default: 10
|
||
|
||
_links:
|
||
type: object
|
||
properties:
|
||
self:
|
||
description: Link to current page. Always available, even if there is no data.
|
||
type: object
|
||
properties:
|
||
href:
|
||
type: string
|
||
first:
|
||
description: Link to first page. Available when data is available.
|
||
type: object
|
||
properties:
|
||
href:
|
||
type: string
|
||
last:
|
||
description: Link to last page. Available when data is available.
|
||
type: object
|
||
properties:
|
||
href:
|
||
type: string
|
||
next:
|
||
description: Link to next page. Available when there is more than one page of data.
|
||
type: object
|
||
properties:
|
||
href:
|
||
type: string
|
||
|
||
_periodUrls:
|
||
type: object
|
||
properties:
|
||
currentDate:
|
||
description: Link to current period.
|
||
type: object
|
||
properties:
|
||
href:
|
||
type: string
|
||
nextDate:
|
||
description: Link to next period.
|
||
type: object
|
||
properties:
|
||
href:
|
||
type: string
|
||
prevDate:
|
||
description: Link to prev period.
|
||
type: object
|
||
properties:
|
||
href:
|
||
type: string
|
||
|
||
currentPeriod:
|
||
type: string
|
||
description: Выбранный период дат в текстовом формате, с учётом локализации
|
||
example: "07.04.25 - 13.04.25"
|
||
|
||
WorkflowCategory:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
example: 5a0c5bb0-200a-4310-a273-ff7f6dc82491
|
||
name:
|
||
type: string
|
||
example: Тест
|
||
brief:
|
||
type: string
|
||
nullable: true
|
||
example: null
|
||
imageUrl:
|
||
type: string
|
||
example: http://hr.lh/img/noarticle.png
|
||
Workflow:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
example: e0a0c30f-2da0-450b-9522-5a4d81f222f0
|
||
name:
|
||
type: string
|
||
example: Новый процесс
|
||
brief:
|
||
type: string
|
||
example: ""
|
||
imageUrl:
|
||
type: string
|
||
example: http://hr.lh/img/nophoto.png
|
||
feedbackTotalScore:
|
||
type: number
|
||
example: 0
|
||
feedbackTotalCount:
|
||
type: number
|
||
example: 0
|
||
WorkflowField:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
example: f1e2972e-4655-4f93-bb54-733df3ddbc83
|
||
type:
|
||
type: string
|
||
example: text
|
||
name:
|
||
type: string
|
||
example: Текст
|
||
required:
|
||
type: boolean
|
||
example: true
|
||
values:
|
||
type: array
|
||
items:
|
||
type: string
|
||
nullable: true
|
||
defaultValue:
|
||
type: string
|
||
nullable: true
|
||
example: null
|
||
|
||
arrayOfIds:
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Array of IDs.
|
||
type: array
|
||
items:
|
||
type: string
|
||
example:
|
||
- '53f2d03c-303a-4a3c-b57f-f7fb62fee538'
|
||
- '42862a16-affa-4ba5-86c5-61376f46d695'
|
||
|
||
typeIdInteger:
|
||
description: Types with integer ID
|
||
type: array
|
||
items:
|
||
description: Types list
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Type ID
|
||
type: integer
|
||
example: 1
|
||
name:
|
||
description: Type name (localized)
|
||
type: string
|
||
example: Type name
|
||
|
||
typeIdString:
|
||
description: Types with string ID
|
||
type: array
|
||
items:
|
||
description: Types list
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Type ID
|
||
type: string
|
||
example: example
|
||
name:
|
||
description: Type name (localized)
|
||
type: string
|
||
example: Type name
|
||
|
||
status:
|
||
description: Status
|
||
type: array
|
||
items:
|
||
description: Statuses list
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Status ID
|
||
type: integer
|
||
example: 1
|
||
name:
|
||
description: Status name (localized)
|
||
type: string
|
||
example: Status name
|
||
|
||
userInfo:
|
||
description: User info
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: User ID
|
||
type: string
|
||
format: uuid
|
||
example: a91fe4d9-b486-4e94-9114-18589aad7c7e
|
||
name:
|
||
description: User's full name
|
||
type: string
|
||
example: FirstName LastName
|
||
iconUrl:
|
||
description: User profile face image URL
|
||
type: string
|
||
example: https://hrenot.hrbox.io/file/user-face/e2668a74-d171-4d47-b68f-9eb7e7d4e120/300.jpg
|
||
|
||
fileObject:
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: File ID
|
||
type: string
|
||
format: uuid
|
||
example: 96cf98ed-2762-4f6b-9a5b-3eca76c56477
|
||
url:
|
||
description: File URL
|
||
type: string
|
||
example: https://hrenot.hrbox.io/file/open/96cf98ed-2762-4f6b-9a5b-3eca76c56477.jpg
|
||
file_ype:
|
||
description: File type
|
||
type: string
|
||
enum:
|
||
- image
|
||
- video
|
||
- document
|
||
- archive
|
||
- other
|
||
- encrypted
|
||
example: image
|
||
ext:
|
||
description: File extension
|
||
type: string
|
||
example: jpg
|
||
name:
|
||
description: File name
|
||
type: string
|
||
example: image.jpg
|
||
|
||
file:
|
||
description: Attached file
|
||
$ref: '#/components/schemas/fileObject'
|
||
|
||
files:
|
||
description: Attached files
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/fileObject'
|
||
|
||
responseObject:
|
||
type: object
|
||
properties:
|
||
success:
|
||
description: Result status
|
||
type: boolean
|
||
example: true
|
||
message:
|
||
description: Message displayed to user (localized)
|
||
type: string
|
||
default: null
|
||
example: Expamle text
|
||
errors:
|
||
description: Array of validation errors
|
||
type: array
|
||
default: null
|
||
data:
|
||
description: Model data
|
||
type: object
|
||
default: null
|
||
|
||
|
||
accountSecret:
|
||
type: object
|
||
properties:
|
||
userId:
|
||
type: string
|
||
format: uuid
|
||
secret:
|
||
type: string
|
||
format: uuid
|
||
tenantId:
|
||
type: integer
|
||
format: int64
|
||
default: 101
|
||
xml:
|
||
name: accountSecret
|
||
|
||
tenantInfo:
|
||
type: object
|
||
properties:
|
||
tenantId:
|
||
type: integer
|
||
format: int64
|
||
example: 2
|
||
tenantName:
|
||
type: string
|
||
example: HRBOX demo
|
||
supportEmail:
|
||
type: string
|
||
example: help@hrbox.io
|
||
domain:
|
||
type: string
|
||
example: demo.hrbox.io
|
||
endpoint:
|
||
type: string
|
||
example: https://demo.hrbox.io/api/v2
|
||
authAdditional:
|
||
description: Дополнительная авторизация (пин/биометрия) для мобильного приложения
|
||
type: boolean
|
||
example: true
|
||
primaryColor:
|
||
type: string
|
||
example: "#08D8D2"
|
||
brandColor:
|
||
type: string
|
||
example: "#FF0000"
|
||
logoUrl:
|
||
type: string
|
||
example: https://demo.hrbox.io/file/resize/600x0/f2a84060-d386-4c5f-9290-e3af1ede6334.png
|
||
logoSqUrl:
|
||
type: string
|
||
example: https://demo.hrbox.io/file/resize/60x60/f9b0986b-5bd6-4923-8242-a810a20e7918.png
|
||
style:
|
||
type: object
|
||
properties:
|
||
colorPrimary:
|
||
description: Основной цвет
|
||
type: string
|
||
example: "#08D8D2"
|
||
colorBrand:
|
||
description: Цвет шапки
|
||
type: string
|
||
example: "#FFFFFF"
|
||
colorBrand2:
|
||
description: Цвет меню
|
||
type: string
|
||
example: "#08D8D2"
|
||
colorAccent:
|
||
description: Акцент
|
||
type: string
|
||
example: "#FFDD5C"
|
||
colorBrandText:
|
||
description: Цвет текста шапки
|
||
type: string
|
||
example: "#151B30"
|
||
colorBrand2Text:
|
||
description: Цвет текста меню
|
||
type: string
|
||
example: "#FFFFFF"
|
||
colorAccentText:
|
||
description: Текст на акценте
|
||
type: string
|
||
example: "#FFFFFF"
|
||
logoOnLoginId:
|
||
type: string
|
||
example:
|
||
logoId:
|
||
type: string
|
||
example: f2a84060-d386-4c5f-9290-e3af1ede6334.png
|
||
logoSquareId:
|
||
type: string
|
||
example: f9b0986b-5bd6-4923-8242-a810a20e7918.png
|
||
imagePlaceholderId:
|
||
type: string
|
||
example: 61e7ef28-f8ba-4c23-bc7c-80a0a792c10e.png
|
||
language:
|
||
type: string
|
||
example: ru
|
||
timezone:
|
||
type: string
|
||
example: Europe/Moscow
|
||
modules:
|
||
type: object
|
||
properties:
|
||
currency:
|
||
$ref: '#/components/schemas/tenantInfoModuleCurrency'
|
||
userStatus:
|
||
$ref: '#/components/schemas/tenantInfoModuleUserStatus'
|
||
idea:
|
||
$ref: '#/components/schemas/tenantInfoModuleIdea'
|
||
shop:
|
||
$ref: '#/components/schemas/tenantInfoModuleShop'
|
||
xml:
|
||
name: tenantInfo
|
||
|
||
userProfile:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
format: uuid
|
||
name:
|
||
type: string
|
||
default: "Chintan Rana"
|
||
first_name:
|
||
type: string
|
||
default: "Chintan"
|
||
last_name:
|
||
type: string
|
||
default: "Rana"
|
||
middle_name:
|
||
type: string
|
||
default: null
|
||
faceUrl:
|
||
type: string
|
||
default: "https://pentest.hrbox.io/file/user-face/46f838be-1b51-43ea-988e-fce2f73f6302/300.jpg"
|
||
iconUrl:
|
||
type: string
|
||
default: "https://pentest.hrbox.io/file/user-face/46f838be-1b51-43ea-988e-fce2f73f6302/60.jpg"
|
||
reg_status_id:
|
||
type: integer
|
||
default: 3
|
||
gender_id:
|
||
type: integer
|
||
default: 1
|
||
country_id:
|
||
type: string
|
||
default: "ru"
|
||
timezone_id:
|
||
type: string
|
||
default: "Europe/Moscow"
|
||
city_id:
|
||
type: string
|
||
default: "BBDAEADC-FCCA-ABCB-AEFE-FBDCEAFAAEDB"
|
||
isBoss:
|
||
type: boolean
|
||
default: false
|
||
is_external:
|
||
type: boolean
|
||
default: false
|
||
birthdayDate:
|
||
type: string
|
||
default: "29 of May"
|
||
cityName:
|
||
type: string
|
||
default: "Moscow"
|
||
region:
|
||
type: string
|
||
default: "Arizona"
|
||
office:
|
||
type: string
|
||
default: "106a"
|
||
description: Office number
|
||
employment:
|
||
$ref: '#/components/schemas/employment'
|
||
employments:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/employment'
|
||
emails:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/contact'
|
||
phones:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/contact'
|
||
messengers:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/contact'
|
||
achievements:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/achievement'
|
||
userDuties:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/userDuty'
|
||
userGroupsVisible:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/userGroup'
|
||
|
||
structureItem:
|
||
type: object
|
||
properties:
|
||
type:
|
||
type: string
|
||
enum:
|
||
- department
|
||
- user
|
||
id:
|
||
type: string
|
||
format: uuid
|
||
name:
|
||
type: string
|
||
default: "Name of department or user"
|
||
isOrganization:
|
||
type: boolean
|
||
description: Shows is it an organization or department.
|
||
isBoss:
|
||
type: boolean
|
||
default: false
|
||
description: For user only
|
||
iconUrl:
|
||
type: string
|
||
default: "https://pentest.hrbox.io/file/resize/60x0/299c6542-c541-4296-a528-90f08d835b8b.png"
|
||
description: User's face image url
|
||
position:
|
||
type: string
|
||
description: User's employment position
|
||
employmentsCount:
|
||
type: integer
|
||
default: 0
|
||
description: Amount of employees in department
|
||
empty:
|
||
type: boolean
|
||
default: false
|
||
description: If department is empty
|
||
|
||
catalogItem:
|
||
type: object
|
||
properties:
|
||
entity:
|
||
type: string
|
||
description: Tells whether its category or article
|
||
enum:
|
||
- category
|
||
- article
|
||
id:
|
||
type: string
|
||
format: uuid
|
||
title:
|
||
type: string
|
||
url:
|
||
type: string
|
||
description:
|
||
type: string
|
||
thumbUrl:
|
||
type: string
|
||
description: Thumbnail image url
|
||
status_id:
|
||
type: integer
|
||
description: 1 - Active, 2 - Disabled, 3 - Deleted
|
||
default: 1
|
||
enum:
|
||
- 1
|
||
- 2
|
||
- 3
|
||
thumb_style_id:
|
||
type: integer
|
||
description: Type of thumb 1 - image + picture, 2 - text only, 3 - image only (square image)
|
||
default: 1
|
||
enum:
|
||
- 1
|
||
- 2
|
||
- 3
|
||
tags:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/tag'
|
||
|
||
calendarEventType:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
example: "ebe2bc69-b451-4006-8020-cc145eafe60c"
|
||
name:
|
||
type: string
|
||
example: "Тренинг"
|
||
background_color:
|
||
type: string
|
||
example: "#A4D4DE"
|
||
text_color:
|
||
type: string
|
||
example: "#000000"
|
||
|
||
calendarEvent:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
format: uuid
|
||
parent_id:
|
||
type: string
|
||
format: uuid
|
||
title:
|
||
type: string
|
||
description:
|
||
type: string
|
||
content:
|
||
type: object
|
||
image_id:
|
||
type: string
|
||
format: uuid
|
||
url:
|
||
type: string
|
||
entity_id:
|
||
type: integer
|
||
reference_id:
|
||
type: string
|
||
format: uuid
|
||
start_date_time:
|
||
type: string
|
||
format: 'date-time'
|
||
end_date_time:
|
||
type: string
|
||
format: 'date-time'
|
||
day_duration:
|
||
type: integer
|
||
is_all_day:
|
||
type: boolean
|
||
is_recurring:
|
||
type: boolean
|
||
freq:
|
||
type: integer
|
||
interval:
|
||
type: integer
|
||
by_month:
|
||
type: integer
|
||
by_monthday:
|
||
type: array
|
||
items:
|
||
type: integer
|
||
by_day:
|
||
type: array
|
||
items:
|
||
type: integer
|
||
visible_to:
|
||
type: array
|
||
items:
|
||
type: string
|
||
format: uuid
|
||
quantity_place:
|
||
type: integer
|
||
quantity_available_place:
|
||
type: integer
|
||
calendar_event_user_count:
|
||
type: integer
|
||
created_user_id:
|
||
type: string
|
||
format: uuid
|
||
updated_user_id:
|
||
type: string
|
||
format: uuid
|
||
created_at:
|
||
type: string
|
||
format: 'date-time'
|
||
updated_at:
|
||
type: string
|
||
format: 'date-time'
|
||
calendar_event_type_id:
|
||
type: integer
|
||
create_bid_deadline_at:
|
||
type: string
|
||
format: 'date-time'
|
||
start_date:
|
||
type: string
|
||
format: date
|
||
end_date:
|
||
type: string
|
||
format: date
|
||
start_time:
|
||
type: string
|
||
end_time:
|
||
type: string
|
||
start_date_time_localized:
|
||
type: string
|
||
end_date_time_localized:
|
||
type: string
|
||
created_at_localized:
|
||
type: string
|
||
create_bid_deadline_at_localized:
|
||
type: string
|
||
rec_date:
|
||
type: string
|
||
format: date
|
||
rec_date_formatted:
|
||
type: string
|
||
send_notification_start:
|
||
type: boolean
|
||
send_notification_before_start_minutes:
|
||
type: array
|
||
items:
|
||
type: integer
|
||
duration_seconds:
|
||
type: integer
|
||
duration_seconds_formatted:
|
||
type: string
|
||
duration_seconds_formatted_data:
|
||
type: object
|
||
properties:
|
||
hours:
|
||
type: integer
|
||
minutes:
|
||
type: integer
|
||
rrule_string:
|
||
type: string
|
||
type_name:
|
||
type: string
|
||
is_started:
|
||
type: boolean
|
||
is_ended:
|
||
type: boolean
|
||
is_ended_text:
|
||
type: string
|
||
is_virtual_recurring:
|
||
type: boolean
|
||
is_deadline_create_bid:
|
||
type: boolean
|
||
url_view:
|
||
type: string
|
||
|
||
calendarEventUser:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
format: uuid
|
||
calendar_event_id:
|
||
type: string
|
||
format: uuid
|
||
calendar_event_parent_id:
|
||
type: string
|
||
format: uuid
|
||
user_id:
|
||
type: string
|
||
format: uuid
|
||
status_id:
|
||
type: integer
|
||
is_visited:
|
||
type: boolean
|
||
where_from_type_id:
|
||
type: integer
|
||
calendar_event_rec_date:
|
||
type: string
|
||
format: date
|
||
status_name:
|
||
type: string
|
||
is_visited_text:
|
||
type: string
|
||
where_from_type_name:
|
||
type: string
|
||
|
||
calendarEventBid:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
format: uuid
|
||
calendar_event_id:
|
||
type: string
|
||
format: uuid
|
||
calendar_event_parent_id:
|
||
type: string
|
||
format: uuid
|
||
calendar_event_bid_status_id:
|
||
type: integer
|
||
calendar_event_rec_date:
|
||
type: string
|
||
format: date
|
||
user_id:
|
||
type: string
|
||
format: uuid
|
||
status_name:
|
||
type: string
|
||
user_name:
|
||
type: string
|
||
|
||
article:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
format: uuid
|
||
title:
|
||
type: string
|
||
url:
|
||
type: string
|
||
imageUrl:
|
||
type: string
|
||
description:
|
||
type: string
|
||
thumb_style_id:
|
||
type: integer
|
||
description: Type of thumb 1 - image + picture, 2 - text only, 3 - image only (square image)
|
||
default: 1
|
||
enum:
|
||
- 1
|
||
- 2
|
||
- 3
|
||
post_type_id:
|
||
type: integer
|
||
description: Post type 2 - only url (redirect to another page), 3 - page with actual content
|
||
default: 2
|
||
enum:
|
||
- 2
|
||
- 3
|
||
created_at:
|
||
type: string
|
||
format: datetime
|
||
publish_at:
|
||
type: string
|
||
format: datetime
|
||
description: Date and time from when article available to view by users
|
||
updated_at:
|
||
type: string
|
||
format: datetime
|
||
status_id:
|
||
type: integer
|
||
description: 1 - active, 2 - disabled, 3 - deleted
|
||
default: 1
|
||
enum:
|
||
- 1
|
||
- 2
|
||
- 3
|
||
likesCount:
|
||
type: integer
|
||
viewsCount:
|
||
type: integer
|
||
commentsCount:
|
||
type: integer
|
||
tags:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/tag'
|
||
entityId:
|
||
description: Entity ID.
|
||
type: number
|
||
example: 1
|
||
|
||
tag:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
format: uuid
|
||
name:
|
||
type: string
|
||
|
||
timezone:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
name:
|
||
type: string
|
||
|
||
contact:
|
||
type: object
|
||
properties:
|
||
value:
|
||
type: string
|
||
default: "dev@hrbox.io"
|
||
description: Email of phone number
|
||
type:
|
||
type: string
|
||
default: "corporate"
|
||
enum:
|
||
- corporate
|
||
- personal
|
||
readonly:
|
||
type: boolean
|
||
default: true
|
||
|
||
notification:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
format: uuid
|
||
subject:
|
||
type: string
|
||
text:
|
||
type: string
|
||
params:
|
||
type: object
|
||
properties:
|
||
url:
|
||
type: string
|
||
default: "Url that should be opened if user taps on Notification, and there are no any other logic exists for this type of notification"
|
||
description: Property os optional. Url that should be opened if user taps on Notification, and there are no any other logic exists for this type of notification
|
||
imageUrl:
|
||
type: string
|
||
default: "Property os optional"
|
||
description: Property is optional
|
||
notificationTypeId:
|
||
type: string
|
||
enum:
|
||
- user-postcard
|
||
- two-factor
|
||
- etc.
|
||
description: Serverside identifier of notification type. Sme logic can depend on it
|
||
created_at:
|
||
type: string
|
||
format: datetime
|
||
seen_at:
|
||
type: string
|
||
format: datetime
|
||
description: if not null - notification was viewed by user
|
||
|
||
userPostcard:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
format: uuid
|
||
user_id:
|
||
type: string
|
||
format: uuid
|
||
postcard_id:
|
||
type: string
|
||
format: uuid
|
||
text:
|
||
type: string
|
||
status_id:
|
||
type: integer
|
||
description: 1 - active, 2 - disabled, 3 - deleted
|
||
enum:
|
||
- 1
|
||
- 2
|
||
- 3
|
||
settings:
|
||
type: object
|
||
properties:
|
||
hide_signature:
|
||
type: boolean
|
||
description: Is this postcard anonymous
|
||
status_view_id:
|
||
type: integer
|
||
description: 1 - visible to everyone, 2 - visible only to recipient
|
||
enum:
|
||
- 1
|
||
- 2
|
||
created_at:
|
||
type: string
|
||
format: date
|
||
senderId:
|
||
type: string
|
||
format: uuid?
|
||
senderName:
|
||
type: string
|
||
default: "Alex"
|
||
senderIconUrl:
|
||
type: string
|
||
description: Sender user's face icon
|
||
imageUrl:
|
||
description: Postcard's image
|
||
type: string
|
||
is_seen:
|
||
type: boolean
|
||
description: Did user seen this postcard?
|
||
|
||
userGroup:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
format: uuid
|
||
name:
|
||
type: string
|
||
default: Managers
|
||
description:
|
||
type: string
|
||
default: "All the managers"
|
||
iconUrl:
|
||
type: string
|
||
default: "https://pentest.hrbox.io/file/resize/60x0/299c6542-c541-4296-a528-90f08d835b8b.png"
|
||
thumbUrl:
|
||
type: string
|
||
default: "https://pentest.hrbox.io/file/resize/400x0/299c6542-c541-4296-a528-90f08d835b8b.png"
|
||
|
||
userDuty:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
format: uuid
|
||
duty_id:
|
||
type: string
|
||
default: uuid
|
||
duty:
|
||
type: object
|
||
properties:
|
||
name:
|
||
type: string
|
||
|
||
achievement:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
format: uuid
|
||
title:
|
||
type: string
|
||
default: Best sales of Year
|
||
description:
|
||
type: string
|
||
default: One who sold most this year
|
||
imageUrl:
|
||
type: string
|
||
default: "https://pentest.hrbox.io/file/resize/400x0/299c6542-c541-4296-a528-90f08d835b8b.png"
|
||
iconUrl:
|
||
type: string
|
||
default: "https://pentest.hrbox.io/file/resize/60x0/299c6542-c541-4296-a528-90f08d835b8b.png"
|
||
|
||
employment:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
format: uuid
|
||
experience:
|
||
type: string
|
||
default: 1 year 2 months
|
||
position:
|
||
type: string
|
||
default: Chief Salesman
|
||
department:
|
||
$ref: '#/components/schemas/departmentLabel'
|
||
chiefUser:
|
||
$ref: '#/components/schemas/userLabel'
|
||
|
||
fullEmployment:
|
||
type: object
|
||
allOf:
|
||
- $ref: '#/components/schemas/employment'
|
||
- type: object
|
||
properties:
|
||
is_main:
|
||
description: Is main employment
|
||
type: boolean
|
||
example: true
|
||
employment_date:
|
||
type: string
|
||
format: date
|
||
fired_date:
|
||
type: string
|
||
format: date
|
||
status_id:
|
||
type: integer
|
||
description: 1 - active, 2 - disabled, 3 - deleted
|
||
example: 1
|
||
created_at:
|
||
type: string
|
||
format: date
|
||
|
||
departmentLabel:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
format: uuid
|
||
name:
|
||
type: string
|
||
default: Marketing
|
||
departmentPath:
|
||
type: string
|
||
default: "Company / Sales / Marketing"
|
||
|
||
userLabel:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
format: uuid
|
||
name:
|
||
type: string
|
||
default: Alex
|
||
faceUrl:
|
||
type: string
|
||
default: "https://pentest.hrbox.io/file/user-face/46f838be-1b51-43ea-988e-fce2f73f6302/300.jpg"
|
||
iconUrl:
|
||
type: string
|
||
default: "https://pentest.hrbox.io/file/user-face/46f838be-1b51-43ea-988e-fce2f73f6302/60.jpg"
|
||
|
||
device:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
format: uuid
|
||
name:
|
||
type: string
|
||
default: Alex's iPhone
|
||
model:
|
||
type: string
|
||
default: iPhone
|
||
os:
|
||
type: string
|
||
default: iOS
|
||
osVersion:
|
||
type: string
|
||
default: 14.0.1
|
||
xml:
|
||
name: device
|
||
|
||
profileBrief:
|
||
type: object
|
||
properties:
|
||
userId:
|
||
type: string
|
||
format: uuid
|
||
name:
|
||
type: string
|
||
position:
|
||
type: string
|
||
experience:
|
||
type: string
|
||
departmentName:
|
||
type: string
|
||
photoUrl:
|
||
type: string
|
||
faceUrl:
|
||
type: string
|
||
iconUrl:
|
||
type: string
|
||
statusText:
|
||
type: string
|
||
statusTypes:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/profileStatusType'
|
||
xml:
|
||
name: profileBrief
|
||
|
||
profileStatusType:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
label:
|
||
type: string
|
||
enabled:
|
||
type: boolean
|
||
xml:
|
||
name: item
|
||
|
||
dashboardWidget:
|
||
type: object
|
||
properties:
|
||
ref:
|
||
type: string
|
||
label:
|
||
type: string
|
||
url:
|
||
type: string
|
||
totalCount:
|
||
type: integer
|
||
format: int64
|
||
items:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/dashboardWidgetItem'
|
||
xml:
|
||
name: widgetId
|
||
|
||
dashboardWidgetItem:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
format: uuid
|
||
itemTitle:
|
||
type: string
|
||
itemUrl:
|
||
type: string
|
||
itemImageUrl:
|
||
type: string
|
||
itemDate:
|
||
type: string
|
||
format: datetime
|
||
itemTip:
|
||
type: string
|
||
itemEntityId:
|
||
type: integer
|
||
format: int64
|
||
actorId:
|
||
type: string
|
||
format: uuid
|
||
actorName:
|
||
type: string
|
||
actorIconUrl:
|
||
type: string
|
||
actionTitle:
|
||
type: string
|
||
actionStyle:
|
||
type: string
|
||
description: define color
|
||
enum:
|
||
- info
|
||
- success
|
||
- warning
|
||
- danger
|
||
xml:
|
||
name: item
|
||
|
||
feedback:
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Feedback model ID.
|
||
type: string
|
||
format: uuid
|
||
user_id:
|
||
description: User model ID.
|
||
type: string
|
||
format: uuid
|
||
default: null
|
||
department_id:
|
||
description: Department model ID.
|
||
type: string
|
||
format: uuid
|
||
default: null
|
||
score:
|
||
description: Feedback score.
|
||
type: integer
|
||
example: 5
|
||
text:
|
||
description: Feedback text.
|
||
type: string
|
||
example: Example text.
|
||
is_anonymous:
|
||
description: Anonymous feedback.
|
||
type: boolean
|
||
example: false
|
||
default: false
|
||
user_name:
|
||
description: The user name to which the feedback was left.
|
||
type: string
|
||
default: ""
|
||
department_name:
|
||
description: The department name to which the feedback was left.
|
||
type: string
|
||
default: ""
|
||
created_user_name:
|
||
description: The name of the user who left the feedback if it was not anonymous.
|
||
type: string
|
||
|
||
moderation:
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Moderation ID.
|
||
type: string
|
||
format: uuid
|
||
example: edee4e11-dab5-4aac-93ac-43c379aab6b2
|
||
requested_user_id:
|
||
description: Requested user ID.
|
||
type: string
|
||
format: uuid
|
||
example: 08d50be6-81ca-436f-9aef-c1a5a74bad36
|
||
moderated_user_id:
|
||
description: Moderator user ID.
|
||
type: string
|
||
format: uuid
|
||
default: null
|
||
example: 1c95f8ec-d971-4554-8b77-d5ab1dd8d650
|
||
status_id:
|
||
description: >
|
||
Moderation status:
|
||
* `0` - Wait for moderation (NOT_MODERATED)
|
||
* `1` - Moderation accepted (ACCEPT)
|
||
* `2` - Moderation rejected (REJECT)
|
||
type: integer
|
||
enum:
|
||
- 0
|
||
- 1
|
||
- 2
|
||
example: 1
|
||
reference_id:
|
||
description: Reference model ID.
|
||
type: string
|
||
format: uuid
|
||
example: 660519c7-c8a7-4421-a1e2-4eed4074a868
|
||
entity_id:
|
||
description: >
|
||
Entity ID:
|
||
* `20` - User
|
||
* `118` - Postcard
|
||
* `140` - Comment
|
||
* `360` - Idea
|
||
* `152` - Voting nominee
|
||
type: integer
|
||
enum:
|
||
- 20
|
||
- 118
|
||
- 140
|
||
- 360
|
||
- 152
|
||
example: 20
|
||
type_id:
|
||
description: >
|
||
Moderation types:
|
||
* `USER_AVATAR` - Change user profile photo. Fields - photo_file_id, settings.
|
||
* `USER_POSTCARD` - Send postcard. Fields - text, user_id, postcard_id.
|
||
* `COMMENT` - Add comment. Fields - message, content_json.
|
||
* `IDEA` - Idea suggestion. Fields - idea_purpose_id, department_id, title, description, files.
|
||
* `VOTING_NOMINEE` - Image participating in the voting. Fields - file_id, nomination_id, title, description.
|
||
# Временно отключено на портале
|
||
# * `USER_CABINET` - Change city, cabinet. Fields - city, cabinet.
|
||
type: string
|
||
enum:
|
||
- USER_AVATAR
|
||
# - USER_CABINET
|
||
- USER_POSTCARD
|
||
- COMMENT
|
||
- IDEA
|
||
- VOTING_NOMINEE
|
||
changes:
|
||
description: One of moderation types. Values of fields that has been changed.
|
||
type: object
|
||
oneOf:
|
||
# USER_AVATAR
|
||
- properties:
|
||
photo_file_id:
|
||
description: Field "photo_file_id" in User model. File model ID.
|
||
type: string
|
||
format: uuid
|
||
example: 37a57294-489b-4a1b-ac5c-a390de5e388d
|
||
settings:
|
||
description: Field "settings" in User model.
|
||
type: object
|
||
properties:
|
||
face_coordinates:
|
||
description: Face coordinates on the user profile image.
|
||
type: object
|
||
properties:
|
||
h:
|
||
description: Cut height in percent.
|
||
type: integer
|
||
example: 86
|
||
w:
|
||
description: Cut width in percent.
|
||
type: integer
|
||
example: 57
|
||
x:
|
||
description: X-axis offset in percent.
|
||
type: integer
|
||
example: 42
|
||
y:
|
||
description: Y-axis offset in percent.
|
||
type: integer
|
||
example: 10
|
||
# USER_CABINET
|
||
# - properties:
|
||
# cabinet:
|
||
# description: User cabinet field.
|
||
# type: string
|
||
# example: 1a
|
||
# USER_POSTCARD
|
||
- properties:
|
||
text:
|
||
description: Postcard text.
|
||
type: string
|
||
example: Example text.
|
||
user_id:
|
||
description: User model ID.
|
||
type: string
|
||
format: uuid
|
||
example: 8768c19d-dae7-43f0-8b51-a86705f33a1b
|
||
postcard_id:
|
||
description: Postcard model ID.
|
||
type: string
|
||
format: uuid
|
||
example: e101d3be-ca63-49e0-9c94-a32fefc20c92
|
||
# COMMENT
|
||
- properties:
|
||
message:
|
||
description: Field "message" in Comment model.
|
||
type: string
|
||
example: Comment text.
|
||
content_json:
|
||
description: Field "content_json" in Comment model. Array of File models data.
|
||
type: array
|
||
items:
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: File model ID.
|
||
type: string
|
||
format: uuid
|
||
example: bf052a5e-eb70-4eb9-b3f1-9ea50d751b0e
|
||
ext:
|
||
description: File extension.
|
||
type: string
|
||
example: jpg
|
||
fid:
|
||
description: File model ID with extension.
|
||
type: string
|
||
format: uuid
|
||
example: bf052a5e-eb70-4eb9-b3f1-9ea50d751b0e.jpg
|
||
meta:
|
||
description: File meta information.
|
||
type: object
|
||
properties:
|
||
width:
|
||
description: Image width.
|
||
type: integer
|
||
example: 1920
|
||
height:
|
||
description: Image height.
|
||
type: integer
|
||
example: 1080
|
||
name:
|
||
description: File name.
|
||
type: string
|
||
example: 2023-01-01 01.01.01.jpg
|
||
size:
|
||
description: File size in bytes.
|
||
type: integer
|
||
example: 109531
|
||
fileType:
|
||
description: File type.
|
||
type: string
|
||
enum:
|
||
- image
|
||
- video
|
||
- document
|
||
- archive
|
||
- other
|
||
- encrypted
|
||
example: image
|
||
isCommon:
|
||
description: File is common.
|
||
type: boolean
|
||
example: false
|
||
isPublic:
|
||
description: File is public.
|
||
type: boolean
|
||
example: false
|
||
mimeType:
|
||
description: File MIME-Type.
|
||
type: string
|
||
example: image/jpeg
|
||
loadingState:
|
||
description: File loading state.
|
||
type: string
|
||
example: uploaded
|
||
# IDEA
|
||
- properties:
|
||
idea_purpose_id:
|
||
description: Field "idea_purpose_id" in Idea model.
|
||
type: string
|
||
format: uuid
|
||
example: 941a3ba1-3a5c-46b4-a83f-3a9f700925f6
|
||
department_id:
|
||
description: Department model ID.
|
||
type: string
|
||
format: uuid
|
||
example: e0f5593a-e0c2-44b8-a46e-1b464165f63f
|
||
title:
|
||
description: Field "title" in Idea model.
|
||
type: string
|
||
example: Idea title example.
|
||
description:
|
||
description: Field "description" in Idea model.
|
||
type: string
|
||
example: Idea description example.
|
||
files:
|
||
description: Field "files" in Idea model. Array of File models data.
|
||
type: array
|
||
items:
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: File model ID.
|
||
type: string
|
||
format: uuid
|
||
example: bf052a5e-eb70-4eb9-b3f1-9ea50d751b0e
|
||
ext:
|
||
description: File extension.
|
||
type: string
|
||
example: jpg
|
||
fid:
|
||
description: File model ID with extension.
|
||
type: string
|
||
format: uuid
|
||
example: bf052a5e-eb70-4eb9-b3f1-9ea50d751b0e.jpg
|
||
meta:
|
||
description: File meta information.
|
||
type: object
|
||
properties:
|
||
width:
|
||
description: Image width.
|
||
type: integer
|
||
example: 1920
|
||
height:
|
||
description: Image height.
|
||
type: integer
|
||
example: 1080
|
||
name:
|
||
description: File name.
|
||
type: string
|
||
example: 2023-01-01 01.01.01.jpg
|
||
size:
|
||
description: File size in bytes.
|
||
type: integer
|
||
example: 109531
|
||
fileType:
|
||
description: File type.
|
||
type: string
|
||
enum:
|
||
- image
|
||
- video
|
||
- document
|
||
- archive
|
||
- other
|
||
- encrypted
|
||
example: image
|
||
isCommon:
|
||
description: File is common.
|
||
type: boolean
|
||
example: false
|
||
isPublic:
|
||
description: File is public.
|
||
type: boolean
|
||
example: false
|
||
mimeType:
|
||
description: File MIME-Type.
|
||
type: string
|
||
example: image/jpeg
|
||
loadingState:
|
||
description: File loading state.
|
||
type: string
|
||
example: uploaded
|
||
# VOTING_NOMINEE
|
||
- properties:
|
||
file_id:
|
||
description: File model ID.
|
||
type: string
|
||
format: uuid
|
||
example: 1daf3810-9f65-4855-a352-3e5da566c69e
|
||
nomination_id:
|
||
description: VotingNomination model ID.
|
||
type: string
|
||
format: uuid
|
||
default: null
|
||
example: 0023648a-bf4b-4ab6-8376-4e91357e626a
|
||
title:
|
||
description: Field "title" in VotingNominee model.
|
||
type: string
|
||
example: Photo title example.
|
||
description:
|
||
description: Field "description" in VotingNominee model.
|
||
type: string
|
||
example: Photo description example.
|
||
created_at:
|
||
description: Moderation creation date.
|
||
type: string
|
||
format: date
|
||
updated_at:
|
||
description: Moderation update date.
|
||
type: string
|
||
format: date
|
||
statusName:
|
||
description: Status name.
|
||
type: string
|
||
typeName:
|
||
description: Type name.
|
||
type: string
|
||
formatChanges:
|
||
description: Model fields that can be changed. Data formatted for use in view files.
|
||
type: object
|
||
oneOf:
|
||
# USER_AVATAR
|
||
- properties:
|
||
current_photo_url:
|
||
description: User profile photo.
|
||
type: object
|
||
properties:
|
||
type:
|
||
description: Field value type.
|
||
type: string
|
||
enum:
|
||
- string
|
||
- img
|
||
- files
|
||
- html
|
||
example: img
|
||
label:
|
||
description: Field label.
|
||
type: string
|
||
example: Profile photo
|
||
value:
|
||
description: Field value.
|
||
type: string
|
||
example: https://demo.hrbox.io/file/open/faf61bb0-af79-4422-9ebd-da2e92924ce3.jpg
|
||
url:
|
||
type: string
|
||
default: null
|
||
current_face_url:
|
||
description: User face on profile photo.
|
||
type: object
|
||
properties:
|
||
type:
|
||
description: Field value type.
|
||
type: string
|
||
enum:
|
||
- string
|
||
- img
|
||
- files
|
||
- html
|
||
example: img
|
||
label:
|
||
description: Field label.
|
||
type: string
|
||
example: Face on profile photo
|
||
value:
|
||
description: Field value.
|
||
type: string
|
||
example: https://demo.hrbox.io/file/open/f3217a4b-02fd-400e-82c3-47cc7f36cf5f.jpg
|
||
url:
|
||
type: string
|
||
default: null
|
||
photo_file_id:
|
||
description: User new profile photo.
|
||
type: object
|
||
properties:
|
||
type:
|
||
description: Field value type.
|
||
type: string
|
||
enum:
|
||
- string
|
||
- img
|
||
- files
|
||
- html
|
||
example: img
|
||
label:
|
||
description: Field label.
|
||
type: string
|
||
example: New profile photo
|
||
value:
|
||
description: Field value.
|
||
type: string
|
||
example: https://demo.hrbox.io/file/open/37a57294-489b-4a1b-ac5c-a390de5e388d.jpg
|
||
url:
|
||
type: string
|
||
default: null
|
||
new_face_url:
|
||
description: New user-selected face in profile photo. Returns null because it is under development.
|
||
type: object
|
||
properties:
|
||
type:
|
||
description: Field value type.
|
||
type: string
|
||
enum:
|
||
- string
|
||
- img
|
||
- files
|
||
- html
|
||
example: img
|
||
label:
|
||
description: Field label.
|
||
type: string
|
||
example: Selected face on photo
|
||
value:
|
||
description: Field value.
|
||
type: string
|
||
default: null
|
||
example: https://demo.hrbox.io/file/open/faf61bb0-af79-4422-9ebd-da2e92924ce3.jpg
|
||
url:
|
||
type: string
|
||
default: null
|
||
settings:
|
||
description: Face coordinates on the user profile image.
|
||
type: object
|
||
properties:
|
||
type:
|
||
description: Field value type.
|
||
type: string
|
||
enum:
|
||
- string
|
||
- img
|
||
- files
|
||
- html
|
||
example: string
|
||
label:
|
||
description: Field label.
|
||
type: string
|
||
example: Settings
|
||
value:
|
||
description: Field value.
|
||
type: object
|
||
properties:
|
||
face_coordinates:
|
||
description: Face coordinates on the user profile image.
|
||
type: object
|
||
properties:
|
||
h:
|
||
description: Cut height in percent.
|
||
type: integer
|
||
example: 86
|
||
w:
|
||
description: Cut width in percent.
|
||
type: integer
|
||
example: 57
|
||
x:
|
||
description: X-axis offset in percent.
|
||
type: integer
|
||
example: 42
|
||
y:
|
||
description: Y-axis offset in percent.
|
||
type: integer
|
||
example: 10
|
||
# USER_CABINET
|
||
# - properties:
|
||
# city_id:
|
||
# description: Field "City".
|
||
# type: object
|
||
# properties:
|
||
# type:
|
||
# description: Field value type.
|
||
# type: string
|
||
# enum:
|
||
# - string
|
||
# - img
|
||
# - files
|
||
# - html
|
||
# example: string
|
||
# label:
|
||
# description: Field label.
|
||
# type: string
|
||
# example: City
|
||
# value:
|
||
# description: Field value.
|
||
# type: string
|
||
# default: null
|
||
# url:
|
||
# type: string
|
||
# cabinet:
|
||
# description: Field "Cabinet".
|
||
# type: object
|
||
# properties:
|
||
# type:
|
||
# description: Field value type.
|
||
# type: string
|
||
# enum:
|
||
# - string
|
||
# - img
|
||
# - files
|
||
# - html
|
||
# example: string
|
||
# label:
|
||
# description: Field label.
|
||
# type: string
|
||
# example: Cabinet
|
||
# value:
|
||
# description: Field value.
|
||
# type: string
|
||
# default: null
|
||
# example: 1a
|
||
# url:
|
||
# type: string
|
||
# USER_POSTCARD
|
||
- properties:
|
||
text:
|
||
description: Postcard text.
|
||
type: object
|
||
properties:
|
||
type:
|
||
description: Field value type.
|
||
type: string
|
||
enum:
|
||
- string
|
||
- img
|
||
- files
|
||
- html
|
||
example: string
|
||
label:
|
||
description: Field label.
|
||
type: string
|
||
example: Postcard text
|
||
value:
|
||
description: Field value.
|
||
type: string
|
||
default: null
|
||
example: Example text.
|
||
url:
|
||
type: string
|
||
user_id:
|
||
description: User name.
|
||
type: object
|
||
properties:
|
||
type:
|
||
description: Field value type.
|
||
type: string
|
||
enum:
|
||
- string
|
||
- img
|
||
- files
|
||
- html
|
||
example: string
|
||
label:
|
||
description: Field label.
|
||
type: string
|
||
example: User
|
||
value:
|
||
description: Field value.
|
||
type: string
|
||
example: FirstName LastName
|
||
url:
|
||
type: string
|
||
postcard_id:
|
||
description: Postcard image.
|
||
type: object
|
||
properties:
|
||
type:
|
||
description: Field value type.
|
||
type: string
|
||
enum:
|
||
- string
|
||
- img
|
||
- files
|
||
- html
|
||
example: img
|
||
label:
|
||
description: Field label.
|
||
type: string
|
||
example: Postcard
|
||
value:
|
||
description: Field value.
|
||
type: string
|
||
example: https://demo.hrbox.io/file/open/d6f5be76-58fa-4b61-a248-74e10b2b5ed0.jpg
|
||
url:
|
||
type: string
|
||
# COMMENT
|
||
- properties:
|
||
subject:
|
||
description: Comment subject.
|
||
type: object
|
||
properties:
|
||
type:
|
||
description: Field value type.
|
||
type: string
|
||
enum:
|
||
- string
|
||
- img
|
||
- files
|
||
- html
|
||
example: string
|
||
label:
|
||
description: Field label.
|
||
type: string
|
||
example: Subject
|
||
value:
|
||
description: Field value.
|
||
type: string
|
||
example: News title
|
||
url:
|
||
type: string
|
||
example: https://demo.hrbox.io/read/3379b1ac54/news-title
|
||
message:
|
||
description: Comment message.
|
||
type: object
|
||
properties:
|
||
type:
|
||
description: Field value type.
|
||
type: string
|
||
enum:
|
||
- string
|
||
- img
|
||
- files
|
||
- html
|
||
example: string
|
||
label:
|
||
description: Field label.
|
||
type: string
|
||
example: Comment
|
||
value:
|
||
description: Field value.
|
||
type: string
|
||
example: Comment text.
|
||
url:
|
||
type: string
|
||
content_json:
|
||
description: Comment attached files.
|
||
type: object
|
||
properties:
|
||
type:
|
||
description: Field value type.
|
||
type: string
|
||
enum:
|
||
- string
|
||
- img
|
||
- files
|
||
- html
|
||
example: files
|
||
label:
|
||
description: Field label.
|
||
type: string
|
||
example: Files
|
||
value:
|
||
description: Field value.
|
||
type: object
|
||
properties:
|
||
item:
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: File model ID.
|
||
type: string
|
||
format: uuid
|
||
example: 3f8d3db4-49da-4880-bfdb-e682f9d4876d
|
||
url:
|
||
description: File open URL.
|
||
type: string
|
||
example: https://demo.hrbox.io/file/open/3f8d3db4-49da-4880-bfdb-e682f9d4876d.jpg
|
||
file_type:
|
||
description: File type.
|
||
type: string
|
||
enum:
|
||
- image
|
||
- video
|
||
- document
|
||
- archive
|
||
- other
|
||
- encrypted
|
||
example: image
|
||
ext:
|
||
description: File extension.
|
||
type: string
|
||
example: jpg
|
||
name:
|
||
description: File name.
|
||
type: string
|
||
example: 2023-01-01 01.01.01.jpg
|
||
url:
|
||
type: string
|
||
# IDEA
|
||
- properties:
|
||
idea_purpose_id:
|
||
description: Idea purpose.
|
||
type: object
|
||
properties:
|
||
type:
|
||
description: Field value type.
|
||
type: string
|
||
enum:
|
||
- string
|
||
- img
|
||
- files
|
||
- html
|
||
example: string
|
||
label:
|
||
description: Field label.
|
||
type: string
|
||
example: Purpose
|
||
value:
|
||
description: Field value.
|
||
type: string
|
||
default: null
|
||
example: Example purpose
|
||
url:
|
||
type: string
|
||
department_id:
|
||
description: Department.
|
||
type: object
|
||
properties:
|
||
type:
|
||
description: Field value type.
|
||
type: string
|
||
enum:
|
||
- string
|
||
- img
|
||
- files
|
||
- html
|
||
example: string
|
||
label:
|
||
description: Field label.
|
||
type: string
|
||
example: Department
|
||
value:
|
||
description: Field value.
|
||
type: string
|
||
default: null
|
||
example: Example department name
|
||
url:
|
||
type: string
|
||
title:
|
||
description: Idea title.
|
||
type: object
|
||
properties:
|
||
type:
|
||
description: Field value type.
|
||
type: string
|
||
enum:
|
||
- string
|
||
- img
|
||
- files
|
||
- html
|
||
example: string
|
||
label:
|
||
description: Field label.
|
||
type: string
|
||
example: Title
|
||
value:
|
||
description: Field value.
|
||
type: string
|
||
example: Example idea title
|
||
url:
|
||
type: string
|
||
description:
|
||
description: Idea description.
|
||
type: object
|
||
properties:
|
||
type:
|
||
description: Field value type.
|
||
type: string
|
||
enum:
|
||
- string
|
||
- img
|
||
- files
|
||
- html
|
||
example: string
|
||
label:
|
||
description: Field label.
|
||
type: string
|
||
example: Description
|
||
value:
|
||
description: Field value.
|
||
type: string
|
||
example: Example idea description
|
||
url:
|
||
type: string
|
||
files:
|
||
description: Idea attached files.
|
||
type: object
|
||
properties:
|
||
type:
|
||
description: Field value type.
|
||
type: string
|
||
enum:
|
||
- string
|
||
- img
|
||
- files
|
||
- html
|
||
example: files
|
||
label:
|
||
description: Field label.
|
||
type: string
|
||
example: Files
|
||
value:
|
||
description: Field value.
|
||
type: object
|
||
properties:
|
||
item:
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: File model ID.
|
||
type: string
|
||
format: uuid
|
||
example: a91fe4d9-b486-4e94-9114-18589aad7c7e
|
||
url:
|
||
description: File open URL.
|
||
type: string
|
||
example: https://demo.hrbox.io/file/open/a91fe4d9-b486-4e94-9114-18589aad7c7e.jpg
|
||
file_type:
|
||
description: File type.
|
||
type: string
|
||
enum:
|
||
- image
|
||
- video
|
||
- document
|
||
- archive
|
||
- other
|
||
- encrypted
|
||
example: image
|
||
ext:
|
||
description: File extension.
|
||
type: string
|
||
example: jpg
|
||
name:
|
||
description: File name.
|
||
type: string
|
||
example: 2023-01-01 01.01.01.jpg
|
||
url:
|
||
type: string
|
||
# VOTING_NOMINEE
|
||
- properties:
|
||
file_id:
|
||
description: URL to file.
|
||
type: object
|
||
properties:
|
||
type:
|
||
description: Field value type.
|
||
type: string
|
||
enum:
|
||
- string
|
||
- img
|
||
- files
|
||
- html
|
||
example: img
|
||
label:
|
||
description: Field label.
|
||
type: string
|
||
example: Image
|
||
value:
|
||
description: Field value.
|
||
type: string
|
||
example: https://demo.hrbox.io/file/resize/0x300/d56554a9-a97d-47d8-bb16-5647166a66de.jpg
|
||
url:
|
||
type: string
|
||
nomination_id:
|
||
description: Voting nomination.
|
||
type: object
|
||
properties:
|
||
type:
|
||
description: Field value type.
|
||
type: string
|
||
enum:
|
||
- string
|
||
- img
|
||
- files
|
||
- html
|
||
example: string
|
||
label:
|
||
description: Field label.
|
||
type: string
|
||
example: Nomination
|
||
value:
|
||
description: Field value.
|
||
type: string
|
||
example: Example nomination name
|
||
url:
|
||
type: string
|
||
title:
|
||
description: Idea title.
|
||
type: object
|
||
properties:
|
||
type:
|
||
description: Field value type.
|
||
type: string
|
||
enum:
|
||
- string
|
||
- img
|
||
- files
|
||
- html
|
||
example: string
|
||
label:
|
||
description: Field label.
|
||
type: string
|
||
example: Title
|
||
value:
|
||
description: Field value.
|
||
type: string
|
||
example: Example photo title
|
||
url:
|
||
type: string
|
||
description:
|
||
description: Idea description.
|
||
type: object
|
||
properties:
|
||
type:
|
||
description: Field value type.
|
||
type: string
|
||
enum:
|
||
- string
|
||
- img
|
||
- files
|
||
- html
|
||
example: string
|
||
label:
|
||
description: Field label.
|
||
type: string
|
||
example: Description
|
||
value:
|
||
description: Field value.
|
||
type: string
|
||
example: Example photo description
|
||
url:
|
||
type: string
|
||
referenceAttributes:
|
||
description: Reference model attributes.
|
||
type: object
|
||
requestedUser:
|
||
description: Requested user.
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Requested user ID.
|
||
type: string
|
||
format: uuid
|
||
iconUrl:
|
||
description: Requested user ID.
|
||
type: string
|
||
name:
|
||
description: Requested user name.
|
||
type: string
|
||
moderatedUser:
|
||
description: Moderated user.
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Moderated user ID.
|
||
type: string
|
||
format: uuid
|
||
iconUrl:
|
||
description: Moderated user ID.
|
||
type: string
|
||
name:
|
||
description: Moderated user name.
|
||
type: string
|
||
|
||
tenantInfoModuleIdea:
|
||
description: Настройки модуля идей.
|
||
type: object
|
||
properties:
|
||
isModuleEnabled:
|
||
description: Включить сбор идей и запросов.
|
||
type: boolean
|
||
example: true
|
||
isIdeaVotingEnabled:
|
||
description: Включить голосование за идею.
|
||
type: boolean
|
||
example: true
|
||
isIdeaUnvoteEnabled:
|
||
description: Разрешить отменять голос за идею.
|
||
type: boolean
|
||
example: true
|
||
isIdeaParticipateEnabled:
|
||
description: Разрешить присоединяться к реализации идеи.
|
||
type: boolean
|
||
example: true
|
||
isCancelParticipatingEnabled:
|
||
description: Разрешить отменять предложение о помощи в реализации идеи.
|
||
type: boolean
|
||
example: true
|
||
isIdeaCommentsEnabled:
|
||
description: Разрешить комментировать идеи.
|
||
type: boolean
|
||
example: true
|
||
|
||
tenantInfoModuleShop:
|
||
description: Настройки модуля корпоративного магазина.
|
||
type: object
|
||
properties:
|
||
isModuleEnabled:
|
||
description: Модуль корпоративного магазина вкл/выкл.
|
||
type: boolean
|
||
example: true
|
||
default: false
|
||
isZeroCountProductsVisible:
|
||
description: Отображать на витрине товары с нулевым количеством.
|
||
type: boolean
|
||
example: true
|
||
default: false
|
||
isAllowCustomDeliveryAddress:
|
||
description: Разрешить пользователям указывать собственный адрес доставки.
|
||
type: boolean
|
||
example: true
|
||
default: false
|
||
|
||
ideaStatuses:
|
||
description: >
|
||
Список статусов идеи:
|
||
* `1` - Модерация (STATUS_MODERATION).
|
||
* `2` - Отклонена модератором (STATUS_REJECTED_MODERATOR).
|
||
* `3` - Голосование (STATUS_VOTING).
|
||
* `4` - Отклонена исполнителем (STATUS_REJECTED_MANAGER).
|
||
* `5` - Отложена (STATUS_POSTPONED).
|
||
* `6` - В работе (STATUS_REALIZATION).
|
||
* `7` - Реализована (STATUS_IMPLEMENTED).
|
||
type: array
|
||
items:
|
||
properties:
|
||
id:
|
||
description: Идентификатор статуса.
|
||
type: integer
|
||
example: 1
|
||
name:
|
||
description: Имя статуса.
|
||
type: string
|
||
example: Модерация
|
||
|
||
ideaPurposes:
|
||
description: Список направлений идеи.
|
||
type: array
|
||
items:
|
||
properties:
|
||
id:
|
||
description: Идентификатор направления.
|
||
type: string
|
||
format: uuid
|
||
example: a91fe4d9-b486-4e94-9114-18589aad7c7e
|
||
name:
|
||
description: Имя направления.
|
||
type: string
|
||
example: Направление
|
||
|
||
ideaIndex:
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Идентификатор идеи.
|
||
type: string
|
||
format: uuid
|
||
example: a91fe4d9-b486-4e94-9114-18589aad7c7e
|
||
created_at:
|
||
description: Дата создания идеи.
|
||
type: string
|
||
format: 'date-time'
|
||
example: 2023-09-21 18:25:52
|
||
updated_at:
|
||
description: Дата изменения идеи.
|
||
type: string
|
||
format: 'date-time'
|
||
example: 2023-09-21 18:31:56
|
||
title:
|
||
description: Заголовок идеи.
|
||
type: string
|
||
example: Idea example title
|
||
description:
|
||
description: Описание идеи.
|
||
type: string
|
||
example: Idea example description
|
||
isEditable:
|
||
# Тут описать когда доступно
|
||
description: Доступность редактирования идеи для текущего пользователя.
|
||
type: boolean
|
||
example: true
|
||
status:
|
||
$ref: '#/components/schemas/status'
|
||
createdUser:
|
||
$ref: '#/components/schemas/userInfo'
|
||
performerUser:
|
||
description: Пользователь исполняющий идею.
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Идентификатор пользователя.
|
||
type: string
|
||
format: uuid
|
||
example: a91fe4d9-b486-4e94-9114-18589aad7c7e
|
||
iconUrl:
|
||
description: Ссылка на изображение лица профиля пользователя.
|
||
type: string
|
||
example: https://hrenot.hrbox.io/file/user-face/e2668a74-d171-4d47-b68f-9eb7e7d4e120/300.jpg
|
||
name:
|
||
description: Имя пользователя.
|
||
type: string
|
||
example: Иван Иванов
|
||
purpose:
|
||
description: Направление идеи.
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Идентификатор направления идеи.
|
||
type: string
|
||
format: uuid
|
||
example: a91fe4d9-b486-4e94-9114-18589aad7c7e
|
||
name:
|
||
description: Название направления идеи.
|
||
type: string
|
||
example: Направление 1
|
||
department:
|
||
description: Подразделение в которое подана идея.
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Идентификатор подразделения.
|
||
type: string
|
||
format: uuid
|
||
example: a91fe4d9-b486-4e94-9114-18589aad7c7e
|
||
name:
|
||
description: Название подразделения.
|
||
type: string
|
||
example: Подразделение 1
|
||
viewsCount:
|
||
description: Количество пользователей просмотревших идею.
|
||
type: integer
|
||
example: 1
|
||
countVoted:
|
||
description: Количество пользователей проголосовавших за идею.
|
||
type: integer
|
||
example: 1
|
||
countParticipate:
|
||
description: Количество пользователей предложивших помощь в реализации идеи.
|
||
type: integer
|
||
example: 1
|
||
isAllowVoting:
|
||
description: Возможность проголосовать за идею для текущего пользователя.
|
||
type: boolean
|
||
example: true
|
||
isAllowParticipate:
|
||
description: Возможность предложить помощь в реализации идеи для текущего пользователя.
|
||
type: boolean
|
||
example: true
|
||
isCurrentUserVoted:
|
||
description: Текущий пользователь проголосовал за идею.
|
||
type: boolean
|
||
example: false
|
||
isCurrentUserParticipate:
|
||
description: Текущий пользователь предложил помощь в реализации идеи.
|
||
type: boolean
|
||
example: false
|
||
entityId:
|
||
description: Entity ID.
|
||
type: number
|
||
example: 1
|
||
|
||
ideaView:
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Идентификатор идеи.
|
||
type: string
|
||
format: uuid
|
||
example: a91fe4d9-b486-4e94-9114-18589aad7c7e
|
||
created_at:
|
||
description: Дата создания идеи.
|
||
type: string
|
||
format: 'date-time'
|
||
example: 2023-09-21 18:25:52
|
||
updated_at:
|
||
description: Дата изменения идеи.
|
||
type: string
|
||
format: 'date-time'
|
||
example: 2023-09-21 18:31:56
|
||
title:
|
||
description: Заголовок идеи.
|
||
type: string
|
||
example: Idea example title
|
||
description:
|
||
description: Описание идеи.
|
||
type: string
|
||
example: Idea example description
|
||
isEditable:
|
||
# Тут описать когда доступно
|
||
description: Доступность редактирования идеи для текущего пользователя.
|
||
type: boolean
|
||
example: true
|
||
status:
|
||
$ref: '#/components/schemas/status'
|
||
createdUser:
|
||
$ref: '#/components/schemas/userInfo'
|
||
performerUser:
|
||
description: Пользователь исполняющий идею.
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Идентификатор пользователя.
|
||
type: string
|
||
format: uuid
|
||
example: a91fe4d9-b486-4e94-9114-18589aad7c7e
|
||
iconUrl:
|
||
description: Ссылка на изображение лица профиля пользователя.
|
||
type: string
|
||
example: https://hrenot.hrbox.io/file/user-face/e2668a74-d171-4d47-b68f-9eb7e7d4e120/300.jpg
|
||
name:
|
||
description: Имя пользователя.
|
||
type: string
|
||
example: Иван Иванов
|
||
purpose:
|
||
description: Направление идеи.
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Идентификатор направления идеи.
|
||
type: string
|
||
format: uuid
|
||
example: a91fe4d9-b486-4e94-9114-18589aad7c7e
|
||
name:
|
||
description: Название направления идеи.
|
||
type: string
|
||
example: Направление 1
|
||
department:
|
||
description: Подразделение в которое подана идея.
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Идентификатор подразделения.
|
||
type: string
|
||
format: uuid
|
||
example: a91fe4d9-b486-4e94-9114-18589aad7c7e
|
||
name:
|
||
description: Название подразделения.
|
||
type: string
|
||
example: Подразделение 1
|
||
viewsCount:
|
||
description: Количество пользователей просмотревших идею.
|
||
type: integer
|
||
example: 1
|
||
countVoted:
|
||
description: Количество пользователей проголосовавших за идею.
|
||
type: integer
|
||
example: 1
|
||
countParticipate:
|
||
description: Количество пользователей предложивших помощь в реализации идеи.
|
||
type: integer
|
||
example: 1
|
||
usersVoted:
|
||
description: Список пользователей проголосовавших за идею.
|
||
type: array
|
||
items:
|
||
properties:
|
||
id:
|
||
description: Идентификатор пользователя.
|
||
type: string
|
||
format: uuid
|
||
example: a91fe4d9-b486-4e94-9114-18589aad7c7e
|
||
iconUrl:
|
||
description: Ссылка на изображение лица профиля пользователя.
|
||
type: string
|
||
example: https://hrenot.hrbox.io/file/user-face/e2668a74-d171-4d47-b68f-9eb7e7d4e120/300.jpg
|
||
name:
|
||
description: Имя пользователя.
|
||
type: string
|
||
example: Иван Иванов
|
||
usersParticipate:
|
||
description: Список пользователей предложивших помощь в реализации идеи.
|
||
type: array
|
||
items:
|
||
properties:
|
||
id:
|
||
description: Идентификатор пользователя.
|
||
type: string
|
||
format: uuid
|
||
example: a91fe4d9-b486-4e94-9114-18589aad7c7e
|
||
iconUrl:
|
||
description: Ссылка на изображение лица профиля пользователя.
|
||
type: string
|
||
example: https://hrenot.hrbox.io/file/user-face/e2668a74-d171-4d47-b68f-9eb7e7d4e120/300.jpg
|
||
name:
|
||
description: Имя пользователя.
|
||
type: string
|
||
example: Иван Иванов
|
||
isAllowVoting:
|
||
description: Возможность проголосовать за идею для текущего пользователя.
|
||
type: boolean
|
||
example: true
|
||
isAllowParticipate:
|
||
description: Возможность предложить помощь в реализации идеи для текущего пользователя.
|
||
type: boolean
|
||
example: true
|
||
isCurrentUserVoted:
|
||
description: Текущий пользователь проголосовал за идею.
|
||
type: boolean
|
||
example: false
|
||
isCurrentUserParticipate:
|
||
description: Текущий пользователь предложил помощь в реализации идеи.
|
||
type: boolean
|
||
example: false
|
||
files:
|
||
$ref: '#/components/schemas/files'
|
||
ideaStatusLog:
|
||
description: Лог смены статуса идеи.
|
||
type: object
|
||
properties:
|
||
statusLabel:
|
||
description: Заголовок статуса идеи (локализовано).
|
||
type: string
|
||
example: Идея отклонена!
|
||
comment:
|
||
description: Комментарий к изменению статуса идеи.
|
||
type: string
|
||
example: Текст комментария
|
||
createdUser:
|
||
description: Пользователь изменивший статус идеи.
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Идентификатор пользователя.
|
||
type: string
|
||
format: uuid
|
||
example: a91fe4d9-b486-4e94-9114-18589aad7c7e
|
||
iconUrl:
|
||
description: Ссылка на изображение лица профиля пользователя.
|
||
type: string
|
||
example: https://hrenot.hrbox.io/file/user-face/e2668a74-d171-4d47-b68f-9eb7e7d4e120/300.jpg
|
||
name:
|
||
description: Имя пользователя.
|
||
type: string
|
||
example: Иван Иванов
|
||
entityId:
|
||
description: Идентификатор сущности.
|
||
type: number
|
||
example: 360
|
||
|
||
ideaEdit:
|
||
type: object
|
||
properties:
|
||
title:
|
||
description: Заголовок идеи.
|
||
type: string
|
||
example: Idea example title
|
||
description:
|
||
description: Описание идеи.
|
||
type: string
|
||
example: Idea example description
|
||
department_id:
|
||
description: Идентификатор подразделения.
|
||
type: string
|
||
format: uuid
|
||
example: a91fe4d9-b486-4e94-9114-18589aad7c7e
|
||
idea_purpose_id:
|
||
description: Идентификатор направления идеи.
|
||
type: string
|
||
format: uuid
|
||
example: bf052a5e-eb70-4eb9-b3f1-9ea50d751b0e
|
||
files:
|
||
description: Идентификаторы файлов.
|
||
type: array
|
||
items:
|
||
type: string
|
||
example:
|
||
- '53f2d03c-303a-4a3c-b57f-f7fb62fee538'
|
||
- '42862a16-affa-4ba5-86c5-61376f46d695'
|
||
|
||
tenantInfoModuleCurrency:
|
||
description: Настройки модуля корпоративной валюты.
|
||
type: object
|
||
properties:
|
||
isModuleEnabled:
|
||
description: Модуль корпоративной валюты вкл/выкл.
|
||
type: boolean
|
||
example: true
|
||
default: false
|
||
currencyName:
|
||
description: Название корпоративной валюты.
|
||
type: string
|
||
example: HRенотики
|
||
currencyCode:
|
||
description: Буквенный код валюты.
|
||
type: string
|
||
example: HRE
|
||
isWalletBalanceVisibleInUserProfile:
|
||
description: Отображать баланс кошелька в профиле пользователя.
|
||
type: boolean
|
||
example: true
|
||
default: false
|
||
isAllowToUseCurrencyInAchievements:
|
||
description: Корпоративная валюта в достижениях.
|
||
type: boolean
|
||
example: false
|
||
default: false
|
||
|
||
tenantInfoModuleUserStatus:
|
||
description: Настройки модуля статусов пользователей.
|
||
type: object
|
||
properties:
|
||
isUserStatusEnabled:
|
||
description: Модуль статусов пользователей вкл/выкл.
|
||
type: boolean
|
||
example: true
|
||
default: true
|
||
checkUserStatus:
|
||
description: Спрашивать статус пользователя.
|
||
type: boolean
|
||
example: true
|
||
default: false
|
||
modalHeaderText:
|
||
description: Текст заголовка модального окна.
|
||
type: string
|
||
default: Где вы сегодня работаете?
|
||
modalBodyText:
|
||
description: Текст описания в модальном окне.
|
||
type: string
|
||
default: Друзья, в текущей ситуации нам особенно важно знать, что с вами все в порядке. Поэтому просим вас каждое утро обновлять свой статус, чтобы мы понимали, где вы работаете.
|
||
|
||
userStatus:
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Идентификатор статуса.
|
||
type: string
|
||
format: uuid
|
||
example: b726280a-2be6-4e62-ab24-1736389c6474
|
||
name:
|
||
description: Название статуса.
|
||
type: string
|
||
example: В отпуске
|
||
slug:
|
||
description: Уникальный именуемый идентификатор статуса.
|
||
type: string
|
||
example: vacation
|
||
is_custom:
|
||
description: Статус создан администратором.
|
||
type: boolean
|
||
example: false
|
||
is_editable:
|
||
description: Возможность редактирования статуса.
|
||
type: boolean
|
||
example: false
|
||
is_expire:
|
||
description: Статус со сроком действия.
|
||
type: boolean
|
||
example: false
|
||
display_in_modal:
|
||
description: Запрашивать статус в модальном окне запроса статуса.
|
||
type: boolean
|
||
example: false
|
||
labelColorHEX:
|
||
description: Цвет статуса в HEX кодировке.
|
||
type: string
|
||
example: '#D90000'
|
||
|
||
userStatusSetRequestBody:
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Идентификатор статуса.
|
||
type: string
|
||
format: uuid
|
||
example: b726280a-2be6-4e62-ab24-1736389c6474
|
||
is_enabled:
|
||
description: Состояние статуса.
|
||
type: boolean
|
||
example: true
|
||
expire_at:
|
||
description: Срок действия статуса. Обязателен для установки статусов у которых включен срок действия.
|
||
type: string
|
||
format: date
|
||
|
||
commentStatuses:
|
||
description: >
|
||
Comment statuses list:
|
||
* `1` - Moderation (STATUS_NEW).
|
||
* `2` - Published (STATUS_APPROVED).
|
||
* `3` - Rejected by moderator (STATUS_REJECTED).
|
||
* `4` - Deleted (STATUS_DELETED).
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/status'
|
||
|
||
commentIndex:
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Comment ID.
|
||
type: string
|
||
format: uuid
|
||
example: a91fe4d9-b486-4e94-9114-18589aad7c7e
|
||
parent_id:
|
||
description: Parent comment ID.
|
||
type: string
|
||
format: uuid
|
||
example: a91fe4d9-b486-4e94-9114-18589aad7c7e
|
||
reply_id:
|
||
description: Reply to comment ID.
|
||
type: string
|
||
format: uuid
|
||
example: a91fe4d9-b486-4e94-9114-18589aad7c7e
|
||
entity_id:
|
||
description: Entity ID.
|
||
type: number
|
||
example: 1
|
||
reference_id:
|
||
description: Reference ID.
|
||
type: string
|
||
format: uuid
|
||
example: a91fe4d9-b486-4e94-9114-18589aad7c7e
|
||
created_at:
|
||
description: Comment creation date.
|
||
type: string
|
||
format: 'date-time'
|
||
example: 2023-01-01 00:00:00
|
||
updated_at:
|
||
description: Comment edit date.
|
||
type: string
|
||
format: 'date-time'
|
||
example: 2023-01-01 00:00:00
|
||
message:
|
||
description: Comment text.
|
||
type: string
|
||
example: Test
|
||
files:
|
||
$ref: '#/components/schemas/files'
|
||
status:
|
||
$ref: '#/components/schemas/status'
|
||
createdUser:
|
||
$ref: '#/components/schemas/userInfo'
|
||
referenceName:
|
||
description: Reference title or name.
|
||
type: string
|
||
example: Test reference
|
||
referenceUrl:
|
||
description: Reference URL.
|
||
type: string
|
||
example: https://hrenot.hrbox.io/content/idea/view?id=4405d4aa-82ed-44d4-a2b4-5e2ab4f611f1
|
||
|
||
commentView:
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Comment ID.
|
||
type: string
|
||
format: uuid
|
||
example: a91fe4d9-b486-4e94-9114-18589aad7c7e
|
||
parent_id:
|
||
description: Parent comment ID.
|
||
type: string
|
||
format: uuid
|
||
example: a91fe4d9-b486-4e94-9114-18589aad7c7e
|
||
default: null
|
||
reply_id:
|
||
description: Reply to comment ID.
|
||
type: string
|
||
format: uuid
|
||
default: null
|
||
entity_id:
|
||
description: Entity ID.
|
||
type: number
|
||
example: 1
|
||
reference_id:
|
||
description: Reference ID.
|
||
type: string
|
||
format: uuid
|
||
example: a91fe4d9-b486-4e94-9114-18589aad7c7e
|
||
created_at:
|
||
description: Comment creation date.
|
||
type: string
|
||
format: 'date-time'
|
||
example: 2023-01-01 00:00:00
|
||
updated_at:
|
||
description: Comment edit date.
|
||
type: string
|
||
format: 'date-time'
|
||
example: 2023-01-01 00:00:00
|
||
message:
|
||
description: Comment text.
|
||
type: string
|
||
example: Test
|
||
files:
|
||
$ref: '#/components/schemas/files'
|
||
status:
|
||
$ref: '#/components/schemas/status'
|
||
createdUser:
|
||
$ref: '#/components/schemas/userInfo'
|
||
|
||
commentGet:
|
||
type: object
|
||
properties:
|
||
entity_id:
|
||
description: Requested entity ID.
|
||
type: number
|
||
example: 1
|
||
reference_id:
|
||
description: Requested reference ID.
|
||
type: string
|
||
format: uuid
|
||
example: edee4e11-dab5-4aac-93ac-43c379aab6b2
|
||
data:
|
||
type: array
|
||
items:
|
||
properties:
|
||
id:
|
||
description: Comment ID.
|
||
type: string
|
||
format: uuid
|
||
example: a91fe4d9-b486-4e94-9114-18589aad7c7e
|
||
parent_id:
|
||
description: Parent comment ID.
|
||
type: string
|
||
format: uuid
|
||
default: null
|
||
reply_id:
|
||
description: Reply to comment ID.
|
||
type: string
|
||
format: uuid
|
||
default: null
|
||
entity_id:
|
||
description: Entity ID.
|
||
type: number
|
||
example: 1
|
||
reference_id:
|
||
description: Reference ID.
|
||
type: string
|
||
format: uuid
|
||
example: edee4e11-dab5-4aac-93ac-43c379aab6b2
|
||
created_at:
|
||
description: Comment creation date.
|
||
type: string
|
||
format: 'date-time'
|
||
example: 2023-01-01 00:00:00
|
||
updated_at:
|
||
description: Comment edit date.
|
||
type: string
|
||
format: 'date-time'
|
||
example: 2023-01-01 00:00:00
|
||
message:
|
||
description: Comment text.
|
||
type: string
|
||
example: Test
|
||
replies:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/commentView'
|
||
files:
|
||
$ref: '#/components/schemas/files'
|
||
status:
|
||
$ref: '#/components/schemas/status'
|
||
createdUser:
|
||
$ref: '#/components/schemas/userInfo'
|
||
|
||
commentAddRequestBody:
|
||
type: object
|
||
properties:
|
||
entity_id:
|
||
description: Entity ID.
|
||
# required: true
|
||
type: number
|
||
example: 1
|
||
reference_id:
|
||
description: Reference ID.
|
||
# required: true
|
||
type: string
|
||
format: uuid
|
||
example: edee4e11-dab5-4aac-93ac-43c379aab6b2
|
||
reply_id:
|
||
description: Reply to comment ID.
|
||
type: string
|
||
format: uuid
|
||
default: null
|
||
message:
|
||
description: Comment text.
|
||
# required: true
|
||
type: string
|
||
example: Test
|
||
maxLength: 2000
|
||
files:
|
||
description: Array of file IDs.
|
||
type: array
|
||
items:
|
||
type: string
|
||
example:
|
||
- '53f2d03c-303a-4a3c-b57f-f7fb62fee538'
|
||
- '42862a16-affa-4ba5-86c5-61376f46d695'
|
||
|
||
commentAddResponse:
|
||
type: object
|
||
properties:
|
||
success:
|
||
description: Result status.
|
||
type: boolean
|
||
example: true
|
||
message:
|
||
description: Message displayed to user (localized).
|
||
type: string
|
||
default: null
|
||
example: Comment added!
|
||
errors:
|
||
description: Array of validation errors.
|
||
type: array
|
||
default: null
|
||
data:
|
||
type: object
|
||
properties:
|
||
isApprovable:
|
||
description: If moderation is required, the value will be true.
|
||
type: boolean
|
||
example: false
|
||
comment:
|
||
$ref: '#/components/schemas/commentView'
|
||
|
||
fileIndex:
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: File model ID.
|
||
type: string
|
||
format: uuid
|
||
example: e456bfb3-31dc-4c94-81ca-17dc49043a2b
|
||
name:
|
||
description: File name.
|
||
type: string
|
||
example: 2023-12-05 15-08-10.png
|
||
url:
|
||
description: File open URL.
|
||
type: string
|
||
example: https://demo.hrbox.io/file/open/e456bfb3-31dc-4c94-81ca-17dc49043a2b.jpg
|
||
ext:
|
||
description: File extension.
|
||
type: string
|
||
example: png
|
||
meta:
|
||
description: File meta information.
|
||
type: object
|
||
default: null
|
||
example: {
|
||
"width": 1920,
|
||
"height": 1080
|
||
}
|
||
properties:
|
||
width:
|
||
description: Image width.
|
||
type: integer
|
||
example: 1920
|
||
height:
|
||
description: Image height.
|
||
type: integer
|
||
example: 1080
|
||
file_type:
|
||
description: File type.
|
||
type: string
|
||
enum:
|
||
- image
|
||
- video
|
||
- document
|
||
- archive
|
||
- other
|
||
- encrypted
|
||
example: image
|
||
is_public:
|
||
description: File is public.
|
||
type: boolean
|
||
example: false
|
||
mime_type:
|
||
description: File MIME-Type.
|
||
type: string
|
||
example: image/png
|
||
size:
|
||
description: File size.
|
||
type: integer
|
||
example: 7894
|
||
shortSize:
|
||
description: File format size.
|
||
type: string
|
||
example: 7,894 КБ
|
||
|
||
categoryRoot:
|
||
type: array
|
||
items:
|
||
description: Categories list.
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Category ID.
|
||
type: integer
|
||
example: 1
|
||
name:
|
||
description: Category name (localized).
|
||
type: string
|
||
example: Category 1
|
||
|
||
category:
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Category ID.
|
||
type: string
|
||
format: uuid
|
||
example: 76080562-3a5e-4826-8799-7638b775bcd0
|
||
title:
|
||
description: Category title.
|
||
type: string
|
||
example: Category 1
|
||
description:
|
||
description: Category description.
|
||
type: string
|
||
example: Description text
|
||
status_id:
|
||
description: Category status ID.
|
||
type: number
|
||
example: 1
|
||
root_id:
|
||
description: Category root ID.
|
||
type: number
|
||
example: 1
|
||
hash_id:
|
||
description: Category hash ID.
|
||
type: string
|
||
example: 6c91d43fd9
|
||
thumb_style_id:
|
||
description: Category thumb style ID.
|
||
type: number
|
||
example: 1
|
||
content_style_id:
|
||
description: Category content style ID.
|
||
type: number
|
||
example: 1
|
||
iconUrl:
|
||
description: Category icon URL.
|
||
type: string
|
||
example: http://hr.lh/img/nophoto.png
|
||
thumbUrl:
|
||
description: Category thumb URL.
|
||
type: string
|
||
example: http://hr.lh/img/nophoto.png
|
||
imageUrl:
|
||
description: Category image URL.
|
||
type: string
|
||
example: http://hr.lh/img/noarticle.png
|
||
|
||
wallet:
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Wallet ID.
|
||
type: string
|
||
format: uuid
|
||
example: 485781ba-95a1-4c5c-9210-7a895ac7dc0e
|
||
status_id:
|
||
description: Wallet status ID.
|
||
type: number
|
||
example: 1
|
||
user_id:
|
||
description: User ID.
|
||
type: string
|
||
format: uuid
|
||
example: 070ca51a-2363-419e-bfe0-48fce85acfa5
|
||
balance:
|
||
description: Wallet balance.
|
||
type: number
|
||
example: 1
|
||
|
||
shopProductSortType:
|
||
type: array
|
||
items:
|
||
description: Sort types.
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Sort type ID.
|
||
type: string
|
||
example: id
|
||
name:
|
||
description: Sort type name (localized).
|
||
type: string
|
||
example: Type name
|
||
|
||
shopProductImages:
|
||
description: Дополнительное изображение товара.
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: FIle ID.
|
||
type: string
|
||
format: uuid
|
||
example: df7784cc-4d19-4c6c-8c7a-403751fec1b8
|
||
url:
|
||
description: FIle open URL.
|
||
type: string
|
||
example: http://hr.lh/file/open/df7784cc-4d19-4c6c-8c7a-403751fec1b8.jpg
|
||
|
||
shopProductOption:
|
||
description: Shop product option.
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Option ID.
|
||
type: string
|
||
format: uuid
|
||
example: e25ea810-bbc2-4b1e-84ca-8ed56d4594ec
|
||
sort_index:
|
||
description: Option sort index.
|
||
type: number
|
||
example: 0
|
||
name:
|
||
description: Option name.
|
||
type: string
|
||
example: Type name
|
||
count:
|
||
description: Products count.
|
||
type: number
|
||
example: 1
|
||
entityId:
|
||
description: Entity ID.
|
||
type: number
|
||
example: 1
|
||
|
||
shopProduct:
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Product ID.
|
||
type: string
|
||
format: uuid
|
||
example: 76080562-3a5e-4826-8799-7638b775bcd0
|
||
title:
|
||
description: Product title.
|
||
type: string
|
||
example: Product 1
|
||
description:
|
||
description: Product description.
|
||
type: string
|
||
example: Description text
|
||
price:
|
||
description: Product price.
|
||
type: number
|
||
example: 1
|
||
totalCount:
|
||
description: Сумма количества товара во всех опциях товара.
|
||
type: number
|
||
example: 1
|
||
preview:
|
||
description: Product preview image.
|
||
type: string
|
||
example: http://hr.lh/file/resize/1200x1200/158712e1-78ed-4583-b5f1-6a0a083824a6.jpg
|
||
images:
|
||
description: Дополнительные изображения товара.
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/shopProductImages'
|
||
options:
|
||
description: Shop product options.
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/shopProductOption'
|
||
entityId:
|
||
description: Entity ID.
|
||
type: number
|
||
example: 1
|
||
|
||
shopProductIndex:
|
||
$ref: '#/components/schemas/shopProduct'
|
||
|
||
shopProductView:
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Product ID.
|
||
type: string
|
||
format: uuid
|
||
example: 76080562-3a5e-4826-8799-7638b775bcd0
|
||
title:
|
||
description: Product title.
|
||
type: string
|
||
example: Product 1
|
||
description:
|
||
description: Product description.
|
||
type: string
|
||
example: Description text
|
||
price:
|
||
description: Product price.
|
||
type: number
|
||
example: 1
|
||
totalCount:
|
||
description: Сумма количества товара во всех опциях товара.
|
||
type: number
|
||
example: 1
|
||
shopProductOption:
|
||
$ref: '#/components/schemas/shopProductOption'
|
||
preview:
|
||
description: Product preview image.
|
||
type: string
|
||
example: http://hr.lh/file/resize/1200x1200/158712e1-78ed-4583-b5f1-6a0a083824a6.jpg
|
||
images:
|
||
description: Дополнительные изображения товара.
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/shopProductImages'
|
||
options:
|
||
description: Shop product options.
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/shopProductOption'
|
||
entityId:
|
||
description: Entity ID.
|
||
type: number
|
||
example: 1
|
||
|
||
shopOrderDeliveryAddresses:
|
||
type: object
|
||
properties:
|
||
addresses:
|
||
description: Array of delivery address strings.
|
||
type: array
|
||
items:
|
||
type: string
|
||
example:
|
||
- 'Address 1'
|
||
- 'Address 2'
|
||
|
||
shopOrder:
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Order ID.
|
||
type: string
|
||
format: uuid
|
||
example: 0310635d-2c72-4219-9038-bf2ac8f14206
|
||
created_at:
|
||
description: Creation date.
|
||
type: string
|
||
format: 'date-time'
|
||
example: 2024-01-01 00:00:00
|
||
created_user_id:
|
||
description: User ID.
|
||
type: string
|
||
format: uuid
|
||
num:
|
||
description: Order number.
|
||
type: number
|
||
example: 1
|
||
order_status_id:
|
||
description: Order status ID. See /shop/order/statuses list.
|
||
type: number
|
||
example: 1
|
||
delivery_address:
|
||
description: Delivery address.
|
||
type: string
|
||
example: Address 1
|
||
default: null
|
||
countCartPositions:
|
||
description: Count of cart positions.
|
||
type: number
|
||
example: 1
|
||
countCartTotal:
|
||
description: Total count of cart items.
|
||
type: number
|
||
example: 2
|
||
sumCart:
|
||
description: Total cart sum.
|
||
type: number
|
||
example: 200
|
||
shopCart:
|
||
type: array
|
||
items:
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Cart item ID.
|
||
type: string
|
||
format: uuid
|
||
example: 195e1707-3f5d-4780-8dc1-b1023e1f974f
|
||
status_id:
|
||
type: integer
|
||
description: 1 - active, 2 - disabled, 3 - deleted
|
||
enum:
|
||
- 1
|
||
- 2
|
||
- 3
|
||
shop_item_id:
|
||
description: Product ID.
|
||
type: string
|
||
format: uuid
|
||
example: 11412fa5-031d-49c8-b7c9-2b5683e54bb8
|
||
shop_product_option_id:
|
||
description: Product option ID.
|
||
type: string
|
||
format: uuid
|
||
example: dadbf34e-6c16-4bb8-a19a-4932df2ec116
|
||
price:
|
||
description: Product cost at the time of order creation.
|
||
type: number
|
||
example: 100
|
||
count:
|
||
description: Count of product units.
|
||
type: number
|
||
example: 2
|
||
comment:
|
||
description: Comment text.
|
||
type: string
|
||
example: Example text
|
||
shopProductIcon:
|
||
description: Product icon.
|
||
type: string
|
||
example: http://hr.lh/file/resize/64x64/158712e1-78ed-4583-b5f1-6a0a083824a6.jpg
|
||
shopProductTitle:
|
||
description: Product title.
|
||
type: string
|
||
example: Example text
|
||
shopProductOptionName:
|
||
description: Product option name.
|
||
type: string
|
||
example: Example text
|
||
entityId:
|
||
description: Entity ID.
|
||
type: number
|
||
example: 1
|
||
|
||
shopOrderIndex:
|
||
$ref: '#/components/schemas/shopOrder'
|
||
|
||
shopOrderView:
|
||
$ref: '#/components/schemas/shopOrder'
|
||
|
||
survey:
|
||
type: object
|
||
description: "Опрос"
|
||
properties:
|
||
id:
|
||
type: string
|
||
format: uuid
|
||
name:
|
||
type: string
|
||
default: "Main survey"
|
||
description: "Название"
|
||
type_id:
|
||
type: integer
|
||
description: "Тип опроса"
|
||
oneOf:
|
||
- title: DEFAULT
|
||
const: 1
|
||
description: "Обычный"
|
||
- title: ICSI
|
||
const: 2
|
||
description: "ICSI"
|
||
- title: SURVEY_360
|
||
const: 360
|
||
description: "360"
|
||
- title: FEEDBACK
|
||
const: 6
|
||
description: "Обратная связь"
|
||
type_name:
|
||
type: string
|
||
default: "Обычный"
|
||
description: "Тип опроса"
|
||
is_available:
|
||
type: boolean
|
||
description: "Доступен всем"
|
||
is_available_by_date:
|
||
type: boolean
|
||
description: "Доступность по дате"
|
||
is_choice_anonymous:
|
||
type: boolean
|
||
description: "Возможность выбора анонимности"
|
||
available_date:
|
||
type: string
|
||
format: date_time
|
||
description: "Дата доступа"
|
||
deadline_at:
|
||
type: string
|
||
format: date_time
|
||
description: "Дата дедлайна"
|
||
canStart:
|
||
type: boolean
|
||
description: "Возможность начать прохождение"
|
||
urlStart:
|
||
type: string
|
||
description: "Ссылка на прохождение опроса"
|
||
result_params:
|
||
type: object
|
||
properties:
|
||
allow_repeat:
|
||
type: boolean
|
||
description: "Возможность перепройти опрос"
|
||
show_results:
|
||
type: boolean
|
||
description: "Возможность смотреть результат"
|
||
|
||
surveyAssignment:
|
||
type: object
|
||
description: "Назначение на опрос"
|
||
properties:
|
||
id:
|
||
type: string
|
||
format: uuid
|
||
is_anonymous:
|
||
type: boolean
|
||
description: "Анонимное прохождение"
|
||
started_at:
|
||
type: string
|
||
format: date_time
|
||
description: "Дата начала"
|
||
finished_at:
|
||
type: string
|
||
format: date_time
|
||
description: "Дата завершения"
|
||
created_at:
|
||
type: string
|
||
format: date_time
|
||
description: "Дата назначения"
|
||
survey360MatrixPositionName:
|
||
type: string
|
||
description: "В какой роли прохождение опроса"
|
||
survey360_matrix_position_id:
|
||
type: string
|
||
format: uuid
|
||
description: "Id роли прохождения"
|
||
surveyAssignmentStatusName:
|
||
type: string
|
||
description: "Название статуса"
|
||
survey_assignment_status_id:
|
||
type: integer
|
||
description: Статус прохождения опроса
|
||
oneOf:
|
||
- title: STATUS_COMPLETED
|
||
const: 1
|
||
description: "Завершен"
|
||
- title: STATUS_NOT_STARTED
|
||
const: 2
|
||
description: "Не пройден"
|
||
- title: STATUS_IN_PROGRESS
|
||
const: 3
|
||
description: "В процессе"
|
||
type_id:
|
||
type: number
|
||
description: "Тип назначения"
|
||
oneOf:
|
||
- title: NORMAL_ASSIGN
|
||
const: 1
|
||
description: "Вручную"
|
||
- title: SELF_ASSIGN
|
||
const: 3
|
||
description: "Самоназначение"
|
||
survey_id:
|
||
type: string
|
||
format: uuid
|
||
description: "Id опроса"
|
||
survey_target_id:
|
||
type: string
|
||
format: uuid
|
||
description: "Id таргета"
|
||
canStart:
|
||
type: boolean
|
||
description: "Возможность начать или продолжить прохождение"
|
||
urlStart:
|
||
type: string
|
||
description: "Ссылка на прохождение опроса"
|
||
cabinetReportChoicesUrl:
|
||
type: string
|
||
description: "Ссылка на просмотр результата, если значение null, то нет доступа для просмотра"
|
||
|
||
surveyTarget:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
format: uuid
|
||
entity_id:
|
||
type: integer
|
||
description: "Id сущности"
|
||
item_id:
|
||
type: integer
|
||
description: "Id записи сущности"
|
||
targetName:
|
||
type: string
|
||
description: "Название, заголовок записи сущности"
|
||
target:
|
||
oneOf:
|
||
- $ref: '#/components/schemas/userProfile'
|
||
|
||
mdWidgetUserItem:
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: User ID
|
||
type: string
|
||
format: uuid
|
||
example: 195e1707-3f5d-4780-8dc1-b1023e1f974f
|
||
itemTitle:
|
||
description: User name
|
||
type: string
|
||
itemUrl:
|
||
description: User profile URL
|
||
type: string
|
||
example: https://hrenot.hrnox.io/core/user/view?id=5bc40c54-da74-4d5b-ac24-123374dc1a5a
|
||
itemImageUrl:
|
||
description: User avatar URL
|
||
type: string
|
||
example: https://hrenot.hrnox.io/file/user-face/5bc40c54-da74-4d5b-ac24-123374dc1a5a/300.jpg
|
||
itemEntityId:
|
||
description: Entity ID
|
||
type: number
|
||
example: 1
|
||
itemTip:
|
||
description: User position
|
||
type: string
|
||
example: CEO
|
||
itemDate:
|
||
description: Date board item
|
||
type: string
|
||
format: date
|
||
example: 19 july
|
||
data:
|
||
type: object
|
||
properties:
|
||
position:
|
||
description: User position
|
||
type: string
|
||
example: CEO
|
||
departmentName:
|
||
description: User department name
|
||
type: string
|
||
example: 'New Department'
|
||
isFavorite:
|
||
description: Находится ли пользователь в избранном
|
||
type: boolean
|
||
|
||
shopOrderCheckoutRequestBody:
|
||
type: object
|
||
properties:
|
||
selectedAddress:
|
||
description: Адрес доставки. Требуется если tenantInfo.modules.shop.isAllowCustomDeliveryAddress равен true и не указан customAddress.
|
||
type: string
|
||
example: Address 1
|
||
customAddress:
|
||
description: Адрес доставки. Требуется если tenantInfo.modules.shop.isAllowCustomDeliveryAddress равен true и не указан selectedAddress.
|
||
type: string
|
||
default: null
|
||
message:
|
||
description: Комментарий к заказу.
|
||
type: string
|
||
maxLength: 512
|
||
example: Example text
|
||
shopCartId:
|
||
description: Массив shop_cart_id
|
||
type: array
|
||
items:
|
||
type: string
|
||
format: uuid
|
||
shopCartAll:
|
||
description: Добавить все товары которые есть в корзине
|
||
type: boolean
|
||
default: false
|
||
cart:
|
||
description: Корзина товаров.
|
||
type: array
|
||
items:
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Product option ID.
|
||
type: string
|
||
format: uuid
|
||
example: e25ea810-bbc2-4b1e-84ca-8ed56d4594ec
|
||
cartCount:
|
||
description: Количество единиц текущей позиции товара.
|
||
type: number
|
||
example: 2
|
||
|
||
shopOrderCheckoutResponse:
|
||
type: object
|
||
properties:
|
||
success:
|
||
description: Result status.
|
||
type: boolean
|
||
example: false
|
||
message:
|
||
description: Message displayed to user (localized).
|
||
type: string
|
||
default: null
|
||
example: Example text
|
||
errors:
|
||
description: Array of validation errors.
|
||
type: array
|
||
default: null
|
||
data:
|
||
type: object
|
||
properties:
|
||
notFoundProducts:
|
||
description: Список идентификаторов товаров которые не были найдены. Возвращается в случае если товар не найден.
|
||
type: array
|
||
items:
|
||
type: string
|
||
example:
|
||
- 'e25ea810-bbc2-4b1e-84ca-8ed56d4594ec'
|
||
- 'ddbbec20-ec4d-42c5-8b11-1bb2d08e6465'
|
||
unavailableProducts:
|
||
description: Список идентификаторов товаров которых нет в наличии. Возвращается в случае если в корзине присутствуют товары которых больше нет в наличии.
|
||
type: array
|
||
items:
|
||
type: string
|
||
example:
|
||
- 'e25ea810-bbc2-4b1e-84ca-8ed56d4594ec'
|
||
- 'ddbbec20-ec4d-42c5-8b11-1bb2d08e6465'
|
||
products:
|
||
description: Возвращается в случае если в корзине присутствуют товары которых в наличии меньше чем указано в заказе.
|
||
type: array
|
||
items:
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Product option ID.
|
||
type: string
|
||
format: uuid
|
||
example: e25ea810-bbc2-4b1e-84ca-8ed56d4594ec
|
||
count:
|
||
description: Количество товара в наличии.
|
||
type: number
|
||
example: 1
|
||
balance:
|
||
description: Текущий баланс кошелька пользователя. Возвращается в случае успешного совершения заказа.
|
||
type: number
|
||
example: 100
|
||
shopOrder:
|
||
description: Данные заказа. Возвращается в случае успешного совершения заказа.
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Order ID.
|
||
type: string
|
||
format: uuid
|
||
example: 0310635d-2c72-4219-9038-bf2ac8f14206
|
||
created_at:
|
||
description: Creation date.
|
||
type: string
|
||
format: 'date-time'
|
||
example: 2024-01-01 00:00:00
|
||
num:
|
||
description: Order number.
|
||
type: number
|
||
example: 1
|
||
delivery_address:
|
||
description: Delivery address.
|
||
type: string
|
||
example: Address 1
|
||
default: null
|
||
|
||
shopOrderPositionRemoveRequestBody:
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Cart item ID.
|
||
type: string
|
||
format: uuid
|
||
example: 195e1707-3f5d-4780-8dc1-b1023e1f974f
|
||
comment:
|
||
description: Comment text.
|
||
type: string
|
||
example: Example text
|
||
|
||
apiDefaultResponse:
|
||
type: object
|
||
properties:
|
||
success:
|
||
description: Result status.
|
||
type: boolean
|
||
example: true
|
||
message:
|
||
description: Message displayed to user (localized).
|
||
type: string
|
||
default: null
|
||
errors:
|
||
description: Array of validation errors.
|
||
type: array
|
||
default: null
|
||
data:
|
||
type: object
|
||
default: null
|
||
|
||
shopOrderPositionRemoveResponse:
|
||
$ref: '#/components/schemas/apiDefaultResponse'
|
||
|
||
shopOrderPositionRestoreRequestBody:
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Cart item ID.
|
||
type: string
|
||
format: uuid
|
||
example: 195e1707-3f5d-4780-8dc1-b1023e1f974f
|
||
|
||
shopOrderPositionRestoreResponse:
|
||
$ref: '#/components/schemas/apiDefaultResponse'
|
||
|
||
shopOrderPositionChangeCommentRequestBody:
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Cart item ID.
|
||
type: string
|
||
format: uuid
|
||
example: 195e1707-3f5d-4780-8dc1-b1023e1f974f
|
||
comment:
|
||
description: Comment text.
|
||
type: string
|
||
example: Example text
|
||
|
||
shopOrderPositionChangeCommentResponse:
|
||
$ref: '#/components/schemas/apiDefaultResponse'
|
||
|
||
shopOrderCancelRequestBody:
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Order ID.
|
||
type: string
|
||
format: uuid
|
||
example: 195e1707-3f5d-4780-8dc1-b1023e1f974f
|
||
message:
|
||
description: Comment text.
|
||
type: string
|
||
example: Example text
|
||
|
||
shopOrderCancelResponse:
|
||
$ref: '#/components/schemas/apiDefaultResponse'
|
||
|
||
orgEmployment:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
format: uuid
|
||
example: "db43fc69-35f7-4c66-8a63-633b5e9abe33"
|
||
organization_id:
|
||
type: string
|
||
example: "default"
|
||
org_department_id:
|
||
type: string
|
||
format: uuid
|
||
example: "0212e611-5b19-43f9-8389-7f6a4b87462d"
|
||
chief_id:
|
||
type:
|
||
- string
|
||
- null
|
||
example: null
|
||
chief_organization_id:
|
||
type: string
|
||
example: "default"
|
||
position:
|
||
type: string
|
||
example: "Водитель"
|
||
employment_date:
|
||
type: string
|
||
format: date
|
||
example: "2019-09-25"
|
||
fired_date:
|
||
type:
|
||
- string
|
||
- null
|
||
format: date
|
||
example: null
|
||
changed_at:
|
||
type: string
|
||
format: date-time
|
||
example: "2025-04-22 05:20:57"
|
||
org_num:
|
||
type: string
|
||
example: "db43fc69-35f7-4c66-8a63-633b5e9abe33"
|
||
is_removed:
|
||
type: boolean
|
||
example: false
|
||
first_name:
|
||
type: string
|
||
example: "Иван"
|
||
last_name:
|
||
type: string
|
||
example: "Петрович"
|
||
middle_name:
|
||
type: string
|
||
example: "F"
|
||
birthday_date:
|
||
type: string
|
||
format: date
|
||
example: "2004-04-04"
|
||
gender:
|
||
type: string
|
||
enum:
|
||
- male
|
||
- female
|
||
example: "male"
|
||
photo:
|
||
type:
|
||
- string
|
||
- null
|
||
example: null
|
||
emails:
|
||
type: array
|
||
items:
|
||
type: string
|
||
format: email
|
||
example: [ ]
|
||
phones:
|
||
type: array
|
||
items:
|
||
type: string
|
||
example: [ ]
|
||
other_contacts:
|
||
type: array
|
||
items:
|
||
type: string
|
||
example: [ ]
|
||
user_custom_fields:
|
||
type: array
|
||
items:
|
||
type: object
|
||
example: [ ]
|
||
custom:
|
||
type: array
|
||
items:
|
||
type: object
|
||
example: [ ]
|
||
cabinet:
|
||
type: string
|
||
example: "230"
|
||
city:
|
||
type: string
|
||
example: "Караганда"
|
||
country_id:
|
||
type:
|
||
- string
|
||
- null
|
||
example: null
|
||
timezone_id:
|
||
type:
|
||
- string
|
||
- null
|
||
example: null
|
||
statuses:
|
||
type: array
|
||
items:
|
||
type: string
|
||
example: [ ]
|
||
login:
|
||
type:
|
||
- string
|
||
- null
|
||
example: null
|
||
auth_email:
|
||
type:
|
||
- string
|
||
- null
|
||
format: email
|
||
example: null
|
||
expert_user_id:
|
||
type:
|
||
- string
|
||
- null
|
||
example: null
|
||
orgDepartment:
|
||
$ref: "#/components/schemas/orgDepartment"
|
||
|
||
orgDepartment:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
format: uuid
|
||
example: "0212e611-5b19-43f9-8389-7f6a4b87462d"
|
||
organization_id:
|
||
type: string
|
||
example: "default"
|
||
name:
|
||
type: string
|
||
example: "HRBox org"
|
||
parent_id:
|
||
type:
|
||
- string
|
||
- null
|
||
example: null
|
||
chief_id:
|
||
type:
|
||
- string
|
||
- null
|
||
example: null
|
||
chief_organization_id:
|
||
type:
|
||
- string
|
||
- null
|
||
example: null
|
||
changed_at:
|
||
type: string
|
||
format: date-time
|
||
example: "2025-04-28 19:13:28"
|
||
org_num:
|
||
type: string
|
||
example: "2345"
|
||
is_removed:
|
||
type: boolean
|
||
example: false
|
||
department_id:
|
||
type: string
|
||
format: uuid
|
||
example: "5270b5ce-8320-4d83-a096-8a72f8c24307"
|
||
is_ignored:
|
||
type: boolean
|
||
example: false
|
||
is_synced:
|
||
type: boolean
|
||
example: false
|
||
|
||
orgEmploymentFile:
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: ID записи
|
||
type: string
|
||
format: uuid
|
||
example: 195e1707-3f5d-4780-8dc1-b1023e1f974f
|
||
org_employment_id:
|
||
description: ID конкретного сотрудника
|
||
type: string
|
||
format: uuid
|
||
example: 195e1707-3f5d-4780-8dc1-b1023e1f974f
|
||
org_employment_file_status_id:
|
||
$ref: '#/components/schemas/orgEmploymentFileStatus'
|
||
org_employment_file_type_id:
|
||
$ref: '#/components/schemas/orgEmploymentFileType'
|
||
custom_id:
|
||
description: ID кастомной обработки
|
||
type: string
|
||
maxLength: 127
|
||
date_from:
|
||
description: Дата с (например для расчетной ведомости, за период с)
|
||
type: string
|
||
format: 'date'
|
||
example: 2025-04-23
|
||
date_to:
|
||
description: Дата по (например для расчетной ведомости, за период по)
|
||
type: string
|
||
format: 'date'
|
||
example: 2025-04-27
|
||
created_at:
|
||
type: string
|
||
description: Дата последнего изменения
|
||
format: 'date-time'
|
||
example: 2025-04-25 16:15:03
|
||
updated_at:
|
||
type: string
|
||
description: Дата создания
|
||
format: 'date-time'
|
||
example: 2025-04-25 16:15:03
|
||
ready_at:
|
||
type: string
|
||
format: 'date-time'
|
||
example: 2025-04-25 16:15:03
|
||
organization_id:
|
||
type: string
|
||
description: ID организации
|
||
format: uuid
|
||
example: 195e1707-3f5d-4780-8dc1-b1023e1f974f
|
||
user_id:
|
||
type: string
|
||
description: ID пользователя
|
||
format: uuid
|
||
example: 195e1707-3f5d-4780-8dc1-b1023e1f974f
|
||
file:
|
||
description: Файл кадрового документа
|
||
anyOf:
|
||
- $ref: '#/components/schemas/fileIndex'
|
||
- type: 'null'
|
||
|
||
orgEmploymentFileType:
|
||
type: string
|
||
description: >
|
||
Тип документа:
|
||
* `payslip` - Расчетный лист (PAYSLIP).
|
||
* `ndfl2` - 2НДФЛ (NDFL2).
|
||
* `custom` - Кастомный тип (CUSTOM).
|
||
enum:
|
||
- payslip
|
||
- ndfl2
|
||
- custom
|
||
|
||
orgEmploymentFileStatus:
|
||
type: integer
|
||
description: >
|
||
Состояние документа:
|
||
* `1` - Запрошен (REQUESTED).
|
||
* `2` - В обработке (PENDING).
|
||
* `3` - Готов (READY).
|
||
enum:
|
||
- 1
|
||
- 2
|
||
- 3
|
||
|
||
# КЭДО -->
|
||
|
||
kedoDocument:
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Идентификатор запроса на подпись
|
||
type: string
|
||
format: uuid
|
||
example: a91fe4d9-b486-4e94-9114-18589aad7c7e
|
||
created_at:
|
||
description: Дата создания
|
||
type: string
|
||
format: 'date-time'
|
||
example: 2025-01-01 00:00:00
|
||
sign_request_status_id:
|
||
description: Статус запроса на подпись
|
||
type: integer
|
||
example: 1
|
||
deadline_at:
|
||
description: Дедлайн подписания
|
||
type: string
|
||
format: 'date-time'
|
||
example: 2025-01-01 00:00:00
|
||
cancelled_at:
|
||
description: Дата отмены запроса на подпись
|
||
type: string
|
||
format: 'date-time'
|
||
example: 2025-01-01 00:00:00
|
||
comment:
|
||
description: Комментарий
|
||
type: string
|
||
example: Текст комментария
|
||
org_employment_file_type_id:
|
||
description: Тип документа
|
||
type: string
|
||
example: example
|
||
file:
|
||
$ref: '#/components/schemas/file'
|
||
user:
|
||
$ref: '#/components/schemas/userInfo'
|
||
isCurrentUserSigned:
|
||
description: Текущий пользователь подписал документ
|
||
type: boolean
|
||
example: true
|
||
|
||
kedoDocumentIndex:
|
||
$ref: '#/components/schemas/kedoDocument'
|
||
|
||
kedoDocumentView:
|
||
$ref: '#/components/schemas/kedoDocument'
|
||
|
||
kedoSignRequestCreateRequestBody:
|
||
type: object
|
||
properties:
|
||
file_id:
|
||
description: Идентификатор файла
|
||
required: true
|
||
type: string
|
||
format: uuid
|
||
document_type_id:
|
||
description: Тип документа
|
||
required: true
|
||
type: number
|
||
example: 1
|
||
deadline_at:
|
||
description: Дата дедлайна подписания документа
|
||
type: string
|
||
format: 'date-time'
|
||
example: 2025-01-01 00:00:00
|
||
comment:
|
||
description: Комментарий
|
||
type: string
|
||
format: 'date-time'
|
||
example: Example text
|
||
request_users:
|
||
description: Подписанты
|
||
required: true
|
||
type: array
|
||
items:
|
||
type: object
|
||
properties:
|
||
users:
|
||
description: Идентификаторы слотов из /enum/sign-request-slot-type
|
||
type: array
|
||
items:
|
||
type: integer
|
||
example:
|
||
- 1
|
||
- 2
|
||
- 3
|
||
key:
|
||
description: Идентификаторы user_list_key виджета выбора структуры
|
||
type: array
|
||
items:
|
||
type: string
|
||
example:
|
||
- 'a83fc7ec-db7c-49b3-b0db-4ad4cba2c69b'
|
||
- '5db5ee50-75f9-44f3-bc46-ccfa566563eb'
|
||
- 'd968f01a-0151-4685-8104-c496e4e8946b'
|
||
|
||
kedoSignRequestCreateResponse:
|
||
$ref: '#/components/schemas/responseObject'
|
||
properties:
|
||
data:
|
||
$ref: '#/components/schemas/kedoDocument'
|
||
|
||
kedoSignRequestCancelRequestBody:
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Идентификатор запроса на подпись
|
||
required: true
|
||
type: string
|
||
format: uuid
|
||
|
||
kedoSignRequestCancelResponse:
|
||
$ref: '#/components/schemas/responseObject'
|
||
|
||
kedoInstanceIndex:
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Идентификатор экземпляра
|
||
type: string
|
||
format: uuid
|
||
example: 073f11ed-3329-4c95-9966-f25b15846ea2
|
||
kedo_document_id:
|
||
description: Идентификатор запроса на подпись
|
||
type: string
|
||
format: uuid
|
||
example: a91fe4d9-b486-4e94-9114-18589aad7c7e
|
||
mainSignerUser:
|
||
$ref: '#/components/schemas/userInfo'
|
||
signersCount:
|
||
description: Количество подписантов
|
||
type: string
|
||
format: integer
|
||
example: 5
|
||
signedCount:
|
||
description: Количество подписавших
|
||
type: string
|
||
format: integer
|
||
example: 2
|
||
|
||
kedoInstanceView:
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Идентификатор экземпляра
|
||
type: string
|
||
format: uuid
|
||
example: 073f11ed-3329-4c95-9966-f25b15846ea2
|
||
kedo_document_id:
|
||
description: Идентификатор запроса на подпись
|
||
type: string
|
||
format: uuid
|
||
example: a91fe4d9-b486-4e94-9114-18589aad7c7e
|
||
signersCount:
|
||
description: Количество подписантов
|
||
type: string
|
||
format: integer
|
||
example: 5
|
||
signedCount:
|
||
description: Количество подписавших
|
||
type: string
|
||
format: integer
|
||
example: 2
|
||
isSigned:
|
||
description: Документ подписан
|
||
type: boolean
|
||
example: true
|
||
signers:
|
||
description: Список подписантов экземпляра
|
||
type: array
|
||
items:
|
||
type: object
|
||
properties:
|
||
user:
|
||
$ref: '#/components/schemas/userInfo'
|
||
signed_at:
|
||
description: Дата подписания
|
||
type: string
|
||
format: 'date-time'
|
||
example: 2025-01-01 00:00:00
|
||
rejected_at:
|
||
description: Дата отклонения подписания
|
||
type: string
|
||
format: 'date-time'
|
||
example: 2025-01-01 00:00:00
|
||
kedoDocument:
|
||
$ref: '#/components/schemas/kedoDocument'
|
||
|
||
kedoInstanceSignRequestBody:
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Идентификатор экземпляра
|
||
required: true
|
||
type: string
|
||
format: uuid
|
||
example: 073f11ed-3329-4c95-9966-f25b15846ea2
|
||
|
||
kedoInstanceSignResponse:
|
||
$ref: '#/components/schemas/responseObject'
|
||
|
||
kedoInstanceRejectRequestBody:
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Идентификатор экземпляра
|
||
required: true
|
||
type: string
|
||
format: uuid
|
||
example: 073f11ed-3329-4c95-9966-f25b15846ea2
|
||
|
||
kedoInstanceRejectResponse:
|
||
$ref: '#/components/schemas/responseObject'
|
||
|
||
# КЭДО <--
|
||
|
||
GoalItem:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
format: uuid
|
||
created_at:
|
||
type: string
|
||
format: date-time
|
||
title:
|
||
type: string
|
||
description: Заголовок цели
|
||
weight:
|
||
type: number
|
||
description: "Вес"
|
||
goal_interval_type_id:
|
||
$ref: '#/components/parameters/goalIntervalTypeId'
|
||
goal_status_id:
|
||
$ref: '#/components/parameters/goalStatusId'
|
||
goal_result_type_id:
|
||
type: number
|
||
description: >
|
||
Тип результата:
|
||
* `1` - Да/нет
|
||
* `2` - Процент
|
||
* `3` - Число"
|
||
goal_date:
|
||
$ref: '#/components/parameters/goalDate'
|
||
result_scaled:
|
||
type: number
|
||
format: double
|
||
description: Процент результата от целевого значения
|
||
result_max:
|
||
type: number
|
||
description: Целевое число
|
||
result_units:
|
||
type: string
|
||
description: Единицы измерения
|
||
sort_index:
|
||
type: number
|
||
description: Сортировка
|
||
parent_id:
|
||
type: string
|
||
format: uuid
|
||
description: Цель, в которую вложена
|
||
user_id:
|
||
type: string
|
||
format: uuid
|
||
description: Чья цель
|
||
supervisor_id:
|
||
type: string
|
||
format: uuid
|
||
description: Куратор
|
||
participants:
|
||
type: array
|
||
items:
|
||
type: string
|
||
description: Участники
|
||
result:
|
||
type: number
|
||
description: Результат цели
|
||
rating:
|
||
type: string
|
||
description: Рейтинг цели
|
||
|
||
dutyItem:
|
||
type: object
|
||
properties:
|
||
id:
|
||
type: string
|
||
format: uuid
|
||
example: "073f11ed-3329-4c95-9966-f25b15846ea2"
|
||
name:
|
||
type: string
|
||
example: "Услуга 1"
|
||
status_id:
|
||
type: integer
|
||
example: 1
|
||
created_at:
|
||
type: string
|
||
format: date-time
|
||
example: "2025-07-11 07:57:19"
|
||
created_user_id:
|
||
type: string
|
||
format: uuid
|
||
example: "c73f48dd-ae57-496e-b973-20d048651f70"
|
||
|
||
parameters:
|
||
boardDateTypeParam:
|
||
in: query
|
||
name: type
|
||
description: 1 - За день, 2 - За неделю, 3 - За месяц.
|
||
required: true
|
||
schema:
|
||
type: integer
|
||
enum: [ 1, 2, 3 ]
|
||
example: 2
|
||
boardDateDayParam:
|
||
name: day
|
||
in: query
|
||
description: Число месяца (обязателен для списка за день)
|
||
schema:
|
||
type: integer
|
||
example: 15
|
||
boardDateWeekParam:
|
||
name: week
|
||
in: query
|
||
description: Номер недели в году (обязателен для спика за неделю)
|
||
schema:
|
||
type: integer
|
||
example: 27
|
||
boardDateMonthParam:
|
||
name: month
|
||
in: query
|
||
description: Месяц (обязателен для списка по дням и месяцам)
|
||
schema:
|
||
type: integer
|
||
example: 7
|
||
boardDateYearParam:
|
||
name: year
|
||
in: query
|
||
description: Год (обязателен всегда)
|
||
required: true
|
||
schema:
|
||
type: integer
|
||
example: 2024
|
||
boardDepartmentId:
|
||
name: department_id
|
||
in: query
|
||
description: UUID подразделения, либо их список, разделённый запятой
|
||
required: false
|
||
boardWithFavorites:
|
||
name: with_favorites
|
||
in: query
|
||
description: Возвращать результат вместе с избранными пользователями
|
||
required: false
|
||
example: 1
|
||
userListKey:
|
||
name: user_list_key
|
||
in: query
|
||
description: UUID списка пользователей
|
||
schema:
|
||
type: string
|
||
title:
|
||
name: title
|
||
in: query
|
||
schema:
|
||
type: string
|
||
description: Поиск по названию
|
||
goalIntervalTypeId:
|
||
name: goal_interval_type_id
|
||
in: query
|
||
schema:
|
||
type: number
|
||
description: >
|
||
Тип интервала дедлайна
|
||
* `1` - На день
|
||
* `2` - На неделю
|
||
* `3` - На месяц
|
||
* `4` - На квартал
|
||
* `5` - На полугодие
|
||
* `6` - На год
|
||
goalStatusId:
|
||
name: goal_status_id
|
||
in: query
|
||
schema:
|
||
type: number
|
||
description: >
|
||
Статус цели, можно перечислять через запятую
|
||
* `1` - Черновик
|
||
* `2` - Согласование
|
||
* `3` - В процессе
|
||
* `4` - Согласование результата
|
||
* `5` - Завершена
|
||
* `6` - Согласование удаления
|
||
* `7` - Удалена
|
||
goalDate:
|
||
name: goal_date
|
||
in: query
|
||
schema:
|
||
type: string
|
||
description: Дата завершения цели
|
||
goalMonth:
|
||
name: goal_month
|
||
in: query
|
||
schema:
|
||
type: string
|
||
description: Месяц завершения цели
|
||
goalQuarter:
|
||
name: goal_quarter
|
||
in: query
|
||
schema:
|
||
type: integer
|
||
enum: [ 1, 2, 3, 4 ]
|
||
description: Квартал завершения цели
|
||
goalYear:
|
||
name: goal_year
|
||
in: query
|
||
schema:
|
||
type: integer
|
||
description: Год завершения цели
|
||
goalParentId:
|
||
name: parent_id
|
||
in: query
|
||
schema:
|
||
type: string
|
||
description: Родительский элемент
|
||
noRemoved:
|
||
name: no_removed
|
||
in: query
|
||
schema:
|
||
type: string
|
||
description: Без удаленных
|
||
noDraft:
|
||
name: no_draft
|
||
in: query
|
||
schema:
|
||
type: string
|
||
description: Без черновиков
|
||
|
||
responses:
|
||
GoalIndexResponse:
|
||
200:
|
||
description: Список целей
|
||
content:
|
||
application/json:
|
||
schema:
|
||
type: object
|
||
properties:
|
||
data:
|
||
type: array
|
||
items:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/GoalItem'
|
||
_links:
|
||
$ref: '#/components/schemas/_links'
|
||
_meta:
|
||
$ref: '#/components/schemas/_meta'
|
||
400:
|
||
description: Bad Request.
|
||
403:
|
||
description: Unauthorized.
|
||
404:
|
||
description: Not found.
|
||
500:
|
||
description: Server Error.
|
||
|
||
GoalActionResponse:
|
||
description: Goal object
|
||
type: object
|
||
properties:
|
||
success:
|
||
type: boolean
|
||
deleted:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/GoalItem'
|
||
description: Цели которые были удалены
|
||
updated:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/GoalItem'
|
||
description: Цели которые были обновлены
|
||
skipped:
|
||
type: array
|
||
items:
|
||
$ref: '#/components/schemas/GoalItem'
|
||
description: Цели которые не были обработаны
|
||
|
||
security:
|
||
- SessionAuth: [ ]
|
||
- ApiKeyAuth: [ ] |