Справочники и файлы
Общие вспомогательные методы для авторизованных пользователей: списки для выпадающих полей, быстрое создание записей справочников, загрузка изображений и чтение файлов.
| Метод | Адрес | Назначение |
|---|---|---|
| GET | /common/public/records/{type} | Список записей справочника |
| POST | /common/public/create-record/{type} | Быстро создать запись |
| POST | /common/public/upload-image | Загрузить изображения |
| GET | /common/public/file/content | Получить содержимое файла |
Список записей справочника
/common/public/records/{type}Короткий список (id + value) для выпадающих полей по типу {type}: stock, supplier, cashbox, product, service, bundle, product_unit, product_category_list, region, region_district, company, partner и др.; набор типов и фильтров зависит от типа пользователя. Поддерживает filter[id], filter[value] (поиск по подстроке) и show[]=with-deleted/only-deleted. Недоступный тип — 400 Unavailable type.
Заголовки
| Заголовок | Значение | Описание |
|---|---|---|
Authorization | Bearer {token} | Токен из POST /common/auth/login |
Accept | application/json | Ответ в JSON |
Accept-Language | ru | Язык сообщений и названий: ru, uz, oz |
Параметры пути
| Параметр | Описание |
|---|---|
type | Тип (см. описание метода) |
Параметры запроса
| Параметр | Описание |
|---|---|
show[] | Дополнительные вычисляемые данные (см. описание метода) |
GET /common/public/records/company?show[0]=with-deletedОтвет · 200
Постраничный ответ: записи в data[], пагинация в links и meta.
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
data | object[] | Данные |
data[].id | integer | ID |
data[].value | string | Значение |
data[].is_deleted | boolean |
{
"data": [
{
"id": 2,
"value": "Company 1-1",
"is_deleted": false
}
],
"links": {
"first": "https://api.wasyt.uz/common/public/records/company?page=1",
"last": "https://api.wasyt.uz/common/public/records/company?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [],
"path": "https://api.wasyt.uz/common/public/records/company",
"per_page": 20,
"to": 1,
"total": 1
}
}Быстро создать запись
/common/public/create-record/{type}Создаёт запись справочника прямо из формы (ввод с созданием) для директора или сотрудника компании. {type}: product_brand, product_category, product_option, product_specification. Название должно быть уникальным; строковое name категории копируется на все языки. Возвращает созданную запись. Не более 3 запросов в минуту.
Заголовки
| Заголовок | Значение | Описание |
|---|---|---|
Authorization | Bearer {token} | Токен из POST /common/auth/login |
Accept | application/json | Ответ в JSON |
Accept-Language | ru | Язык сообщений и названий: ru, uz, oz |
Параметры пути
| Параметр | Описание |
|---|---|
type | Тип (см. описание метода) |
Тело запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
name | string, object | Да | Название. Для product_brand и product_option — строка; для product_category — строка или объект по языкам; для product_specification — объект по языкам (name.ru, name.uz, name.oz) |
specification_id | integer | Нет | ID характеристики; обязателен для product_option |
{
"name": "Инлайн категория"
}curl -X POST "https://api.wasyt.uz/common/public/create-record/product_category" \
-H "Accept: application/json" \
-H "Accept-Language: ru" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"name":"Инлайн категория"}'Ответ · 200
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
name | object | Название |
name.ru | string | |
name.uz | string | |
name.oz | string | |
updated_at | string | Обновлено |
created_at | string | Создано |
company_id | integer | Компания |
parent_id | integer | Родитель |
lft | integer | |
rgt | integer | |
id | integer | ID |
is_deleted | boolean |
{
"name": {
"ru": "Инлайн категория",
"uz": "Инлайн категория",
"oz": "Инлайн категория"
},
"updated_at": "2026-09-30 12:50:33",
"created_at": "2026-09-30 12:50:33",
"company_id": 1,
"parent_id": 1,
"lft": 16,
"rgt": 17,
"id": 17,
"is_deleted": false
}Загрузить изображения
/common/public/upload-imageЗагружает от 1 до 10 изображений в хранилище (MinIO) в папку folder (по умолчанию uploads), при size вида 800x600 — с изменением размера. Возвращает files — полные публичные URL в том же порядке.
Заголовки
| Заголовок | Значение | Описание |
|---|---|---|
Authorization | Bearer {token} | Токен из POST /common/auth/login |
Accept | application/json | Ответ в JSON |
Accept-Language | ru | Язык сообщений и названий: ru, uz, oz |
Тело запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
images | array | Да | Изображения. Мин. 1 элементов. Макс. 10 элементов |
images[] | file | Нет | Изображения. Форматы: jpg, png. Макс. 2048 КБ. Размеры изображения: max_width=3840, max_height=2160 |
folder | string | Нет | Папка. Макс. 50 символов. Шаблон /^[A-Za-z0-9_\-]+$/ |
size | string | Нет | Размер. Шаблон /^\d{1,5}x\d{1,5}$/ |
{
"folder": "avatars",
"size": "800x600"
}curl -X POST "https://api.wasyt.uz/common/public/upload-image" \
-H "Accept: application/json" \
-H "Accept-Language: ru" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"folder":"avatars","size":"800x600"}'Ответ · 200
Поля ответа
| Поле | Тип | Описание |
|---|---|---|
files | array |
{
"files": [
"https://api-minio.icangroup.uz/wasyt/images/avatars/2026/09/30/6abcbf5f7c794_e5264d7a-d642-4809-88cc-b80538088cb7.png"
]
}Пример ошибки · 422
{
"message": "Поле Изображения обязательно для заполнения.",
"errors": {
"images": [
"Поле Изображения обязательно для заполнения."
]
}
}Получить содержимое файла
/common/public/file/contentОтдаёт файл из публичной директории приложения по пути или полному URL path. Ошибка 400, если путь выходит за пределы публичной директории, файл не найден или больше 100 МБ.
Заголовки
| Заголовок | Значение | Описание |
|---|---|---|
Authorization | Bearer {token} | Токен из POST /common/auth/login |
Accept | application/json | Ответ в JSON |
Accept-Language | ru | Язык сообщений и названий: ru, uz, oz |
Параметры запроса
| Поле | Тип | Обязательно | Описание |
|---|---|---|---|
path | string | Да | Путь к файлу внутри публичной директории или его полный URL (до 255 символов) |
Ответ · 200
Ответ — файл или текст, не JSON.

