6077 lines
186 KiB
YAML
6077 lines
186 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: 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 "Магазин".
|
||
|
||
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.
|
||
|
||
/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: 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
|
||
|
||
/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.
|
||
|
||
/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/type'
|
||
401:
|
||
description: Unauthorized.
|
||
403:
|
||
description: Forbidden.
|
||
500:
|
||
description: Internal Server Error.
|
||
|
||
/category/content-style:
|
||
get:
|
||
tags:
|
||
- category
|
||
summary: Список вариантов отображения содержимого категории.
|
||
operationId: /category/thumb-style
|
||
responses:
|
||
200:
|
||
description: Список категорий.
|
||
content:
|
||
application/json:
|
||
schema:
|
||
$ref: '#/components/schemas/type'
|
||
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.
|
||
|
||
components:
|
||
schemas:
|
||
_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
|
||
|
||
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'
|
||
|
||
type:
|
||
description: Type model.
|
||
type: object
|
||
properties:
|
||
id:
|
||
description: Type ID.
|
||
type: integer
|
||
example: 1
|
||
name:
|
||
description: Type name (localized).
|
||
type: string
|
||
example: Type name
|
||
|
||
status:
|
||
description: Status.
|
||
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
|
||
|
||
files:
|
||
description: Attached files.
|
||
type: array
|
||
items:
|
||
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
|
||
|
||
|
||
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'
|
||
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'
|
||
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'
|
||
|
||
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
|
||
|
||
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"
|
||
|
||
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'
|
||
|
||
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'
|
||
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'
|
||
|
||
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
|
||
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' |