{
  "openapi": "3.1.0",
  "info": {
    "title": "Документация по SelSup API",
    "description": "API SelSup — программный интерфейс для работы с сервисом SelSup. Даёт возможность работать со всеми функциями SelSup из вашей системы. Для использования API добавьте новый токен на странице:https://selsup.ru/application/integration/api. Добавленный токен необходимо передавать во всех запросах к API SelSup, в заголовке Authorization.",
    "contact": {
      "name": "Support Team",
      "email": "admin@selsup.ru"
    },
    "license": {
      "name": "Apache 2.0",
      "url": "https://selsup.ru/dogovor-offerta/"
    },
    "version": "1.0"
  },
  "servers": [
    {
      "url": "https://api.selsup.ru/",
      "description": "Production server"
    }
  ],
  "tags": [
    {
      "name": "Финансы",
      "description": "Методы для работы с финансовой информацией"
    }
  ],
  "paths": {
    "/api/finance/transaction/{id}": {
      "put": {
        "tags": [
          "Финансы"
        ],
        "summary": "Изменить платеж",
        "operationId": "putTransaction",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Transaction"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/Transaction"
                }
              }
            }
          }
        }
      }
    },
    "/api/finance/updateToken": {
      "post": {
        "tags": [
          "Финансы"
        ],
        "summary": "Обновить токен банка точка по коду",
        "operationId": "updateToken",
        "parameters": [
          {
            "name": "bank",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "SBER",
                "TOCHKA",
                "TBANK",
                "ALFA_BANK"
              ]
            }
          },
          {
            "name": "code",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/Client"
                }
              }
            }
          }
        }
      }
    },
    "/api/finance/updateSchedule": {
      "post": {
        "tags": [
          "Финансы"
        ],
        "summary": "Изменить раписание платежа",
        "description": "Изменяет расписание платежей. Изменение не влияет на уже добавленные платежи этим расписанием",
        "operationId": "updateSchedule",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TransactionSchedule"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/TransactionSchedule"
                }
              }
            }
          }
        }
      }
    },
    "/api/finance/updateExpenditure": {
      "post": {
        "tags": [
          "Финансы"
        ],
        "summary": "Изменить статью расходов",
        "description": "Позволяет изменить статью расходов",
        "operationId": "updateExpenditure",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExpenditureObject"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/ExpenditureObject"
                }
              }
            }
          }
        }
      }
    },
    "/api/finance/updateAccount": {
      "post": {
        "tags": [
          "Финансы"
        ],
        "summary": "Изменить счет",
        "operationId": "updateAccount",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Account"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/Account"
                }
              }
            }
          }
        }
      }
    },
    "/api/finance/transaction": {
      "post": {
        "tags": [
          "Финансы"
        ],
        "summary": "Добавить платеж",
        "operationId": "postTransaction",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Transaction"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/Transaction"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Финансы"
        ],
        "summary": "Удалить платежи",
        "operationId": "deleteTransaction",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int64"
              }
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/finance/removeSchedule": {
      "post": {
        "tags": [
          "Финансы"
        ],
        "summary": "Удалить расписание платежей",
        "description": "Позволяет удалить расписание платежей. Удаление не влияет на уже добавленные платежи этим расписанием",
        "operationId": "removeSchedule",
        "parameters": [
          {
            "name": "scheduleId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/finance/removeExpenditure": {
      "post": {
        "tags": [
          "Финансы"
        ],
        "summary": "Удалить статью расходов",
        "description": "Позволяет удалить свою статью расходов",
        "operationId": "removeExpenditure",
        "parameters": [
          {
            "name": "expenditureId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/finance/removeAccount": {
      "post": {
        "tags": [
          "Финансы"
        ],
        "summary": "Удалить счет",
        "operationId": "removeAccount",
        "parameters": [
          {
            "name": "accountId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/finance/importTransactions": {
      "post": {
        "tags": [
          "Финансы"
        ],
        "summary": "Импорт транзакий из банков клиента по указанным счетам",
        "operationId": "importTransactions",
        "parameters": [
          {
            "name": "accountId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "startDate",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/TmsTask"
                }
              }
            }
          }
        }
      }
    },
    "/api/finance/importTransactionFromExcelFile": {
      "post": {
        "tags": [
          "Финансы"
        ],
        "summary": "Импорт платежей из Excel файл",
        "description": "Метод ставит задачу по импорту платежей из Excel файла.",
        "operationId": "importTransactionFromExcelFile",
        "parameters": [
          {
            "name": "clientOrganizationId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                },
                "required": [
                  "file"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/TmsTask"
                }
              }
            }
          }
        }
      }
    },
    "/api/finance/getAccountList": {
      "post": {
        "tags": [
          "Финансы"
        ],
        "summary": "Получить счета  в банках",
        "description": "Позволяет получить список всех счетов в банках",
        "operationId": "getAccountList",
        "parameters": [
          {
            "name": "bank",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "SBER",
                "TOCHKA",
                "TBANK",
                "ALFA_BANK"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Account"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/finance/addSchedule": {
      "post": {
        "tags": [
          "Финансы"
        ],
        "summary": "Добавить раписание платежей",
        "description": "Добавляет регулярные платежи, которые добавляются по расписанию",
        "operationId": "addSchedule",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TransactionSchedule"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/TransactionSchedule"
                }
              }
            }
          }
        }
      }
    },
    "/api/finance/addExpenditure": {
      "post": {
        "tags": [
          "Финансы"
        ],
        "summary": "Добавить статью расходов",
        "description": "Позволяет добавить свою статью расходов",
        "operationId": "addExpenditure",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExpenditureObject"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/ExpenditureObject"
                }
              }
            }
          }
        }
      }
    },
    "/api/finance/addAccount": {
      "post": {
        "tags": [
          "Финансы"
        ],
        "summary": "Добавить счет",
        "operationId": "addAccount",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Account"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/Account"
                }
              }
            }
          }
        }
      }
    },
    "/api/finance/transaction/structure": {
      "get": {
        "tags": [
          "Финансы"
        ],
        "summary": "Структура платежей за текущий и предыдущий периоды",
        "description": "Возвращает список платежей за текущий и (опционально) предыдущий периоды по фильтру",
        "operationId": "getTransactionStructure",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "description": "Фильтр транзакций",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/TransactionFilter"
            }
          },
          {
            "name": "includePreviousPeriod",
            "in": "query",
            "description": "Включать данные за предыдущий период",
            "required": false,
            "schema": {
              "type": "boolean",
              "default": false
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/TransactionStructureResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/finance/transaction/find": {
      "get": {
        "tags": [
          "Финансы"
        ],
        "summary": "Поиск платежей",
        "description": "Возвращает список платежей по фильтру",
        "operationId": "transactionFind",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/TransactionFilter"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/FindResponseTransaction"
                }
              }
            }
          }
        }
      }
    },
    "/api/finance/integrate": {
      "get": {
        "tags": [
          "Финансы"
        ],
        "summary": "Ссылка для авторизации в банке",
        "description": "Позволяет получить ссылку на сайт банка для интеграции с ним",
        "operationId": "integrate",
        "parameters": [
          {
            "name": "bank",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "SBER",
                "TOCHKA",
                "TBANK",
                "ALFA_BANK"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/api/finance/getTransactionStructureByDirection": {
      "get": {
        "tags": [
          "Финансы"
        ],
        "summary": "Структура платежей",
        "description": "Возвращает список платежей по фильтру",
        "operationId": "getTransactionStructureByDirection",
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "description": "Поисковый запрос для платежей",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Поисковый запрос для платежей"
            }
          },
          {
            "name": "dateFrom",
            "in": "query",
            "description": "Фильтр по дате операции - от",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Фильтр по дате операции - от"
            }
          },
          {
            "name": "dateTo",
            "in": "query",
            "description": "Фильтр по дате операции - до",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time",
              "description": "Фильтр по дате операции - до"
            }
          },
          {
            "name": "organizationId",
            "in": "query",
            "description": "Идентификатор организации. (Теперь используем organizationIds)",
            "required": false,
            "deprecated": true,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Идентификатор организации. (Теперь используем organizationIds)"
            }
          },
          {
            "name": "organizationIds",
            "in": "query",
            "description": "Идентификаторы организаций",
            "required": false,
            "schema": {
              "type": "array",
              "description": "Идентификаторы организаций",
              "items": {
                "type": "integer",
                "format": "int64",
                "description": "Идентификаторы организаций"
              }
            }
          },
          {
            "name": "services",
            "in": "query",
            "description": "Идентификатор сервисов",
            "required": false,
            "schema": {
              "type": "array",
              "description": "Идентификатор сервисов",
              "items": {
                "type": "string",
                "description": "Сервис",
                "enum": [
                  "NONE",
                  "WILDBERRIES",
                  "OZON",
                  "YANDEX_MARKET",
                  "FAMILIYA",
                  "NATIONAL_CATALOG",
                  "ALIEXPRESS",
                  "OTHER",
                  "MOY_SKLAD",
                  "SBER_MEGA_MARKET",
                  "CISLINK",
                  "ONE_C",
                  "AVITO",
                  "LEROY_MERLIN",
                  "DETMIR",
                  "KAZAN_EXPRESS",
                  "EVOTOR",
                  "WEBASYST",
                  "AMAZON",
                  "EBAY",
                  "SIMALAND",
                  "INSALES",
                  "LAMODA",
                  "OZON_PERFORMANCE",
                  "WALMART",
                  "GOOGLE",
                  "YANDEX_DISC",
                  "EMAIL",
                  "WOOCOMMERCE",
                  "MAGNIT",
                  "OPENCART",
                  "M_VIDEO",
                  "TAKEALOT",
                  "UZUM",
                  "SHOPIFY"
                ]
              }
            }
          },
          {
            "name": "direction",
            "in": "query",
            "description": "Идентификатор расход/доход",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Идентификатор расход/доход",
              "enum": [
                "DEBIT",
                "CREDIT"
              ]
            }
          },
          {
            "name": "incomeId",
            "in": "query",
            "description": "Идентификатор транзакции",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Идентификатор транзакции"
            }
          },
          {
            "name": "contractorId",
            "in": "query",
            "description": "Идентификатор контрагента",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64",
              "description": "Идентификатор контрагента"
            }
          },
          {
            "name": "timeZone",
            "in": "query",
            "description": "Часовой пояс клиента по UTC",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "description": "Часовой пояс клиента по UTC"
            }
          },
          {
            "name": "showIncomes",
            "in": "query",
            "description": "Включать взаиморасчеты с поставщиками",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Включать взаиморасчеты с поставщиками"
            }
          },
          {
            "name": "accountId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Ограничение на количество записей. Максимальное значение - 500",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "description": "Ограничение на количество записей. Максимальное значение - 500"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "Номер страницы начиная с 1",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "description": "Номер страницы начиная с 1"
            }
          },
          {
            "name": "count",
            "in": "query",
            "description": "Возвратить в ответе общее количество записей",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Возвратить в ответе общее количество записей"
            }
          },
          {
            "name": "sortBy",
            "in": "query",
            "description": "Поле сортировки записей. Работает только при получении списка.",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Поле сортировки записей. Работает только при получении списка."
            }
          },
          {
            "name": "ascending",
            "in": "query",
            "description": "Порядок сортировки - по возрастанию?. Работает только при получении списка.",
            "required": false,
            "schema": {
              "type": "boolean",
              "description": "Порядок сортировки - по возрастанию?. Работает только при получении списка."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TransactionStructure"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/finance/getAccounts": {
      "get": {
        "tags": [
          "Финансы"
        ],
        "summary": "Получить список счетов",
        "operationId": "getBankAccounts",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Account"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/finance/getAccountById": {
      "get": {
        "tags": [
          "Финансы"
        ],
        "summary": "Получить счет по идентификатору",
        "operationId": "getAccountById",
        "parameters": [
          {
            "name": "id",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int64"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/Account"
                }
              }
            }
          }
        }
      }
    },
    "/api/finance/findSchedule": {
      "get": {
        "tags": [
          "Финансы"
        ],
        "summary": "Поиск регулярных платежей",
        "description": "Позволяет найти регулярные платежи, которые по расписанию добавляют обычные платежи",
        "operationId": "findSchedule",
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/TransactionSchedulerFilter"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/FindResponseTransactionSchedule"
                }
              }
            }
          }
        }
      }
    },
    "/api/finance/fetchExpenditure": {
      "get": {
        "tags": [
          "Финансы"
        ],
        "summary": "Получить список статей расходов",
        "operationId": "fetchExpenditure",
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "direction",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "DEBIT",
                "CREDIT"
              ]
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExpenditureObject"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/finance/fetchBank": {
      "get": {
        "tags": [
          "Финансы"
        ],
        "summary": "Поиск банков",
        "description": "Производит поиск банков по БИК, названию",
        "operationId": "fetchBank",
        "parameters": [
          {
            "name": "query",
            "in": "query",
            "description": "Запрос для поиска банков",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Сколько отдать банков в результатах запроса",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Bank"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/finance/exportTransactionInExcelFile": {
      "get": {
        "tags": [
          "Финансы"
        ],
        "summary": "Экспорт платежей в Excel файл",
        "description": "Метод ставит задачу по экспорту платежей в файл.",
        "operationId": "exportTransactionInExcelFile",
        "parameters": [
          {
            "name": "request",
            "in": "query",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/AnalyticsRequest"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/hal+json": {
                "schema": {
                  "$ref": "#/components/schemas/TmsTask"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Account": {
        "type": "object",
        "properties": {
          "accountId": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string"
          },
          "number": {
            "type": "string"
          },
          "clientId": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "bank": {
            "$ref": "#/components/schemas/Bank"
          },
          "accountNumber": {
            "$ref": "#/components/schemas/Account",
            "writeOnly": true
          },
          "accountName": {
            "$ref": "#/components/schemas/Account",
            "writeOnly": true
          }
        }
      },
      "Address": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "postCode": {
            "type": "string"
          },
          "country": {
            "$ref": "#/components/schemas/Country"
          },
          "region": {
            "$ref": "#/components/schemas/Region"
          },
          "regionId": {
            "type": "integer",
            "format": "int32"
          },
          "street": {
            "type": "string"
          },
          "house": {
            "type": "string"
          },
          "district": {
            "type": "string"
          },
          "city": {
            "type": "string"
          },
          "locality": {
            "type": "string"
          },
          "building": {
            "type": "string"
          },
          "flat": {
            "type": "string"
          },
          "short": {
            "type": "string"
          },
          "addressId": {
            "$ref": "#/components/schemas/Address",
            "writeOnly": true
          },
          "full": {
            "type": "string"
          }
        }
      },
      "Bank": {
        "type": "object",
        "properties": {
          "bik": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "address": {
            "type": "string"
          },
          "isBank": {
            "type": "boolean"
          },
          "account": {
            "type": "string"
          },
          "integration": {
            "type": "string",
            "enum": [
              "SBER",
              "TOCHKA",
              "TBANK",
              "ALFA_BANK"
            ]
          },
          "bankIntegration": {
            "$ref": "#/components/schemas/Bank",
            "writeOnly": true
          },
          "bankBik": {
            "$ref": "#/components/schemas/Bank",
            "writeOnly": true
          },
          "bankName": {
            "$ref": "#/components/schemas/Bank",
            "writeOnly": true
          },
          "bankAddress": {
            "$ref": "#/components/schemas/Bank",
            "writeOnly": true
          },
          "bankAccount": {
            "$ref": "#/components/schemas/Bank",
            "writeOnly": true
          }
        }
      },
      "Contractor": {
        "type": "object",
        "description": "Контрагенты",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Идентификатор контрагента. Проставляется автоматически"
          },
          "name": {
            "type": "string",
            "description": "Наименование контрагента",
            "maxLength": 255
          },
          "versionId": {
            "type": "integer",
            "format": "int64",
            "description": "Поле нужно передавать при изменении,для предотвращения одновременной перезаписи"
          },
          "clientId": {
            "type": "integer",
            "format": "int64",
            "description": "Идентификатор клиента",
            "readOnly": true
          },
          "createdUser": {
            "type": "string",
            "description": "Логин пользователя, который создал контрагента",
            "readOnly": true
          },
          "lastIncomeDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата последнего поступления для этого контрагента для сортировки",
            "readOnly": true
          },
          "deleted": {
            "type": "boolean",
            "description": "Признак удаления контрагента",
            "readOnly": true
          },
          "organizationId": {
            "type": "integer",
            "format": "int64",
            "description": "Организация для реквизитов контрагента"
          },
          "phoneNumber": {
            "type": "string",
            "description": "Номер телефона",
            "maxLength": 200
          },
          "email": {
            "type": "string",
            "description": "Адрес электронной почты",
            "maxLength": 200
          },
          "contactName": {
            "type": "string",
            "description": "Имя контакта",
            "maxLength": 200
          },
          "moySkladId": {
            "type": "string",
            "description": "Идентификатор в сервисе МойСклад"
          },
          "url": {
            "type": "string",
            "description": "Ссылка на сайт"
          },
          "organization": {
            "$ref": "#/components/schemas/Organization",
            "description": "Организация для документов. Можно передать как сам объект, так и просто organizationId",
            "readOnly": true
          }
        },
        "required": [
          "name"
        ]
      },
      "Country": {
        "type": "object",
        "description": "Страна",
        "properties": {
          "countryId": {
            "type": "integer",
            "format": "int32",
            "description": "Идентификатор страны"
          },
          "name": {
            "type": "string",
            "description": "Название страны"
          },
          "code2": {
            "type": "string",
            "description": "Двухбуквенный код страны"
          },
          "code3": {
            "type": "string",
            "description": "Трехбуквенный код страны"
          },
          "names": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "printName": {
            "type": "string"
          }
        }
      },
      "ExpenditureObject": {
        "type": "object",
        "description": "Статья расходов",
        "properties": {
          "expenditureId": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "string",
            "enum": [
              "DEBIT",
              "CREDIT"
            ]
          },
          "clientId": {
            "type": "integer",
            "format": "int64"
          },
          "isCommon": {
            "type": "boolean"
          },
          "expenditureName": {
            "$ref": "#/components/schemas/ExpenditureObject",
            "writeOnly": true
          },
          "expenditureType": {
            "$ref": "#/components/schemas/ExpenditureObject",
            "writeOnly": true
          }
        }
      },
      "Organization": {
        "type": "object",
        "description": "Данные об организации",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Идентификатор организации. Проставляется автоматически",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "description": "Полное наименование организации"
          },
          "shortName": {
            "type": "string"
          },
          "taxType": {
            "type": "string",
            "description": "Система налогооблажения",
            "enum": [
              "YSN",
              "YSN_CONSUMPTION",
              "OSNO",
              "SELF_EMPLOYED"
            ]
          },
          "taxRate": {
            "type": "integer",
            "format": "int32",
            "description": "Ставка налога, если она отличается от стандартной"
          },
          "taxNds": {
            "type": "integer",
            "format": "int32",
            "description": "Ставка налога, если она отличается от стандартной"
          },
          "enableNewTaxCalculation": {
            "type": "boolean",
            "description": "Включить расчет налогов по новым правилам"
          },
          "useNdsCostPrice": {
            "type": "boolean",
            "description": "Учитывать входящий НДС в себестоимости"
          },
          "inn": {
            "type": "string",
            "description": "ИНН"
          },
          "kpp": {
            "type": "string",
            "description": "КПП. Проставляется только для ООО"
          },
          "bank": {
            "type": "string",
            "description": "Название банка"
          },
          "bik": {
            "type": "string",
            "description": "БИК счета организации"
          },
          "corrBill": {
            "type": "string",
            "description": "Номер корреспондентского счета"
          },
          "billNumber": {
            "type": "string",
            "description": "Номер счета организации"
          },
          "stampPath": {
            "type": "string",
            "description": "Ссылка на изображение печати организации",
            "readOnly": true
          },
          "stampUrl": {
            "type": "string",
            "description": "Ссылка на изображение печати организации",
            "readOnly": true
          },
          "stampSize": {
            "type": "integer",
            "format": "int32",
            "description": "Размер в байтах изображения печати организации",
            "readOnly": true
          },
          "stampWidth": {
            "type": "integer",
            "format": "int32",
            "description": "Ширина изображения печати организации",
            "readOnly": true
          },
          "stampHeight": {
            "type": "integer",
            "format": "int32",
            "description": "Высота изображения печати организации",
            "readOnly": true
          },
          "signaturePath": {
            "type": "string",
            "description": "Фото подписи директора организации",
            "readOnly": true
          },
          "signatureUrl": {
            "type": "string",
            "description": "Фото подписи директора организации",
            "readOnly": true
          },
          "signatureSize": {
            "type": "integer",
            "format": "int32",
            "description": "Размер файла в байтах подписи директора организации",
            "readOnly": true
          },
          "signatureWidth": {
            "type": "integer",
            "format": "int32",
            "description": "Ширина изображения подписи директора",
            "readOnly": true
          },
          "signatureHeight": {
            "type": "integer",
            "format": "int32",
            "description": "Высота изображения подписи директора",
            "readOnly": true
          },
          "ipPerson": {
            "$ref": "#/components/schemas/Person",
            "description": "Руководитель организации или ИП"
          },
          "form": {
            "type": "string",
            "description": "Организационно правовая форма",
            "enum": [
              "OOO",
              "IP",
              "SELF_EMPLOYED"
            ]
          },
          "ip": {
            "type": "boolean"
          },
          "clientId": {
            "type": "integer",
            "format": "int64",
            "description": "Идентификатор клиента",
            "readOnly": true
          },
          "address": {
            "$ref": "#/components/schemas/Address",
            "description": "Адресс организации"
          },
          "phoneNumber": {
            "type": "string",
            "description": "Номер телефона"
          },
          "addressFull": {
            "type": "string",
            "description": "Полный адрес",
            "readOnly": true
          }
        },
        "required": [
          "form",
          "inn",
          "name"
        ]
      },
      "Person": {
        "type": "object",
        "description": "Сотрудник",
        "properties": {
          "personId": {
            "type": "integer",
            "format": "int64",
            "readOnly": true
          },
          "firstName": {
            "type": "string",
            "description": "Имя сотрудника",
            "maxLength": 255
          },
          "lastName": {
            "type": "string",
            "description": "Фамилия сотрудника",
            "maxLength": 255
          },
          "surName": {
            "type": "string",
            "description": "Отчество сотрудника",
            "maxLength": 255
          },
          "clientId": {
            "type": "integer",
            "format": "int64",
            "description": "Идентификатор клиента",
            "readOnly": true
          },
          "position": {
            "$ref": "#/components/schemas/PersonPosition",
            "description": "Должность сотрудника"
          },
          "versionId": {
            "type": "integer",
            "format": "int64",
            "description": "Поле нужно передавать при изменении,для предотвращения одновременной перезаписи",
            "readOnly": true
          },
          "createdUser": {
            "type": "string",
            "description": "Проставляется автоматически. Пользователь создавший сотрудника",
            "readOnly": true
          },
          "createdDate": {
            "type": "string",
            "format": "date-time",
            "description": "Проставляется автоматически. Дата создания сотрудника",
            "readOnly": true
          },
          "deleted": {
            "type": "boolean",
            "description": "Признак удаления сотрудника",
            "readOnly": true
          },
          "userId": {
            "type": "integer",
            "format": "int32",
            "description": "Связь сотрудника с пользователем",
            "readOnly": true
          },
          "hasChanges": {
            "type": "boolean"
          },
          "fullName": {
            "type": "string",
            "description": "Полные ФИО",
            "readOnly": true
          },
          "shortName": {
            "type": "string",
            "description": "Фамилия и инициалы",
            "readOnly": true
          }
        },
        "required": [
          "firstName",
          "lastName",
          "position"
        ]
      },
      "PersonPosition": {
        "type": "object",
        "description": "Должность",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Идентификатор должности. Проставляется автоматически",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "description": "Название должности",
            "maxLength": 255
          },
          "deleted": {
            "type": "boolean",
            "description": "Признак удаления должности",
            "readOnly": true
          },
          "clientId": {
            "type": "integer",
            "format": "int64",
            "description": "Идентификатор клиента",
            "readOnly": true
          },
          "defaultJobId": {
            "type": "integer",
            "format": "int64",
            "description": "Работа по умолчанию для должности"
          },
          "createdUser": {
            "type": "string",
            "description": "Пользователь, который создал должность",
            "readOnly": true
          },
          "createdDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата создания должности",
            "readOnly": true
          }
        },
        "required": [
          "name"
        ]
      },
      "Region": {
        "type": "object",
        "properties": {
          "regionId": {
            "type": "integer",
            "format": "int32"
          },
          "countryId": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "regionSynonyms": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RegionSynonym"
            }
          }
        }
      },
      "RegionSynonym": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "regionId": {
            "type": "integer",
            "format": "int64"
          },
          "synonym": {
            "type": "string"
          },
          "service": {
            "type": "string"
          }
        }
      },
      "Transaction": {
        "type": "object",
        "properties": {
          "transactionId": {
            "type": "integer",
            "format": "int64"
          },
          "clientId": {
            "type": "integer",
            "format": "int64"
          },
          "expenditureId": {
            "type": "integer",
            "format": "int64",
            "description": "идентификатор статьи расходов"
          },
          "expenditure": {
            "$ref": "#/components/schemas/ExpenditureObject"
          },
          "direction": {
            "type": "string",
            "description": "тип операции",
            "enum": [
              "DEBIT",
              "CREDIT"
            ]
          },
          "scheduleId": {
            "type": "integer",
            "format": "int64",
            "description": "идентификатор расписания"
          },
          "comment": {
            "type": "string",
            "description": "Комментарий"
          },
          "contractorId": {
            "type": "integer",
            "format": "int64",
            "description": "Идентификатор контрагента(организации)"
          },
          "contractor": {
            "$ref": "#/components/schemas/Contractor"
          },
          "recipientKpp": {
            "type": "integer",
            "format": "int64",
            "description": "КПП получателя"
          },
          "recipientInn": {
            "type": "integer",
            "format": "int64",
            "description": "ИНН получателя"
          },
          "recipientAccount": {
            "type": "string",
            "description": "Номер лицевого счета получателя"
          },
          "recipientName": {
            "type": "string",
            "description": "Нименование получателя"
          },
          "payerKpp": {
            "type": "integer",
            "format": "int64",
            "description": "КПП плательщика"
          },
          "payerInn": {
            "type": "integer",
            "format": "int64",
            "description": "ИНН плательщика"
          },
          "payerAccount": {
            "type": "string",
            "description": "Номер лицевого счета плательщика"
          },
          "payerName": {
            "type": "string",
            "description": "Нименование плательщика"
          },
          "kbk": {
            "type": "string",
            "description": "КБК"
          },
          "recipientAgentBik": {
            "type": "integer",
            "format": "int64",
            "description": "БИК агента получателя"
          },
          "recipientAgentAccount": {
            "type": "string",
            "description": "Счет агента получателя"
          },
          "recipientAgentName": {
            "type": "string",
            "description": "Нименование агента получателя"
          },
          "payerAgentBik": {
            "type": "integer",
            "format": "int64",
            "description": "БИК агента плательщика"
          },
          "payerAgentAccount": {
            "type": "string",
            "description": "Счет агента плательщика"
          },
          "payerAgentName": {
            "type": "string",
            "description": "Нименование агента плательщика"
          },
          "accountCurrency": {
            "type": "string",
            "description": "Валюта счета"
          },
          "paymentAmountRub": {
            "type": "number",
            "format": "double",
            "description": "Сумма в рублях"
          },
          "paymentAmount": {
            "type": "number",
            "format": "double",
            "description": "Сумма в валюте счета"
          },
          "paymentPurpose": {
            "type": "string",
            "description": "Цель платежа"
          },
          "paymentDocumentCode": {
            "type": "string",
            "description": "Код платежного документа"
          },
          "paymentDocumentNumber": {
            "type": "integer",
            "format": "int64",
            "description": "Номер платежного документа"
          },
          "date": {
            "type": "string",
            "format": "date-time",
            "description": "Дата документа"
          },
          "accountId": {
            "type": "integer",
            "format": "int64",
            "description": "Идентификатор счета в бд"
          },
          "account": {
            "$ref": "#/components/schemas/Account"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "deleted": {
            "type": "boolean",
            "description": "Признак поставлена на удаление или нет транзакция"
          },
          "incomeId": {
            "type": "integer",
            "format": "int64",
            "description": "Идентификатор закупки."
          },
          "expenditureOperationType": {
            "type": "string",
            "description": "Тип транзакции",
            "enum": [
              "WILDBERRIES_PAYMENT",
              "OZON_PAYMENT",
              "YANDEX_MARKET_PAYMENT",
              "OTHER_INCOME",
              "OTHER_EXPENSES",
              "PAYMENT_TO_SUPPLIER",
              "PURCHASE"
            ]
          },
          "isSuppliersPurchaseTransaction": {
            "type": "boolean",
            "description": "Идентификатор, если true, то требуется заполнить транзакцию как, пришедшую от взаиморасчетов поставщиков."
          }
        }
      },
      "AnswerSpeed": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "enum": [
              "HOURS",
              "MINUTES",
              "PRIORITY_SUPPORT"
            ]
          },
          "value": {
            "type": "integer",
            "format": "int32"
          }
        }
      },
      "BankIntegrationData": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "clientId": {
            "type": "integer",
            "format": "int64"
          },
          "integration": {
            "type": "string",
            "enum": [
              "SBER",
              "TOCHKA",
              "TBANK",
              "ALFA_BANK"
            ]
          },
          "accessToken": {
            "type": "string",
            "writeOnly": true
          },
          "refreshToken": {
            "type": "string",
            "description": "OAuth токен обновления для банка точка",
            "writeOnly": true
          },
          "accessTokenExpiredDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата окончания действия токена доступа"
          }
        }
      },
      "Bill": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "price": {
            "type": "number",
            "format": "double"
          },
          "number": {
            "type": "string"
          },
          "reason": {
            "type": "string"
          },
          "createdDate": {
            "type": "string",
            "format": "date-time"
          },
          "url": {
            "type": "string"
          },
          "bankOrderId": {
            "type": "string"
          },
          "clientId": {
            "type": "integer",
            "format": "int64"
          },
          "status": {
            "type": "string",
            "enum": [
              "CREATED",
              "PAYED",
              "FREE",
              "REPLACED",
              "REFUND"
            ]
          },
          "organization": {
            "$ref": "#/components/schemas/Organization"
          },
          "payedNow": {
            "type": "boolean"
          },
          "serviceType": {
            "type": "string",
            "enum": [
              "SELSUP",
              "PRECISE_DELIVERIES",
              "PRICING"
            ]
          },
          "billId": {
            "$ref": "#/components/schemas/Bill",
            "writeOnly": true
          }
        }
      },
      "Client": {
        "type": "object",
        "description": "Клиент SelSup",
        "properties": {
          "clientId": {
            "type": "integer",
            "format": "int64",
            "description": "Идентификатор клиента. Проставляется автоматически",
            "readOnly": true
          },
          "hostId": {
            "type": "integer",
            "format": "int32"
          },
          "showCreateButton": {
            "type": "boolean",
            "description": "Отображать кнопку создания товара на списке товаров. Иначе создание товара будет возможно только из заказа поставщика"
          },
          "finishSetup": {
            "type": "boolean",
            "description": "Признак завершения настройки интерфейса"
          },
          "priceRate": {
            "type": "number",
            "format": "double",
            "description": "Ценовой коэффициент, для расчета цены на маркетплейсе по закупочной цене."
          },
          "deliveryPrice": {
            "type": "number",
            "format": "double",
            "description": "Стоимость доставки по умолчанию для товаров"
          },
          "importOrders": {
            "type": "boolean",
            "description": "Признак того, что заказы клиента нужно импортировать"
          },
          "fulfillment": {
            "type": "boolean",
            "description": "Признак того, что клиент является фулфилментом и собирает заказы и хранит товары другого клиента"
          },
          "useOwnDatabase": {
            "type": "boolean",
            "description": "Признак того, что клиент использует отдельную базу данных"
          },
          "needCreateDatabase": {
            "type": "boolean"
          },
          "lastLoginDate": {
            "type": "string",
            "format": "date-time",
            "description": "Указание даты последнего входа"
          },
          "tariffStatus": {
            "type": "string"
          },
          "expiredDate": {
            "type": "string",
            "description": "Дата когда тариф закончится"
          },
          "useProductCode": {
            "type": "boolean",
            "description": "Показатель того что клиент использует адресное хранение товаров. В этом случае в остатках мы храним количество, которое обновляем при заказе. WmsItem в итоге становится не отдельной штукой, а некоторым набором остатков, но их все равно может быть много для одного товара"
          },
          "updateOnlyExistsStocks": {
            "type": "boolean",
            "description": "Обновлять только существующие остатки товаров"
          },
          "acceptOrdersByImport": {
            "type": "boolean",
            "description": "Принимать заказы при импорте"
          },
          "displayNameAlways": {
            "type": "boolean",
            "description": "Не использовать название модели при выводе товара"
          },
          "useFbsTasks": {
            "type": "boolean",
            "description": "Признак того, что клиент используется адресное хранение и использует уникальные коды для товаров"
          },
          "useRetail": {
            "type": "boolean",
            "description": "Признак того, что клиент работает с розничными заказами, например из интернет-магазина"
          },
          "useWholesale": {
            "type": "boolean",
            "description": "Признак того, что клиент работает с оптовыми заказами, в основном для организаций"
          },
          "sendOzonMinPrice": {
            "type": "boolean",
            "description": "Признак того, что нужно отправлять минимальную цену на ОЗОН или нет"
          },
          "updatePurchasePriceAndDeliveryCost": {
            "type": "boolean",
            "description": "Признак того, что нужно обновлять Закупочной цены и Доп. расходов у комплектов товара при изменении цен"
          },
          "sendSelsupMinPrice": {
            "type": "boolean",
            "description": "Признак того, что нужно отправлять минимальную цену на ОЗОН указанную в селсапе, имеет приоритет если указан еще sendOzonMinPrice"
          },
          "barcodeUniqForOrg": {
            "type": "boolean",
            "description": "Признак того, что штрих-коды могут дублироваться у разных организаций"
          },
          "expensesPercentage": {
            "type": "number",
            "format": "double",
            "description": "Средний расход на МП в %"
          },
          "minPriceRate": {
            "type": "number",
            "format": "double"
          },
          "properties": {
            "type": "string",
            "description": "JSON с произвольными параметрами фронта"
          },
          "servicesForProductsAutoImport": {
            "type": "array",
            "description": "Сервисы, для которых включить автоматический импорт товаров с ночью",
            "items": {
              "type": "string",
              "description": "Сервис",
              "enum": [
                "NONE",
                "WILDBERRIES",
                "OZON",
                "YANDEX_MARKET",
                "FAMILIYA",
                "NATIONAL_CATALOG",
                "ALIEXPRESS",
                "OTHER",
                "MOY_SKLAD",
                "SBER_MEGA_MARKET",
                "CISLINK",
                "ONE_C",
                "AVITO",
                "LEROY_MERLIN",
                "DETMIR",
                "KAZAN_EXPRESS",
                "EVOTOR",
                "WEBASYST",
                "AMAZON",
                "EBAY",
                "SIMALAND",
                "INSALES",
                "LAMODA",
                "OZON_PERFORMANCE",
                "WALMART",
                "GOOGLE",
                "YANDEX_DISC",
                "EMAIL",
                "WOOCOMMERCE",
                "MAGNIT",
                "OPENCART",
                "M_VIDEO",
                "TAKEALOT",
                "UZUM",
                "SHOPIFY"
              ]
            }
          },
          "disableSendByMp": {
            "type": "boolean",
            "description": "Отключает перевод заказов в собранные по статусу с маркетплейса"
          },
          "alwaysCreateSupply": {
            "type": "boolean",
            "description": "Не использовать поставки с маркетплейсов"
          },
          "sortOrdersByCell": {
            "type": "boolean",
            "description": "Сортировать заказы при сборке по ячейке"
          },
          "acceptExpressOrders": {
            "type": "boolean",
            "description": "Автоматически принимать Express заказы"
          },
          "acceptOrders": {
            "type": "boolean",
            "description": "Автоматически принимать заказы СБММ"
          },
          "sortOrdersByDate": {
            "type": "boolean",
            "description": "Сортировать заказы по дате заказа"
          },
          "useServiceWarehouseForSupply": {
            "type": "boolean",
            "description": "Создавать отдельные поставки для каждого склада WB"
          },
          "clientOrganizations": {
            "type": "array",
            "description": "Организации клиента",
            "items": {
              "$ref": "#/components/schemas/ClientOrganization"
            }
          },
          "services": {
            "type": "array",
            "items": {
              "type": "string",
              "description": "Сервис",
              "enum": [
                "NONE",
                "WILDBERRIES",
                "OZON",
                "YANDEX_MARKET",
                "FAMILIYA",
                "NATIONAL_CATALOG",
                "ALIEXPRESS",
                "OTHER",
                "MOY_SKLAD",
                "SBER_MEGA_MARKET",
                "CISLINK",
                "ONE_C",
                "AVITO",
                "LEROY_MERLIN",
                "DETMIR",
                "KAZAN_EXPRESS",
                "EVOTOR",
                "WEBASYST",
                "AMAZON",
                "EBAY",
                "SIMALAND",
                "INSALES",
                "LAMODA",
                "OZON_PERFORMANCE",
                "WALMART",
                "GOOGLE",
                "YANDEX_DISC",
                "EMAIL",
                "WOOCOMMERCE",
                "MAGNIT",
                "OPENCART",
                "M_VIDEO",
                "TAKEALOT",
                "UZUM",
                "SHOPIFY"
              ]
            }
          },
          "users": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "host": {
            "$ref": "#/components/schemas/Host",
            "description": "Машина, на которой лежат данные клиента"
          },
          "tariff": {
            "$ref": "#/components/schemas/ClientTariff",
            "description": "Тариф клиента"
          },
          "tariffsByService": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/ClientTariff"
            },
            "description": "Тарифы клиента по сервисам"
          },
          "fbsLogistic": {
            "type": "boolean",
            "description": "Признак того, что в расчете юнит экономики ценах использовать тарифы логистики по ФБС или ФБОесли null или true - будет браться ФБС логистика"
          },
          "withCommonPrice": {
            "type": "boolean",
            "description": "Идентификатор выгружать файл с ценами, где будут присутствовать общие цены или нет"
          },
          "clientParam": {
            "$ref": "#/components/schemas/ClientParam",
            "description": "Параметры клиента"
          },
          "purchasePercent": {
            "type": "number",
            "format": "double",
            "description": "Процент выкупа товара"
          },
          "wildberriesLogisticRatio": {
            "type": "number",
            "format": "double",
            "description": "Коэффициент логистики по ВБ"
          },
          "ozonLogisticRatio": {
            "type": "number",
            "format": "double",
            "description": "Коэффициент логистики по OZON"
          },
          "additionalPricePercent": {
            "type": "number",
            "format": "double",
            "description": "Доп. процент от цены товара для вычисления логистики OZON"
          },
          "avgOzonDeliveryTime": {
            "type": "integer",
            "format": "int32",
            "description": "Среднее время доставки OZON"
          },
          "wildberriesTerritorialRatio": {
            "type": "number",
            "format": "double",
            "description": "Коэффициент территориального распределения ВБ"
          },
          "wildberriesWarehouseRatio": {
            "type": "number",
            "format": "double",
            "description": "Коэффициент склада на ВБ"
          },
          "salesForPeriod": {
            "type": "number",
            "format": "double",
            "description": "Оборот за последние 30 дней"
          },
          "useYandexMarketBusinessId": {
            "type": "boolean",
            "description": "Идентификатор использовать businessId при работе с яндекс маркет АПИ"
          },
          "averageFbsOrdersForPeriod": {
            "type": "number",
            "format": "double",
            "description": "Среднее количество заказов по ФБС за 30 дней."
          },
          "andDuplicateUpdatePrice": {
            "type": "boolean",
            "description": "Идентификатор обновлять ли цены у дубликатов и оригиналов, если цена меняется у дубля"
          },
          "otherExpensesOnClient": {
            "type": "boolean",
            "description": "Идентификатор распределения прочих расходов, по всему клиенту или строго по организациям"
          },
          "currencyRatio": {
            "type": "number",
            "format": "double",
            "description": "Сколько процентов прибавить к курсу ЦБ."
          },
          "groupAnalyticsBySku": {
            "type": "boolean",
            "description": "Идентификатор выводить аналитику с группировкой по SKU ID"
          },
          "ozonAutoActionDisabled": {
            "type": "boolean",
            "description": "Идентификатор запретить автоматическое вступление товаров в акции ozon"
          },
          "exportWithImages": {
            "type": "boolean",
            "description": "Идентификатор экспортировать с изображениями"
          },
          "useProductPurchasePrice": {
            "type": "boolean",
            "description": "Идентификатор не учитывать закупочные цены в аналитике по схеме FIFO. (Настройка ФИФО/ Нет ФИФО)"
          },
          "planImagePath": {
            "type": "string",
            "description": "Путь к изображению для плана продаж",
            "readOnly": true
          },
          "planImageUrl": {
            "type": "string",
            "description": "Ссылка на изображение для плана продаж",
            "readOnly": true
          },
          "planImageSize": {
            "type": "integer",
            "format": "int32",
            "description": "Размер в байтах изображения для плана продаж",
            "readOnly": true
          },
          "planImageWidth": {
            "type": "integer",
            "format": "int32",
            "description": "Ширина изображения для плана продаж",
            "readOnly": true
          },
          "planImageHeight": {
            "type": "integer",
            "format": "int32",
            "description": "Высота изображения для плана продаж",
            "readOnly": true
          },
          "checkOrderProductQuantity": {
            "type": "boolean",
            "description": "Проверка количества товаров в заказе"
          },
          "managementBySize": {
            "type": "boolean",
            "description": "Идентификатор группировать или нет товары в репрайсере"
          },
          "sendStockWhenProductDeleted": {
            "type": "boolean",
            "description": "Отправлять нулевой остаток у удаленных товаров"
          },
          "sendZeroIfFboStockExists": {
            "type": "boolean",
            "description": "Отправлять 0 если есть остаток на FBO"
          },
          "saveProductHistory": {
            "type": "boolean",
            "description": "Сохранять историю изменения карточек"
          },
          "currency": {
            "type": "string",
            "description": "Валюта"
          },
          "analyticsConfidential": {
            "type": "boolean",
            "description": "Настройка, что данные аналитики конфиденциальны. Скрыты для роли SUPPORT"
          },
          "integratorName": {
            "type": "string",
            "description": "Логин назначенного клиентом интегратора"
          },
          "firstImportDates": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Даты первого импорта аналитики клиента. По ключу NONE хранит общую дату для всех сервисов"
          },
          "autoSplitServices": {
            "type": "array",
            "description": "Список маркетплейсов для которых заказы будут делится автоматически",
            "items": {
              "type": "string",
              "description": "Сервис",
              "enum": [
                "NONE",
                "WILDBERRIES",
                "OZON",
                "YANDEX_MARKET",
                "FAMILIYA",
                "NATIONAL_CATALOG",
                "ALIEXPRESS",
                "OTHER",
                "MOY_SKLAD",
                "SBER_MEGA_MARKET",
                "CISLINK",
                "ONE_C",
                "AVITO",
                "LEROY_MERLIN",
                "DETMIR",
                "KAZAN_EXPRESS",
                "EVOTOR",
                "WEBASYST",
                "AMAZON",
                "EBAY",
                "SIMALAND",
                "INSALES",
                "LAMODA",
                "OZON_PERFORMANCE",
                "WALMART",
                "GOOGLE",
                "YANDEX_DISC",
                "EMAIL",
                "WOOCOMMERCE",
                "MAGNIT",
                "OPENCART",
                "M_VIDEO",
                "TAKEALOT",
                "UZUM",
                "SHOPIFY"
              ]
            },
            "uniqueItems": true
          },
          "isFixByWildberries": {
            "type": "boolean"
          },
          "lastExportStat": {
            "type": "string",
            "format": "date"
          },
          "updateDataLearningLastDate": {
            "type": "string",
            "format": "date-time"
          },
          "tariffs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ClientTariff"
            }
          },
          "bills": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/Bill"
            }
          },
          "banks": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/BankIntegrationData"
            }
          },
          "productAutoImport": {
            "type": "boolean",
            "description": "НЕ импортировать товары при импорте заказов"
          },
          "fixByWildberries": {
            "type": "boolean"
          },
          "integrations": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ServiceIntegration"
            }
          }
        }
      },
      "ClientOrganization": {
        "type": "object",
        "description": "Организация от которой поставляются товары на маркетплейсы",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "ozonClientId": {
            "type": "integer",
            "format": "int64",
            "description": "Идентификатор клиента API Озон"
          },
          "ozonApiValid": {
            "type": "boolean",
            "description": "Флаг работоспособности ключа API Озон"
          },
          "ozonTransactionsImportDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата последнего импорта аналитики озон",
            "readOnly": true
          },
          "ozonCashFlowStatementImportDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата последнего импорта данных из дашборда озон",
            "readOnly": true
          },
          "ozonStocksImportDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата последнего импорта остатков озон",
            "readOnly": true
          },
          "ozonCampaignSkuImportDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата последнего импорта отчета рекламы озон по sku",
            "readOnly": true
          },
          "wildberriesProfitImportDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата последнего импорта аналитики вайлдбериз",
            "readOnly": true
          },
          "wildberriesSalesFunnelImportDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата последнего импорта воронки продаж вайлдбериз",
            "readOnly": true
          },
          "wildberriesSalesFunnelExtensionImportDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата последнего импорта воронки продаж вайлдбериз через расширение",
            "readOnly": true
          },
          "wildberriesFboOrdersImportDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата последнего импорта ФБО вайлдбериз заказов из профит репорта",
            "readOnly": true
          },
          "wildberriesOrderStatusesUpdateDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата последнего обновления статусов заказов из профит репорта",
            "readOnly": true
          },
          "wildberriesIncomeImportDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата последнего импорта поступлений вайдбериз",
            "readOnly": true
          },
          "wildberriesStocksImportDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата последнего импорта остатков вайдбериз",
            "readOnly": true
          },
          "wildberriesOrdersImportDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата последнего импорта заказов вайдбериз",
            "readOnly": true
          },
          "wildberriesSalesImportDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата последнего импорта продаж вайдбериз",
            "readOnly": true
          },
          "wildberriesTurnoverImportDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата последнего импорта кодов маркировки с вайдбериз",
            "readOnly": true
          },
          "disableWildberriesAutoPriceUpdate": {
            "type": "boolean",
            "description": "Отключить автоматическое обновление цен из Wildberries в SelSup"
          },
          "enableWildberriesOldPriceExport": {
            "type": "boolean",
            "description": "Автоматически отправлять цены на маркетплейс Wildberries ночью"
          },
          "omsConnection": {
            "type": "string",
            "description": "Идентификатор соединения для работы со станцией управления заказами Честного знака (СУЗ)"
          },
          "priceRate": {
            "type": "number",
            "format": "double",
            "description": "Ценовой коэффициент для расчета цены на маркетплейсе по закупочной цене"
          },
          "ediLogin": {
            "type": "string",
            "description": "Логин EDI"
          },
          "defaultBrandId": {
            "type": "integer",
            "format": "int32",
            "description": "Бренд по умолчанию для организации. Используется при импорте карточек."
          },
          "defaultManufacturerId": {
            "type": "integer",
            "format": "int32",
            "description": "Производитель по умолчанию. Используется при импорте карточек"
          },
          "barcodeGenerationType": {
            "type": "string",
            "description": "Способ получения штрих-кодов для товаров",
            "enum": [
              "GS1",
              "BARCODE_REGION",
              "NATIONAL_CATALOG",
              "WILDBERRIES",
              "NONE"
            ]
          },
          "clientId": {
            "type": "integer",
            "format": "int64",
            "description": "Идентификатор клиента",
            "readOnly": true
          },
          "createdDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата создания организации",
            "readOnly": true
          },
          "crptToken": {
            "type": "string",
            "description": "Токен для работы с API ЦРПТ. Никогда не отдается на фронтенд. Проставляется автоматически",
            "writeOnly": true
          },
          "suzTokenDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата последнего получения токена СУЗ. Используется для автоматического обновления токена по сертификату,тк время жизни токена 10 часов",
            "readOnly": true
          },
          "tokenCreatedDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата последнего получения токена ЦРПТ. Используется для автоматического обновления токена по сертификату,тк время жизни токена 10 часов",
            "readOnly": true
          },
          "wildberriesCardsRefreshTime": {
            "type": "string",
            "format": "date-time",
            "description": "Дата последнего полного обновления карточек Вайлдбериз",
            "readOnly": true
          },
          "removeWildberriesSupplierAuthorizationToken": {
            "$ref": "#/components/schemas/ClientOrganization",
            "writeOnly": true
          },
          "organization": {
            "$ref": "#/components/schemas/Organization",
            "description": "Связь с реквизитами организации"
          },
          "updateWildberriesPrice": {
            "type": "boolean",
            "description": "Признак необходимости обновить цены на Вайлдбериз",
            "readOnly": true
          },
          "wildberriesFbsDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата с которой необходимо импортировать заказы с Wildberries по FBS",
            "readOnly": true
          },
          "sberFbsDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата с которой необходимо импортировать заказы с СберМегаМаркет по FBS",
            "readOnly": true
          },
          "wildberriesPriceUpdateDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата последнего обновления цен с Wildberries",
            "readOnly": true
          },
          "ozonFbsDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата с которой необходимо импортировать заказы с Ozon по FBS",
            "readOnly": true
          },
          "ozonPriceUpdateDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата последнего обновления цен с Ozon",
            "readOnly": true
          },
          "wildberriesTokenValid": {
            "type": "boolean",
            "description": "Статус работоспособности токена Wildberries",
            "readOnly": true
          },
          "wildberriesReportTokenValid": {
            "type": "boolean",
            "description": "Статус работоспособности токена отчетов Wildberries",
            "readOnly": true
          },
          "wildberriesCampaignTokenValid": {
            "type": "boolean",
            "description": "Статус работоспособности токена кампаний Wildberries",
            "readOnly": true
          },
          "webasystTokenValid": {
            "type": "boolean",
            "description": "Статус работоспособности токена webasyst",
            "readOnly": true
          },
          "autoSyncFbsStocks": {
            "type": "boolean",
            "description": "Признак включения автоматической синхронизации остатков"
          },
          "onlineFboImport": {
            "type": "boolean",
            "description": "Включение онлайн-импорта заказов FBO"
          },
          "updateOrdersDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата, начиная с которой надо обновить статусы заказов c WB",
            "readOnly": true
          },
          "updateOzonOrdersDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата, начиная с которой надо обновить статусы заказов с OZON",
            "readOnly": true
          },
          "remains": {
            "type": "array",
            "description": "Карточки для получения маркировки на остатки товаров",
            "items": {
              "$ref": "#/components/schemas/RemainsProductCode"
            }
          },
          "linkedClientId": {
            "type": "integer",
            "format": "int64",
            "description": "Связанный клиент фулфилмента"
          },
          "certHash": {
            "type": "string",
            "description": "Слепок сертификата Крипто Про"
          },
          "yandexMarketLabelFormat": {
            "type": "string",
            "description": "Формат этикетки Яндекс.Маркета"
          },
          "ymTokenExpired": {
            "type": "string",
            "format": "date-time"
          },
          "ymTokenCreatedDate": {
            "type": "string",
            "format": "date-time"
          },
          "yandexMarketTokenValid": {
            "type": "boolean",
            "description": "Валидность OAuth токена на Yandex.Market"
          },
          "yandexMarketToken": {
            "$ref": "#/components/schemas/ClientOrganization",
            "description": "Токен с которым приходит Yandex.Market",
            "writeOnly": true
          },
          "yandexMarketOrganizationId": {
            "type": "string",
            "description": "id компании на Yandex.Market"
          },
          "removeYandexMarketOrganizationId": {
            "$ref": "#/components/schemas/ClientOrganization",
            "writeOnly": true
          },
          "yandexMarketBusinessId": {
            "type": "string",
            "description": "id кабинета на Yandex.Market"
          },
          "yandexMarketFbsDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата с которой необходимо импортировать заказы с YandexMarket по FBS"
          },
          "sberMegaMarketApiValid": {
            "type": "boolean",
            "description": "Валидность токена СберМегаМаркет"
          },
          "sberMegaMarketApiCreatedDate": {
            "type": "string",
            "format": "date-time"
          },
          "sberMerchantId": {
            "type": "integer",
            "format": "int64",
            "description": "Идентификатор продавца, выдаётся при регистрации в СберМегаМаркет"
          },
          "sberMegaMarketToken": {
            "type": "string",
            "description": "Пароль для авторизации при получении запросов от СберМегаМаркет"
          },
          "removeSberMegaMarketToken": {
            "$ref": "#/components/schemas/ClientOrganization",
            "writeOnly": true
          },
          "aliexpressTokenValid": {
            "type": "boolean",
            "description": "Валидность токена Aliexpress"
          },
          "aliexpressApiKeyCreatedDate": {
            "type": "string",
            "format": "date-time"
          },
          "aliexpressShippingLeadTime": {
            "type": "integer",
            "format": "int32",
            "description": "Время на отправку заказа (время, за которое вы обязуетесь ввести трек-номер) на Aliexpress"
          },
          "aliexpressFreightTemplateId": {
            "type": "integer",
            "format": "int64",
            "description": "Идентификатор шаблона доставки на Aliexpress"
          },
          "aliexpressFbsDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата с которой необходимо импортировать заказы с Aliexpress по FBS"
          },
          "onlineStocks": {
            "type": "boolean",
            "description": "Онлайн обновление остатков"
          },
          "hasOzonFilter": {
            "type": "boolean",
            "description": "Наличие фильтра ozon для ночного импорта"
          },
          "hasOtherFilter": {
            "type": "boolean",
            "description": "Наличие фильтра стороних сервисов для ночного импорта"
          },
          "yandexMarketPriceUpdateDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата последнего обновления цен на YandexMarket"
          },
          "moySkladApiKey": {
            "type": "string",
            "description": "Токен Мой Склад. Только для записи",
            "writeOnly": true
          },
          "moySkladApiValid": {
            "type": "boolean",
            "description": "Валидность токена Мой Склад"
          },
          "moySkladId": {
            "type": "string",
            "description": "Идентификатор организации в Мой Склад",
            "readOnly": true
          },
          "yandexApiKey": {
            "type": "string",
            "description": "Токен ApiKey Яндекс. Только для записи",
            "writeOnly": true
          },
          "yandexApiKeyValid": {
            "type": "boolean",
            "description": "Валидность токена ApiKey Яндекс"
          },
          "yandexMarketImportOrdersDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата последнего импорта операций с YandexMarket",
            "readOnly": true
          },
          "ymFboImportOrdersDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата последнего импорта FBO заказов с YandexMarket",
            "readOnly": true
          },
          "yandexMarketStocksImportDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата последнего импорта остатков с YandexMarket",
            "readOnly": true
          },
          "shippingService": {
            "type": "string",
            "description": "Список интегрированных сервисов доставки"
          },
          "ozonRealizationImportDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата последнего импорта отчета о реализации OZON"
          },
          "ozonFboOrderImportDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата последнего импорта с OZON FBO заказов"
          },
          "detmirFboOrdersImportDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата последнего импорта FBO заказов с Детского мира"
          },
          "stockStrategy": {
            "type": "string",
            "description": "Стратегия управления остатками",
            "enum": [
              "SAME_NOT_ONE",
              "SAME",
              "SPLIT"
            ]
          },
          "edoId": {
            "type": "string",
            "description": "Идентификатор в ЭДО"
          },
          "fiasId": {
            "type": "string",
            "description": "Идентификатор ФИАС"
          },
          "isYmExpress": {
            "type": "boolean",
            "description": "Экспресс магазин на Яндекс.Маркете"
          },
          "isFboShop": {
            "type": "boolean",
            "description": "Магазин FBO на Яндекс.Маркете"
          },
          "ymConfirmStatus": {
            "type": "string",
            "description": "Статус в котором подтверждаются заказы",
            "enum": [
              "CREATED",
              "REVOKING",
              "REVOKED",
              "ORDER_CREATED",
              "CARDS_CREATED",
              "BOX_BARCODES",
              "IMAGES_UPLOADED",
              "INVOICE_UPLOADED",
              "READY_TO_SUPPLY",
              "SUPPLIED",
              "FINISHED",
              "COLLECTED",
              "SEND",
              "DELIVERY",
              "REFUND",
              "COLLECTING",
              "PACKING",
              "PAYMENT_REQUIRED",
              "CANCELED",
              "CONTROVERSIAL",
              "OVERDUE",
              "READY_FOR_PICKUP",
              "WAITING_SUPPLY",
              "PICK_UP_REFUND",
              "REFUND_RECEIVED",
              "DELETED",
              "RESTORE",
              "PRODUCTION_CONFIRMED"
            ]
          },
          "hasSets": {
            "type": "boolean",
            "description": "Есть комплекты и нужно дополнительно выбирать остатки для комплектов"
          },
          "warehouseByStock": {
            "type": "boolean",
            "description": "Определять автоматически склад заказа по остаткам"
          },
          "wildberriesImportStorageReportDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата последнего импорта отчета по платному хранению на Wildberries"
          },
          "wildberriesImportCampaignStatsDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата последнего импорта статистики по рекламным кампаниям на Wildberries"
          },
          "avitoOrdersImportDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата последнего импорта Avito заказов"
          },
          "deleted": {
            "type": "boolean",
            "description": "Идентификатор удаления организации"
          },
          "totalMinFbsStock": {
            "type": "integer",
            "format": "int32",
            "description": "Минимальный остаток FBS для организации. Если остаток товара меньше или равен этому значению, он будет заменён на 0."
          },
          "totalMaxFbsStock": {
            "type": "integer",
            "format": "int32",
            "description": "Максимальный остаток FBS для организации. Если остаток товара больше этого значения, он будет заменён на это значение."
          },
          "firstImportDates": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "format": "date-time"
            },
            "description": "Даты первого импорта аналитики для каждого сервиса данной организации. По ключу NONE хранит общую дату для всех сервисов"
          },
          "fboYandexMarketMinStock": {
            "type": "integer",
            "format": "int32",
            "description": "Минимальный порог остатков на FBO для Яндекс Маркета. При его достижении включится передача остатков FBS."
          },
          "fboWildberriesMinStock": {
            "type": "integer",
            "format": "int32",
            "description": "Минимальный порог остатков на FBO для Wildberries. При его достижении включится передача остатков FBS."
          },
          "fboOzonMinStock": {
            "type": "integer",
            "format": "int32",
            "description": "Минимальный порог остатков на FBO для Ozon. При его достижении включится передача остатков FBS."
          },
          "servicesForProductsAutoImport": {
            "type": "array",
            "description": "Сервисы с включённым автоимпортом товаров для данной организации",
            "items": {
              "type": "string",
              "description": "Сервис",
              "enum": [
                "NONE",
                "WILDBERRIES",
                "OZON",
                "YANDEX_MARKET",
                "FAMILIYA",
                "NATIONAL_CATALOG",
                "ALIEXPRESS",
                "OTHER",
                "MOY_SKLAD",
                "SBER_MEGA_MARKET",
                "CISLINK",
                "ONE_C",
                "AVITO",
                "LEROY_MERLIN",
                "DETMIR",
                "KAZAN_EXPRESS",
                "EVOTOR",
                "WEBASYST",
                "AMAZON",
                "EBAY",
                "SIMALAND",
                "INSALES",
                "LAMODA",
                "OZON_PERFORMANCE",
                "WALMART",
                "GOOGLE",
                "YANDEX_DISC",
                "EMAIL",
                "WOOCOMMERCE",
                "MAGNIT",
                "OPENCART",
                "M_VIDEO",
                "TAKEALOT",
                "UZUM",
                "SHOPIFY"
              ]
            }
          },
          "skuCreateType": {
            "type": "string",
            "enum": [
              "BARCODE",
              "ARTICLE_SIZE",
              "ARTICLE_VENDOR_SIZE"
            ]
          },
          "hasWildberriesCampaignAuthorizationToken": {
            "type": "boolean",
            "description": "Установлен ли токен компании API Wildberries"
          },
          "hasWildberriesSupplierAuthorizationToken": {
            "type": "boolean",
            "description": "Установлен ли токен нового API Wildberries"
          },
          "hasWildberriesServiceAuthorizationToken": {
            "type": "boolean",
            "description": "Установлен ли сервисный токен Wildberries"
          },
          "hasYandexMarketApi": {
            "type": "boolean"
          },
          "hasYandexApiKey": {
            "type": "boolean"
          },
          "hasEdiPassword": {
            "type": "boolean",
            "description": "Присвоен ли пароль EDI"
          },
          "hasImportToken": {
            "type": "boolean",
            "description": "Заполнен токен для импорта"
          },
          "hasAliexpressApiKey": {
            "type": "boolean",
            "description": "Наличие токена Aliexpress"
          },
          "hasOzonApiKey": {
            "type": "boolean",
            "description": "Наличие токена Ozon"
          },
          "hasSuzClientToken": {
            "type": "boolean",
            "description": "Наличие токена СУЗ"
          },
          "hasGs1Password": {
            "type": "boolean",
            "description": "Наличие пароля GS1"
          },
          "hasMoySkladApi": {
            "type": "boolean",
            "description": "Установлен ли токен API МойСклад"
          },
          "hasOmsId": {
            "type": "boolean",
            "description": "Наличие OMS ID"
          },
          "hasGs1Login": {
            "type": "boolean",
            "description": "Наличие логина GS1"
          },
          "hasSberMegaMarketApi": {
            "type": "boolean",
            "description": "Наличие токена МегаМаркет"
          },
          "hasWildberriesStatApiKey": {
            "type": "boolean",
            "description": "Наличие токена API отчетов"
          },
          "hasNationalCatalogApiKey": {
            "type": "boolean",
            "description": "Наличие токена Национального каталога"
          },
          "hasYandexMarketOAuthToken": {
            "type": "boolean",
            "description": "Установлен ли OAuth токен Яндекс.Маркета"
          },
          "hasYandexMarketToken": {
            "type": "boolean",
            "description": "Установлен ли токен Яндекс.Маркета"
          },
          "hasWildberriesOAuthToken": {
            "type": "boolean",
            "description": "Установлен ли OAuth токен Wildberries"
          }
        }
      },
      "ClientParam": {
        "type": "object",
        "properties": {
          "schemaList": {
            "type": "array",
            "description": "Схема продажи на маркет плейсах",
            "items": {
              "type": "string",
              "enum": [
                "NONE",
                "FBS",
                "FBO"
              ]
            }
          },
          "services": {
            "type": "array",
            "description": "Список интересующих сервисов",
            "items": {
              "type": "string",
              "description": "Сервис",
              "enum": [
                "NONE",
                "WILDBERRIES",
                "OZON",
                "YANDEX_MARKET",
                "FAMILIYA",
                "NATIONAL_CATALOG",
                "ALIEXPRESS",
                "OTHER",
                "MOY_SKLAD",
                "SBER_MEGA_MARKET",
                "CISLINK",
                "ONE_C",
                "AVITO",
                "LEROY_MERLIN",
                "DETMIR",
                "KAZAN_EXPRESS",
                "EVOTOR",
                "WEBASYST",
                "AMAZON",
                "EBAY",
                "SIMALAND",
                "INSALES",
                "LAMODA",
                "OZON_PERFORMANCE",
                "WALMART",
                "GOOGLE",
                "YANDEX_DISC",
                "EMAIL",
                "WOOCOMMERCE",
                "MAGNIT",
                "OPENCART",
                "M_VIDEO",
                "TAKEALOT",
                "UZUM",
                "SHOPIFY"
              ]
            }
          }
        }
      },
      "ClientTariff": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "name": {
            "type": "string",
            "description": "Название тарифа"
          },
          "createdDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата создания тарифа",
            "readOnly": true
          },
          "expiredDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата завершения тарифа",
            "readOnly": true
          },
          "usersLimit": {
            "type": "integer",
            "format": "int32"
          },
          "productsLimit": {
            "type": "integer",
            "format": "int32"
          },
          "contractorsLimit": {
            "type": "integer",
            "format": "int32"
          },
          "organizationLimit": {
            "type": "integer",
            "format": "int32"
          },
          "maxStorageSizeMb": {
            "type": "integer",
            "format": "int32"
          },
          "ordersLimit": {
            "type": "integer",
            "format": "int32"
          },
          "warehousesLimit": {
            "type": "integer",
            "format": "int32"
          },
          "apiRequestsLimit": {
            "type": "integer",
            "format": "int32"
          },
          "price": {
            "type": "integer",
            "format": "int32"
          },
          "ordersCount": {
            "type": "integer",
            "format": "int32"
          },
          "ignorePaymentUpdate": {
            "type": "boolean"
          },
          "clientId": {
            "type": "integer",
            "format": "int64",
            "description": "Идентификатор клиента",
            "readOnly": true
          },
          "bankOrderId": {
            "type": "string",
            "description": "Заказ в банке",
            "readOnly": true
          },
          "status": {
            "type": "string",
            "enum": [
              "CREATED",
              "PAYED",
              "FREE",
              "REPLACED",
              "REFUND"
            ]
          },
          "formUrl": {
            "type": "string",
            "description": "Ссылка на оплату заказа",
            "readOnly": true
          },
          "changeTariffId": {
            "type": "integer",
            "format": "int64"
          },
          "incomeByOrder": {
            "type": "boolean"
          },
          "analytics": {
            "type": "boolean",
            "description": "Включена ли аналитика в тариф"
          },
          "fbs": {
            "type": "boolean",
            "description": "Включена ли продажа со своего склада в тариф"
          },
          "fbo": {
            "type": "boolean",
            "description": "Включена ли продажа со склада маркетплейса в тариф"
          },
          "cards": {
            "type": "boolean",
            "description": "Включено ли создание карточек в тариф"
          },
          "allowUserIncrease": {
            "type": "boolean"
          },
          "answerSpeed": {
            "$ref": "#/components/schemas/AnswerSpeed"
          },
          "addonIds": {
            "type": "array",
            "items": {
              "type": "integer",
              "format": "int32"
            }
          },
          "change": {
            "type": "boolean"
          },
          "period": {
            "type": "string",
            "enum": [
              "DAY",
              "WEEK",
              "MONTH",
              "QUARTER",
              "YEAR",
              "MONTH_3",
              "MONTH_6",
              "END_OF_TARIFF",
              "MONTH_7",
              "MONTH_14",
              "YEAR_2"
            ]
          },
          "forBill": {
            "type": "boolean"
          },
          "paidNow": {
            "type": "boolean"
          },
          "hasMore": {
            "type": "boolean"
          },
          "inSelsupId": {
            "type": "integer",
            "format": "int64",
            "description": "Идентификатор присвоенный в селсап для записи в AuthApi"
          },
          "changedUserName": {
            "type": "string",
            "description": "Юзер изменивший статус тарифа"
          },
          "lastChangedDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата последнего изменения статуса тарифа"
          },
          "tariffVersion": {
            "type": "integer",
            "format": "int32",
            "description": "Версия тарифа"
          },
          "firstIntegrationServiceId": {
            "type": "integer",
            "format": "int32"
          },
          "tariffId": {
            "type": "integer",
            "format": "int32",
            "description": "Идентификатор оригинального тарифа"
          },
          "localizedName": {
            "type": "string"
          },
          "translationKey": {
            "type": "string"
          },
          "imageGenerationsLimit": {
            "type": "integer",
            "format": "int32",
            "description": "Лимит генераций фотографий"
          },
          "imageGenerationsCount": {
            "type": "integer",
            "format": "int32",
            "description": "Кол-во генераций фотографий"
          },
          "videoGenerationsLimit": {
            "type": "integer",
            "format": "int32",
            "description": "Лимит генераций видео"
          },
          "videoGenerationsCount": {
            "type": "integer",
            "format": "int32",
            "description": "Кол-во генераций видео"
          },
          "serviceType": {
            "type": "string",
            "description": "Тип сервиса",
            "enum": [
              "SELSUP",
              "PRECISE_DELIVERIES",
              "PRICING"
            ]
          },
          "isConstructor": {
            "type": "boolean"
          }
        }
      },
      "Host": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          }
        }
      },
      "RemainsProductCode": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "code": {
            "type": "string"
          },
          "suzId": {
            "type": "string"
          },
          "brandId": {
            "type": "integer",
            "format": "int32"
          },
          "clientId": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "ServiceIntegration": {
        "type": "object",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "tokenExpiredDate": {
            "type": "string",
            "format": "date-time",
            "description": "Время, до которого действует токен"
          },
          "secondTokenExpiredDate": {
            "type": "string",
            "format": "date-time",
            "description": "Время, до которого действует второй токен"
          },
          "service": {
            "type": "string",
            "description": "Сервис с которым настраивается интеграция",
            "enum": [
              "NONE",
              "WILDBERRIES",
              "OZON",
              "YANDEX_MARKET",
              "FAMILIYA",
              "NATIONAL_CATALOG",
              "ALIEXPRESS",
              "OTHER",
              "MOY_SKLAD",
              "SBER_MEGA_MARKET",
              "CISLINK",
              "ONE_C",
              "AVITO",
              "LEROY_MERLIN",
              "DETMIR",
              "KAZAN_EXPRESS",
              "EVOTOR",
              "WEBASYST",
              "AMAZON",
              "EBAY",
              "SIMALAND",
              "INSALES",
              "LAMODA",
              "OZON_PERFORMANCE",
              "WALMART",
              "GOOGLE",
              "YANDEX_DISC",
              "EMAIL",
              "WOOCOMMERCE",
              "MAGNIT",
              "OPENCART",
              "M_VIDEO",
              "TAKEALOT",
              "UZUM",
              "SHOPIFY"
            ]
          },
          "serviceClientId": {
            "type": "string",
            "description": "Некодируемый идентификатор для некоторых сервисов"
          },
          "serviceSecret": {
            "$ref": "#/components/schemas/ServiceIntegration",
            "description": "Постоянный секретный ключ",
            "writeOnly": true
          },
          "code": {
            "type": "string",
            "description": "Код авторизации для получения токена, не хранится в базе"
          },
          "login": {
            "type": "string",
            "description": "Логин для авторизации в сервисах"
          },
          "secondLogin": {
            "type": "string",
            "description": "Второй логин для авторизации в особенных сервисах"
          },
          "password": {
            "$ref": "#/components/schemas/ServiceIntegration",
            "description": "Пароль для авторизации в сервисах",
            "writeOnly": true
          },
          "secondPassword": {
            "$ref": "#/components/schemas/ServiceIntegration",
            "description": "Второй пароль для авторизации в особенных сервисах",
            "writeOnly": true
          },
          "clientId": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "updateToken": {
            "type": "boolean"
          },
          "siteDomain": {
            "type": "string",
            "description": "Ссылка для обращения к АПИ"
          },
          "redirectUri": {
            "type": "string"
          },
          "hasSecondPassword": {
            "type": "boolean"
          },
          "hasPassword": {
            "type": "boolean"
          },
          "hasToken": {
            "type": "boolean"
          },
          "hasSecret": {
            "type": "boolean"
          }
        }
      },
      "TransactionSchedule": {
        "type": "object",
        "description": "Расписание",
        "properties": {
          "scheduleId": {
            "type": "integer",
            "format": "int64"
          },
          "direction": {
            "type": "string",
            "enum": [
              "DEBIT",
              "CREDIT"
            ]
          },
          "comment": {
            "type": "string"
          },
          "accountId": {
            "type": "integer",
            "format": "int64"
          },
          "account": {
            "$ref": "#/components/schemas/Account"
          },
          "date": {
            "type": "string",
            "format": "date-time"
          },
          "paymentAmount": {
            "type": "number",
            "format": "double"
          },
          "frequency": {
            "type": "string",
            "enum": [
              "WEEK",
              "MONTH",
              "QUARTER",
              "YEAR"
            ]
          },
          "contractorId": {
            "type": "integer",
            "format": "int64"
          },
          "expenditureId": {
            "type": "integer",
            "format": "int64"
          },
          "expenditure": {
            "$ref": "#/components/schemas/ExpenditureObject"
          },
          "contractor": {
            "$ref": "#/components/schemas/Contractor"
          },
          "clientId": {
            "type": "integer",
            "format": "int64"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64"
          },
          "creator": {
            "type": "string"
          },
          "createdDate": {
            "type": "string",
            "format": "date-time"
          },
          "contractorInn": {
            "type": "string"
          }
        }
      },
      "TmsTask": {
        "type": "object",
        "description": "Фоновая задача SelSup. Возвращается в разных методах, которые можно выполнять асинхронно. Далее можно проверять статус задачи, вызывая метод /task/getTask?id=",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int64",
            "description": "Идентификатор задачи",
            "readOnly": true
          },
          "status": {
            "type": "string",
            "description": "Текущий статус задачи",
            "enum": [
              "CREATED",
              "RUNNING",
              "FINISHED",
              "ERROR",
              "RESTARTING",
              "INTERRUPTING",
              "INTERRUPTED",
              "STOPPED",
              "EXCEPTION"
            ],
            "readOnly": true
          },
          "type": {
            "type": "string",
            "description": "Тип задачи",
            "enum": [
              "WILDBERRIES_CREATE_CARD",
              "NATIONAL_CATALOG_CREATE_CARD",
              "OZON_CREATE_CARD",
              "OZON_CARDS_IMPORT",
              "IMPORT_FBS_ORDERS",
              "UPLOAD_PHOTOGRAPHY",
              "WILDBERRIES_UPDATE_PRICE",
              "WILDBERRIES_CARD_IMPORT",
              "WILDBERRIES_CARD_UPDATE",
              "SELSUP_STOCKS",
              "REFRESH_PHOTOGRAPHY",
              "SUPPLYING_QUANTITY_TASK",
              "EXPORT_PRICE",
              "OZON_UPDATE_PRICE",
              "WILDBERRIES_FILE_TASK",
              "YANDEX_MARKET_CARD_CREATE",
              "OZON_CARD_UPDATE_TASK",
              "OZON_IMPORT_STAT_TASK",
              "WILDBERRIES_PROFIT_STAT_TASK",
              "ALIEXPRESS_CREATE_CARD_TASK",
              "ALIEXPRESS_UPDATE_CARD_TASK",
              "PRICES_IMPORT_TASK",
              "WILDBERRIES_PRICES_TASK",
              "YANDEX_MARKET_CARD_IMPORT",
              "STOCKS_UPDATE",
              "WILDBERRIES_STOCKS_IMPORT_TASK",
              "WILDBERRIES_ORDERS_AND_SALES_TASK",
              "WILDBERRIES_INCOMES_IMPORT_TASK",
              "OZON_STOCKS_IMPORT_TASK",
              "TURNOVER_DOCUMENTS_TASK",
              "INTRODUCE_WMS_ITEMS_TASK",
              "PRODUCTS_FILE_TASK",
              "MODELS_FILE_TASK",
              "UPDATE_PRODUCT_CODES_TASK",
              "INTRODUCE_CODES_TASK",
              "PRODUCTS_IMPORT_TASK",
              "PRICES_FILE_TASK",
              "YANDEX_MARKET_UPDATE_PRICE_TASK",
              "IMPORT_STOCKS_TASK",
              "MOY_SKLAD_EXPORT_ORDERS",
              "MERGE_PRODUCTS_TASK",
              "PRODUCTS_WILDBERRIES_EXCEL_IMPORT_TASK",
              "MOY_SKLAD_CREATE_CARD",
              "IMPORT_FBO_STOCKS_FROM_FILE",
              "CREATE_WMS_ITEMS",
              "MOY_SKLAD_CARDS_IMPORT",
              "PROMOTION_FILE",
              "UNUSED_1",
              "UNUSED",
              "PRODUCT_ANALYTICS_FILE_TASK",
              "PROMOTION_RESET_FILE",
              "MOY_SKLAD_IMPORT_ORDERS",
              "FINANCE_REPORT_FILE_TASK",
              "YML_FILE_EXPORT",
              "PRODUCT_BALANCE_REPORT_FILE_TASK",
              "CURRENT_PRODUCT_BALANCE_FILE_TASK",
              "IMPORT_TRANSACTIONS",
              "MATCH_UNREGISTERED_PROFIT_REPORT_TASK",
              "UPDATE_AVERAGE_SERVICE_EXPENSES_TASK",
              "YANDEX_MARKET_ORDER_IMPORT_STAT_TASK",
              "ABC_REPORT_FILE_TASK",
              "MODEL_CONTRACTORS_IMPORT",
              "MODEL_CONTRACTORS_EXPORT",
              "BANK_TRANSACTION_IMPORT_FILE_TASK",
              "YML_IMPORT_TASK",
              "SALES_DYNAMIC_REPORT_FILE_TASK",
              "UPDATE_FBS_ORDERS",
              "EXPORT_TRANSACTION_IN_EXCEL_FILE_TASK",
              "IMPORT_TRANSACTION_FROM_EXCEL_FILE_TASK",
              "EXPORT_PROFIT_REPORT_FILE_TASK",
              "IMPORT_PROFIT_REPORT_FROM_EXCEL_FILE_TASK",
              "IMPORT_REALIZATION_REPORT_TASK",
              "STOCK_RECONCILIATION",
              "ORDER_REPORT_FILE_TASK",
              "GET_WB_FBO_ORDER_FROM_PROFIT_REPORT_TASK",
              "TO_QUANTITY_STORAGE_METHOD",
              "APPLY_RECONCILIATION",
              "OZON_IMPORT_FBO_ORDERS_TASK",
              "UPDATE_PURCHASE_PRICE_IN_PROFIT_REPORT_TASK",
              "FBS_LABELS",
              "MERGE_PRODUCT_STOCKS",
              "CREATE_ORDER_FROM_FILE",
              "ALIEXPRESS_CARD_IMPORT",
              "PRICE_LIST_IMPORT",
              "WB_STOCK_REPORT_FILE",
              "CONTRACTORS_REPORT_FILE",
              "PRODUCTS_SBER_MEGA_MARKET_EXCEL_IMPORT_TASK",
              "EXPORT_PROBLEMATIC_PRODUCT_REPORT",
              "PLAN_SUPPLY_REPORT_TASK",
              "PLAN_FACT_SALES_REPORT_FILE",
              "IMPORT_PLAN_SALES_FROM_EXCEL_FILE_TASK",
              "EXPORT_PLAN_SALES_EXCEL_FILE_TASK",
              "ORDERS_TO_BUY_FILE_TASK",
              "MERGE_PRICE_ON_OTHER_MP_TASK",
              "MATCH_PRODUCT_LAST_OPERATION_DATE_TASK",
              "PROBLEMATIC_PRODUCT_PRICE_FILE_TASK",
              "CATEGORIES_IMPORT_EXCEL_TASK",
              "AVITO_CARD_IMPORT",
              "UPDATE_OLD_WB_ORDER_STATUSES_TASK",
              "PRESTA_SHOP_IMPORT_TASK",
              "PRODUCTS_AVITO_EXCEL_IMPORT_TASK",
              "FBO_STOCK_RECONCILIATION_TASK",
              "APPLY_FBO_RECONCILIATION_TASK",
              "EXPORT_REPRICE_PRODUCT_CONFIG_TASK",
              "IMPORT_REPRICE_PRODUCT_CONFIG_TASK",
              "OZON_CASH_FLOW_STATEMENT_IMPORT_TASK",
              "IMPORT_PROMOTION_STRATEGY_FILE_TASK",
              "UPDATE_ORDER_DELIVERY_INFO_TASK",
              "BILLING_OPERATION_TASK",
              "SET_PURCHASE_PERCENT_TASK",
              "REMOVE_PRODUCT_IMAGES_TASK",
              "STRUCTURE_TURNOVER_TASK",
              "OZON_NEW_UPDATE_PRICE",
              "REPLACE_PRODUCT_IMAGE_TASK",
              "UPDATE_OZON_PROMOTION_DATA_TASK",
              "WILDBERRIES_IMPORT_CAMPAIGN_TASK",
              "WILDBERRIES_STORAGE_REPORT_TASK",
              "WEBASYST_LINK_ARTICLE_TASK",
              "DELIVERY_SERVICE_LABELS",
              "HAND_ON_PULSE_FILE_TASK",
              "ITEMS_INCOME_EXCEL_TASK",
              "UPDATE_SETS_EXCEL_TASK",
              "DELETE_PROFIT_REPORTS_BY_FILE_HISTORY_IDS_TASK",
              "EXPORT_PRODUCT_SETS_TASK",
              "AMAZON_CARD_IMPORT",
              "IMPORT_ACCEPTED_PRODUCTS_TASK",
              "ADD_ORDER_PRODUCT_FROM_FILE_TASK",
              "EXPORT_ITEM_HISTORY_FILE_TASK",
              "WILDBERRIES_IMPORT_CAMPAIGN_BY_EXCEL_TASK",
              "REMOVE_CLIENT_ORGANIZATION",
              "EBAY_CARD_IMPORT_TASK",
              "PRODUCTS_IMPORT_FROM_ORGANIZATION_TASK",
              "IMPORT_FBO_ORDERS",
              "LAMODA_CARD_IMPORT",
              "UPDATE_WB_PROMOTION_DATA_TASK",
              "IMPORT_RETURNS_REPORT_TASK",
              "UPDATE_PROMOTION_DATA_TASK",
              "RESTORE_CLIENT_ORGANIZATION",
              "LEROY_MERLIN_CARD_IMPORT",
              "YANDEX_MARKET_STOCKS_IMPORT_TASK",
              "WILDBERRIES_IMPORT_NM_REPORT_TASK",
              "ORDER_ANALYTICS_FILE_TASK",
              "CLIENT_DATABASE_MOVE_TASK",
              "FAST_CARD_IMPORT",
              "EXPORT_PRODUCT_CODE",
              "INSALES_CARD_IMPORT_TASK",
              "REMOVE_PRODUCT_VIDEOS_TASK",
              "UPDATE_CARDS_TASK",
              "FIND_UNPROFITABLE_PRODUCTS_TASK",
              "FIND_UNPURCHASED_PRODUCTS_TASK",
              "WALMART_CARD_IMPORT",
              "PRODUCT_GROUPS_TASK",
              "CONTRACTOR_ARTICLE_EXPORT_TASK",
              "CONTRACTOR_ARTICLE_IMPORT_TASK",
              "CURRENCY_CONVERSION_TASK",
              "UPDATE_SUPPLY_PLAN_REPORT_TASK",
              "EXPORT_SUPPLY_PLAN_REPORT_FILE_TASK",
              "CHECK_STOCK_ORDER",
              "PHOTOGRAPHY_EXCEL",
              "PREPARE_FINDIR_DATA_TASK",
              "CARD_SPLITTING_TASK",
              "EXPORT_IMAGE_UPDATES_TEMPLATE_TASK",
              "IMPORT_IMAGE_UPDATES_TASK",
              "PREPARE_PRODUCT_HAND_ON_PULSE_TASK",
              "UPDATE_OZON_AVERAGE_DELIVERY_TIME",
              "UPDATE_COMMISSIONS_TASK",
              "WOOCOMMERCE_CARD_IMPORT",
              "UPDATE_FBS_STOCKS_HISTORY",
              "RETURNS_FILE_TASK",
              "FAST_PRODUCTS_IMPORT_TASK",
              "ANALYZE_PRODUCT_CARDS_TASK",
              "DETMIR_CARD_IMPORT",
              "MATCH_OZON_REALIZATION_REPORT_TASK",
              "MAGNIT_IMPORT_PRODUCTS_TASK",
              "UPDATE_PURCHASE_PRICE_FROM_STOCKS_IN_PROFIT_REPORT_TASK",
              "MOY_SKLAD_FBO_MP_DATES_FIX",
              "PRICE_HISTORY_FILE_TASK",
              "FBM_ORDERS_IMPORT_TASK",
              "UZUM_IMPORT_PRODUCTS_TASK",
              "OPENCART_CARD_IMPORT",
              "CARDS_IMPORT"
            ],
            "readOnly": true
          },
          "name": {
            "type": "string",
            "description": "Данные задачи в json - могут быть пустыми"
          },
          "clientId": {
            "type": "integer",
            "format": "int64"
          },
          "entityId": {
            "type": "integer",
            "format": "int64",
            "description": "Сущность, к которой относится задача"
          },
          "progress": {
            "type": "integer",
            "format": "int32",
            "description": "Прогресс выполнения задачи в процентах"
          },
          "processedQuantity": {
            "type": "integer",
            "format": "int32",
            "description": "Количество обработанных записей задачи"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64",
            "description": "Организация задачи, может быть 0, если не зависит от организации"
          },
          "priority": {
            "type": "integer",
            "format": "int32",
            "description": "Приоритет задачи - чем выше тем быстрее задача запустится"
          },
          "properties": {
            "type": "string",
            "description": "Параметры задачи"
          },
          "message": {
            "type": "string",
            "description": "Сообщение с результатом выполнения задачи"
          },
          "messageParams": {
            "type": "string",
            "description": "Параметры сообщения с результатом выполнения задачи"
          },
          "createdDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата добавления задачи в очередь"
          },
          "startDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата запуска задачи"
          },
          "finishDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата завершения задачи"
          },
          "url": {
            "type": "string",
            "description": "Ссылка на скачивание файла с результатом задачи"
          },
          "inputFileUrl": {
            "type": "string",
            "description": "Ссылка на загруженный файл"
          },
          "retryNumber": {
            "type": "integer",
            "format": "int32",
            "description": "Счётчик перезапуска задачи."
          },
          "userId": {
            "type": "integer",
            "format": "int32",
            "description": "Пользователь запустивший задачу"
          },
          "retryDate": {
            "type": "string",
            "format": "date-time",
            "description": "Запланированная дата перезапуска"
          },
          "debug": {
            "type": "boolean",
            "description": "Запуск задачи в режиме отладки с большим логированием"
          },
          "forcedStart": {
            "type": "boolean",
            "description": "Ручной запуск задачи"
          },
          "service": {
            "type": "string",
            "description": "Сервис в рамках которого выполняется задача",
            "enum": [
              "NONE",
              "WILDBERRIES",
              "OZON",
              "YANDEX_MARKET",
              "FAMILIYA",
              "NATIONAL_CATALOG",
              "ALIEXPRESS",
              "OTHER",
              "MOY_SKLAD",
              "SBER_MEGA_MARKET",
              "CISLINK",
              "ONE_C",
              "AVITO",
              "LEROY_MERLIN",
              "DETMIR",
              "KAZAN_EXPRESS",
              "EVOTOR",
              "WEBASYST",
              "AMAZON",
              "EBAY",
              "SIMALAND",
              "INSALES",
              "LAMODA",
              "OZON_PERFORMANCE",
              "WALMART",
              "GOOGLE",
              "YANDEX_DISC",
              "EMAIL",
              "WOOCOMMERCE",
              "MAGNIT",
              "OPENCART",
              "M_VIDEO",
              "TAKEALOT",
              "UZUM",
              "SHOPIFY"
            ]
          },
          "lang": {
            "type": "string",
            "description": "Язык на котором сейчас запущена таска"
          }
        }
      },
      "TransactionFilter": {
        "type": "object",
        "description": "Фильтр транзакций для страницы",
        "properties": {
          "limit": {
            "type": "integer",
            "format": "int32",
            "description": "Ограничение на количество записей. Максимальное значение - 500"
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "description": "Номер страницы начиная с 1"
          },
          "count": {
            "type": "boolean",
            "description": "Возвратить в ответе общее количество записей"
          },
          "sortBy": {
            "type": "string",
            "description": "Поле сортировки записей. Работает только при получении списка."
          },
          "ascending": {
            "type": "boolean",
            "description": "Порядок сортировки - по возрастанию?. Работает только при получении списка."
          },
          "query": {
            "type": "string",
            "description": "Поисковый запрос для платежей"
          },
          "dateFrom": {
            "type": "string",
            "format": "date-time",
            "description": "Фильтр по дате операции - от"
          },
          "dateTo": {
            "type": "string",
            "format": "date-time",
            "description": "Фильтр по дате операции - до"
          },
          "organizationId": {
            "type": "integer",
            "format": "int64",
            "deprecated": true,
            "description": "Идентификатор организации. (Теперь используем organizationIds)"
          },
          "organizationIds": {
            "type": "array",
            "description": "Идентификаторы организаций",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "services": {
            "type": "array",
            "description": "Идентификатор сервисов",
            "items": {
              "type": "string",
              "description": "Сервис",
              "enum": [
                "NONE",
                "WILDBERRIES",
                "OZON",
                "YANDEX_MARKET",
                "FAMILIYA",
                "NATIONAL_CATALOG",
                "ALIEXPRESS",
                "OTHER",
                "MOY_SKLAD",
                "SBER_MEGA_MARKET",
                "CISLINK",
                "ONE_C",
                "AVITO",
                "LEROY_MERLIN",
                "DETMIR",
                "KAZAN_EXPRESS",
                "EVOTOR",
                "WEBASYST",
                "AMAZON",
                "EBAY",
                "SIMALAND",
                "INSALES",
                "LAMODA",
                "OZON_PERFORMANCE",
                "WALMART",
                "GOOGLE",
                "YANDEX_DISC",
                "EMAIL",
                "WOOCOMMERCE",
                "MAGNIT",
                "OPENCART",
                "M_VIDEO",
                "TAKEALOT",
                "UZUM",
                "SHOPIFY"
              ]
            }
          },
          "direction": {
            "type": "string",
            "description": "Идентификатор расход/доход",
            "enum": [
              "DEBIT",
              "CREDIT"
            ]
          },
          "incomeId": {
            "type": "integer",
            "format": "int64",
            "description": "Идентификатор транзакции"
          },
          "contractorId": {
            "type": "integer",
            "format": "int64",
            "description": "Идентификатор контрагента"
          },
          "timeZone": {
            "type": "integer",
            "format": "int32",
            "description": "Часовой пояс клиента по UTC"
          },
          "showIncomes": {
            "type": "boolean",
            "description": "Включать взаиморасчеты с поставщиками"
          },
          "accountId": {
            "type": "integer",
            "format": "int64"
          }
        }
      },
      "PeriodTransactionResponse": {
        "type": "object",
        "description": "Данные о транзакциях за определенный период",
        "properties": {
          "startDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата начала периода (в формате ISO 8601)",
            "example": "2025-05-05T00:00:00Z"
          },
          "endDate": {
            "type": "string",
            "format": "date-time",
            "description": "Дата окончания периода (в формате ISO 8601)",
            "example": "2025-05-11T23:59:59Z"
          },
          "transactions": {
            "type": "array",
            "description": "Список транзакций за период",
            "items": {
              "$ref": "#/components/schemas/TransactionStructure"
            }
          },
          "totalCost": {
            "type": "number",
            "format": "double",
            "description": "Суммарная стоимость всех транзакций за период",
            "example": 1800
          },
          "percentDiff": {
            "type": "number",
            "format": "double",
            "description": "Процентное изменение общей суммы (используется только для разницы)",
            "example": 16.13
          }
        },
        "required": [
          "endDate",
          "startDate",
          "transactions"
        ]
      },
      "TransactionStructure": {
        "type": "object",
        "description": "Структура транзакции с агрегированными данными",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32"
          },
          "name": {
            "type": "string"
          },
          "cost": {
            "type": "number",
            "format": "double"
          },
          "totalSales": {
            "type": "number",
            "format": "double"
          },
          "percent": {
            "type": "number",
            "format": "double"
          },
          "absPercent": {
            "type": "number",
            "format": "double"
          },
          "costWithoutSpp": {
            "type": "number",
            "format": "double"
          },
          "totalSalesWithoutSpp": {
            "type": "number",
            "format": "double"
          },
          "percentWithoutSpp": {
            "type": "number",
            "format": "double"
          },
          "direction": {
            "type": "string",
            "description": "Направление транзакции (доход или расход)",
            "enum": [
              "DEBIT",
              "CREDIT"
            ],
            "example": "DEBIT"
          }
        },
        "required": [
          "direction"
        ]
      },
      "TransactionStructureResponse": {
        "type": "object",
        "description": "Ответ с данными о структуре транзакций за текущий и (опционально) предыдущий периоды",
        "properties": {
          "currentPeriod": {
            "$ref": "#/components/schemas/PeriodTransactionResponse",
            "description": "Данные за текущий период"
          },
          "previousPeriod": {
            "type": "null",
            "$ref": "#/components/schemas/PeriodTransactionResponse",
            "description": "Данные за предыдущий период. Может быть null, если предыдущий период не запрошен"
          },
          "difference": {
            "type": "null",
            "$ref": "#/components/schemas/PeriodTransactionResponse",
            "description": "Разница между текущим и предыдущим периодами. Может быть null, если предыдущий период не запрошен"
          }
        },
        "required": [
          "currentPeriod"
        ]
      },
      "FindResponseTransaction": {
        "type": "object",
        "properties": {
          "rows": {
            "type": "array",
            "description": "Строки с результатом поиска",
            "items": {
              "$ref": "#/components/schemas/Transaction"
            }
          },
          "total": {
            "type": "integer",
            "format": "int32",
            "description": "Общее количество найденных записей. Возвращается только, когда count = true"
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "description": "Номер запрошенной страницы"
          },
          "hasNextPage": {
            "type": "boolean",
            "description": "Есть ли следующая страница"
          },
          "emptyPurchase": {
            "type": "integer",
            "format": "int64",
            "description": "Показатель пустой закупочной цены"
          }
        }
      },
      "TransactionSchedulerFilter": {
        "type": "object",
        "description": "Фильтр транзакций для страницы со списком брендов",
        "properties": {
          "limit": {
            "type": "integer",
            "format": "int32",
            "description": "Ограничение на количество записей. Максимальное значение - 500"
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "description": "Номер страницы начиная с 1"
          },
          "count": {
            "type": "boolean",
            "description": "Возвратить в ответе общее количество записей"
          },
          "sortBy": {
            "type": "string",
            "description": "Поле сортировки записей. Работает только при получении списка."
          },
          "ascending": {
            "type": "boolean",
            "description": "Порядок сортировки - по возрастанию?. Работает только при получении списка."
          },
          "query": {
            "type": "string"
          }
        }
      },
      "FindResponseTransactionSchedule": {
        "type": "object",
        "properties": {
          "rows": {
            "type": "array",
            "description": "Строки с результатом поиска",
            "items": {
              "$ref": "#/components/schemas/TransactionSchedule"
            }
          },
          "total": {
            "type": "integer",
            "format": "int32",
            "description": "Общее количество найденных записей. Возвращается только, когда count = true"
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "description": "Номер запрошенной страницы"
          },
          "hasNextPage": {
            "type": "boolean",
            "description": "Есть ли следующая страница"
          },
          "emptyPurchase": {
            "type": "integer",
            "format": "int64",
            "description": "Показатель пустой закупочной цены"
          }
        }
      },
      "AnalyticsRequest": {
        "type": "object",
        "properties": {
          "period": {
            "type": "string",
            "description": "Период агрегации",
            "enum": [
              "DAY",
              "WEEK",
              "MONTH",
              "QUARTER",
              "YEAR",
              "MONTH_3",
              "MONTH_6",
              "END_OF_TARIFF",
              "MONTH_7",
              "MONTH_14",
              "YEAR_2"
            ]
          },
          "dateFrom": {
            "type": "string",
            "format": "date-time",
            "description": "Дата начала отчета"
          },
          "dateTo": {
            "type": "string",
            "format": "date-time",
            "description": "Дата окончания отчета"
          },
          "services": {
            "type": "array",
            "description": "Список маркетплейсов для которых отдать данные",
            "items": {
              "type": "string",
              "description": "Сервис",
              "enum": [
                "NONE",
                "WILDBERRIES",
                "OZON",
                "YANDEX_MARKET",
                "FAMILIYA",
                "NATIONAL_CATALOG",
                "ALIEXPRESS",
                "OTHER",
                "MOY_SKLAD",
                "SBER_MEGA_MARKET",
                "CISLINK",
                "ONE_C",
                "AVITO",
                "LEROY_MERLIN",
                "DETMIR",
                "KAZAN_EXPRESS",
                "EVOTOR",
                "WEBASYST",
                "AMAZON",
                "EBAY",
                "SIMALAND",
                "INSALES",
                "LAMODA",
                "OZON_PERFORMANCE",
                "WALMART",
                "GOOGLE",
                "YANDEX_DISC",
                "EMAIL",
                "WOOCOMMERCE",
                "MAGNIT",
                "OPENCART",
                "M_VIDEO",
                "TAKEALOT",
                "UZUM",
                "SHOPIFY"
              ]
            }
          },
          "categories": {
            "type": "array",
            "description": "Фильтр категорий для которых отдать данные",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "brands": {
            "type": "array",
            "description": "Фильтр брендов для которых отдать данные",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "clientOrganizationId": {
            "type": "integer",
            "format": "int64",
            "description": "Идентификатор организации, для которой отдать данные"
          },
          "organizations": {
            "type": "array",
            "description": "Идентификаторы организаций клиента",
            "items": {
              "type": "integer",
              "format": "int64"
            },
            "uniqueItems": true
          },
          "ids": {
            "type": "array",
            "description": "Список идентификаторов",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "type": {
            "type": "string",
            "description": "Тип заказа",
            "enum": [
              "FBM",
              "FBS",
              "INCOME",
              "RETAIL",
              "WHOLESALE",
              "FBO",
              "MOVEMENT",
              "WRITE_OFF",
              "PRODUCTION"
            ]
          },
          "types": {
            "type": "array",
            "description": "Типы заказа",
            "items": {
              "type": "string",
              "enum": [
                "FBM",
                "FBS",
                "INCOME",
                "RETAIL",
                "WHOLESALE",
                "FBO",
                "MOVEMENT",
                "WRITE_OFF",
                "PRODUCTION"
              ]
            },
            "uniqueItems": true
          },
          "status": {
            "type": "string",
            "description": "Фильтр по статусу заказа",
            "enum": [
              "CREATED",
              "REVOKING",
              "REVOKED",
              "ORDER_CREATED",
              "CARDS_CREATED",
              "BOX_BARCODES",
              "IMAGES_UPLOADED",
              "INVOICE_UPLOADED",
              "READY_TO_SUPPLY",
              "SUPPLIED",
              "FINISHED",
              "COLLECTED",
              "SEND",
              "DELIVERY",
              "REFUND",
              "COLLECTING",
              "PACKING",
              "PAYMENT_REQUIRED",
              "CANCELED",
              "CONTROVERSIAL",
              "OVERDUE",
              "READY_FOR_PICKUP",
              "WAITING_SUPPLY",
              "PICK_UP_REFUND",
              "REFUND_RECEIVED",
              "DELETED",
              "RESTORE",
              "PRODUCTION_CONFIRMED"
            ]
          },
          "timeZone": {
            "type": "integer",
            "format": "int32",
            "description": "Часовой пояс клиента по UTC"
          },
          "previousDateFrom": {
            "type": "string",
            "format": "date-time",
            "description": "Дата начала периода для сравнения"
          },
          "clientOrganizationIds": {
            "type": "array",
            "description": "Идентификаторы организаций, для которых отдать данные",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "ignoreCredit": {
            "type": "boolean",
            "description": "Не учитывать кредит в прочих удержаниях"
          },
          "productAnalyticField": {
            "type": "string",
            "description": "Агрегировать данные по сущности",
            "enum": [
              "BARCODE",
              "COLOR",
              "ARTICLE",
              "BRAND",
              "CATEGORY"
            ]
          },
          "query": {
            "type": "string",
            "description": "Поисковый запрос для фильтрации аналитики"
          },
          "withDuplicate": {
            "type": "boolean",
            "description": "Отдавать аналитику по дубликатам товаров"
          },
          "withOzonBonus": {
            "type": "boolean",
            "description": "Учитывать баллы Ozon и YM в выручке и налогах по старой логике"
          },
          "limit": {
            "type": "integer",
            "format": "int32",
            "description": "Количество записей в ответе"
          },
          "page": {
            "type": "integer",
            "format": "int32",
            "description": "Страница для навигации по страницам, начиная с 1"
          },
          "sortBy": {
            "type": "string",
            "description": "Поле сортировки"
          },
          "ascending": {
            "type": "boolean",
            "description": "Сортировать по возрастанию по полю sortBy"
          },
          "id": {
            "type": "integer",
            "format": "int64"
          },
          "isMarketPlaceStructure": {
            "type": "boolean",
            "description": "Идентификатор, получать данные только по маркетплейсу или по всем."
          },
          "isDashboard": {
            "type": "boolean",
            "description": "Идентификатор, запрос с дашборда или нет."
          },
          "analyticsField": {
            "type": "string",
            "description": "Агрегировать данные по model/product/view",
            "enum": [
              "PRODUCT",
              "MODEL",
              "GROUP",
              "ORGANIZATION",
              "CLIENT",
              "CATEGORY",
              "PRODUCT_VIEW",
              "BRAND",
              "REGION",
              "WAREHOUSE"
            ]
          },
          "planDayCount": {
            "type": "integer",
            "format": "int32",
            "description": "Кол-во дней для отчетов"
          },
          "daysToSupply": {
            "type": "integer",
            "format": "int32",
            "description": "Через сколько дней ожидается поставка"
          },
          "plannedSupplyDate": {
            "type": "string",
            "format": "date-time",
            "description": "Планируемая дата поставки"
          },
          "groupByView": {
            "type": "boolean",
            "description": "Сгруппировать по цвету"
          },
          "warehouses": {
            "type": "array",
            "description": "Список идентификаторов складов",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "regions": {
            "type": "array",
            "description": "Список регионов",
            "items": {
              "type": "string"
            }
          },
          "group": {
            "type": "boolean",
            "description": "Сгруппировать данные"
          },
          "calculationByOrders": {
            "type": "boolean",
            "description": "Делать расчет по заказанному количеству"
          },
          "sourceReport": {
            "type": "string",
            "description": "Операция по которой выводить данные",
            "enum": [
              "DEFAULT",
              "ORDER",
              "SALES",
              "PROFIT",
              "OZON",
              "YANDEX_MARKET",
              "WB_REALIZATION_FILE",
              "WB_DETAILED_REPORT_FILE",
              "OZON_REALIZATION_FILE",
              "OZON_REALIZATION_FILE_NEW",
              "OZON_COMPENSATIONS_FILE",
              "OZON_SERVICES_FILE",
              "OZON_CASH_FLOW_STATEMENT",
              "WB_CAMPAIGN",
              "SBER_MEGA_MARKET_FILES",
              "YANDEX_MARKET_FILE_DETAILS",
              "WB_RETURNS_REPORT",
              "OWN_DELIVERY",
              "OZON_CAMPAIGN_SKU_REPORT",
              "WB_PAID_STORAGE",
              "YANDEX_MARKET_NETTING"
            ]
          },
          "skipDayWithoutStocks": {
            "type": "boolean",
            "description": "Пропускать дни без остатков"
          },
          "replaceSetsByComponents": {
            "type": "boolean",
            "description": "Раскрывать комплекты по компонентам"
          },
          "distributeFbsByWarehouse": {
            "type": "boolean",
            "description": "Распределять FBS по складам пропорционально FBO"
          },
          "isSaleStructure": {
            "type": "boolean",
            "description": "Идентификатор, что нужно получить структуру по продажам"
          },
          "isAveragePerOneUnit": {
            "type": "boolean",
            "description": "Идентификатор, получить среднее за 1 единицу"
          },
          "updateDate": {
            "type": "boolean",
            "description": "Обновлять даты"
          },
          "useWeightedGroup": {
            "type": "boolean",
            "description": "Использовать группы по весу"
          },
          "isFindirRequest": {
            "type": "boolean",
            "description": "Является ли запрос - запросом для Задачника"
          },
          "brandIds": {
            "type": "array",
            "description": "Фильтр по идентификаторам брендов (список)",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "categoryIds": {
            "type": "array",
            "description": "Фильтр по идентификаторам категорий (список)",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "articles": {
            "type": "array",
            "description": "Фильтр по артикулу (список)",
            "items": {
              "type": "string"
            }
          },
          "colors": {
            "type": "array",
            "description": "Фильтр по цвету (список)",
            "items": {
              "type": "string"
            }
          },
          "sizes": {
            "type": "array",
            "description": "Фильтр по размеру (список)",
            "items": {
              "type": "string"
            }
          },
          "barcodes": {
            "type": "array",
            "description": "Фильтр по штрих-коду (список)",
            "items": {
              "type": "string"
            }
          },
          "penaltyFrom": {
            "type": "number",
            "format": "double",
            "description": "Фильтр по штрафам (от)"
          },
          "penaltyTo": {
            "type": "number",
            "format": "double",
            "description": "Фильтр по штрафам (до)"
          },
          "logisticsFrom": {
            "type": "number",
            "format": "double",
            "description": "Фильтр по логистике (от)"
          },
          "logisticsTo": {
            "type": "number",
            "format": "double",
            "description": "Фильтр по логистике (до)"
          },
          "marginFrom": {
            "type": "number",
            "format": "double",
            "description": "Фильтр по маржинальности (от)"
          },
          "marginTo": {
            "type": "number",
            "format": "double",
            "description": "Фильтр по маржинальности (до)"
          },
          "salesAmountFrom": {
            "type": "number",
            "format": "double",
            "description": "Фильтр по сумме продаж (от)"
          },
          "salesAmountTo": {
            "type": "number",
            "format": "double",
            "description": "Фильтр по сумме продаж (до)"
          },
          "totalSalesAmountFrom": {
            "type": "number",
            "format": "double",
            "description": "Фильтр по выручке (от)"
          },
          "totalSalesAmountTo": {
            "type": "number",
            "format": "double",
            "description": "Фильтр по выручке (до)"
          },
          "grossProfitFrom": {
            "type": "number",
            "format": "double",
            "description": "Фильтр по валовой прибыли (от)"
          },
          "grossProfitTo": {
            "type": "number",
            "format": "double",
            "description": "Фильтр по валовой прибыли (до)"
          },
          "taxNds": {
            "type": "integer",
            "format": "int32",
            "description": "Налог ндс"
          },
          "useOsno": {
            "type": "boolean",
            "description": "Тип налогообложения осно"
          },
          "unmatch": {
            "type": "boolean"
          }
        }
      }
    },
    "securitySchemes": {
      "ApiKey": {
        "type": "apiKey",
        "name": "Authorization",
        "in": "header"
      }
    }
  }
}