Skip to content

Справочники и файлы ​

Общие вспомогательные методы для авторизованных пользователей: списки для выпадающих полей, быстрое создание записей справочников, загрузка изображений и чтение файлов.

МетодАдресНазначение
GET/common/public/records/{type}Список записей справочника
POST/common/public/create-record/{type}Быстро создать запись
POST/common/public/upload-imageЗагрузить изображения
GET/common/public/file/contentПолучить содержимое файла

Список записей справочника ​

GET/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.

Заголовки ​

ЗаголовокЗначениеОписание
AuthorizationBearer {token}Токен из POST /common/auth/login
Acceptapplication/jsonОтвет в JSON
Accept-LanguageruЯзык сообщений и названий: ru, uz, oz

Параметры пути ​

ПараметрОписание
typeТип (см. описание метода)

Параметры запроса ​

ПараметрОписание
show[]Дополнительные вычисляемые данные (см. описание метода)
http
GET /common/public/records/company?show[0]=with-deleted

Ответ · 200 ​

Постраничный ответ: записи в data[], пагинация в links и meta.

Поля ответа
ПолеТипОписание
dataobject[]Данные
data[].idintegerID
data[].valuestringЗначение
data[].is_deletedboolean
json
{
    "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
    }
}

Быстро создать запись ​

POST/common/public/create-record/{type}

Создаёт запись справочника прямо из формы (ввод с созданием) для директора или сотрудника компании. {type}: product_brand, product_category, product_option, product_specification. Название должно быть уникальным; строковое name категории копируется на все языки. Возвращает созданную запись. Не более 3 запросов в минуту.

Заголовки ​

ЗаголовокЗначениеОписание
AuthorizationBearer {token}Токен из POST /common/auth/login
Acceptapplication/jsonОтвет в JSON
Accept-LanguageruЯзык сообщений и названий: ru, uz, oz

Параметры пути ​

ПараметрОписание
typeТип (см. описание метода)

Тело запроса ​

ПолеТипОбязательноОписание
namestring, objectДаНазвание. Для product_brand и product_option — строка; для product_category — строка или объект по языкам; для product_specification — объект по языкам (name.ru, name.uz, name.oz)
specification_idintegerНетID характеристики; обязателен для product_option
json
{
    "name": "Инлайн категория"
}
bash
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 ​

Поля ответа
ПолеТипОписание
nameobjectНазвание
name.rustring
name.uzstring
name.ozstring
updated_atstringОбновлено
created_atstringСоздано
company_idintegerКомпания
parent_idintegerРодитель
lftinteger
rgtinteger
idintegerID
is_deletedboolean
json
{
    "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
}

Загрузить изображения ​

POST/common/public/upload-image

Загружает от 1 до 10 изображений в хранилище (MinIO) в папку folder (по умолчанию uploads), при size вида 800x600 — с изменением размера. Возвращает files — полные публичные URL в том же порядке.

Заголовки ​

ЗаголовокЗначениеОписание
AuthorizationBearer {token}Токен из POST /common/auth/login
Acceptapplication/jsonОтвет в JSON
Accept-LanguageruЯзык сообщений и названий: ru, uz, oz

Тело запроса ​

ПолеТипОбязательноОписание
imagesarrayДаИзображения. Мин. 1 элементов. Макс. 10 элементов
images[]fileНетИзображения. Форматы: jpg, png. Макс. 2048 КБ. Размеры изображения: max_width=3840, max_height=2160
folderstringНетПапка. Макс. 50 символов. Шаблон /^[A-Za-z0-9_\-]+$/
sizestringНетРазмер. Шаблон /^\d{1,5}x\d{1,5}$/
json
{
    "folder": "avatars",
    "size": "800x600"
}
bash
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 ​

Поля ответа
ПолеТипОписание
filesarray
json
{
    "files": [
        "https://api-minio.icangroup.uz/wasyt/images/avatars/2026/09/30/6abcbf5f7c794_e5264d7a-d642-4809-88cc-b80538088cb7.png"
    ]
}

Пример ошибки · 422 ​

json
{
    "message": "Поле Изображения обязательно для заполнения.",
    "errors": {
        "images": [
            "Поле Изображения обязательно для заполнения."
        ]
    }
}

Получить содержимое файла ​

GET/common/public/file/content

Отдаёт файл из публичной директории приложения по пути или полному URL path. Ошибка 400, если путь выходит за пределы публичной директории, файл не найден или больше 100 МБ.

Заголовки ​

ЗаголовокЗначениеОписание
AuthorizationBearer {token}Токен из POST /common/auth/login
Acceptapplication/jsonОтвет в JSON
Accept-LanguageruЯзык сообщений и названий: ru, uz, oz

Параметры запроса ​

ПолеТипОбязательноОписание
pathstringДаПуть к файлу внутри публичной директории или его полный URL (до 255 символов)

Ответ · 200 ​

Ответ — файл или текст, не JSON.