Skip to content

Услуги ​

Услуги компании, которые продаются вместе с товарами: цена, единица измерения услуги и категория. Услуги не имеют складских остатков.

МетодАдресНазначение
GET/company/product/serviceСписок услуг
GET/company/product/service/{model}Просмотр услуги
POST/company/product/serviceСоздать услугу
PUT/company/product/service/{model}Изменить услугу
DELETE/company/product/service/{model}Удалить услугу
DELETE/company/product/service/{value}/restoreВосстановить услугу

Список услуг ​

GET/company/product/service

Услуги компании и филиалов с категорией и единицей измерения. Фильтры: common (название), category_id, company_id, creator_id, created_at.

Заголовки ​

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

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

ПараметрОписание
filter[id]ID — точное значение
filter[company_id]Компания — одно значение или список filter[company_id][]
filter[creator_id]Создатель — точное значение
filter[category_id]Категория — точное значение
filter[created_at]Создано — период: [0] — с, [1] — по (Y-m-d)
filter[common]Общий — точное значение (с учётом вложенных)
sort[]Сортировка, - — по убыванию: id, -id
with[]Подгрузить связи: creator.profile, company, category, service_unit
pageНомер страницы, с 1
page-sizeЗаписей на странице, не больше 20

Ответ · 200 ​

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

Поля ответа
ПолеТипОписание
dataobject[]Данные
data[].idintegerID
data[].creator_idintegerСоздатель
data[].company_idintegerКомпания
data[].category_idnullКатегория
data[].service_unit_idintegerЕдиница измерения (услуга)
data[].namestringНазвание
data[].descriptionstringОписание
data[].pricestringЦена
data[].is_free_pricebooleanПродажа по свободной цене
data[].imagenullИзображение
data[].image_thumbsarray
data[].created_atstringСоздано
data[].updated_atstringОбновлено
data[].is_deletedboolean
json
{
    "data": [
        {
            "id": 2,
            "creator_id": 2,
            "company_id": 1,
            "category_id": null,
            "service_unit_id": 2,
            "name": "Service 2",
            "description": "Description 2",
            "price": "120000.00",
            "is_free_price": true,
            "image": null,
            "image_thumbs": [],
            "created_at": "2026-09-30 12:47:59",
            "updated_at": "2026-09-30 12:47:59",
            "is_deleted": false
        },
        {
            "id": 1,
            "creator_id": 2,
            "company_id": 1,
            "category_id": 4,
            "service_unit_id": 1,
            "name": "Service 1",
            "description": "Description 1",
            "price": "50000.00",
            "is_free_price": false,
            "image": null,
            "image_thumbs": [],
            "created_at": "2026-09-30 12:47:59",
            "updated_at": "2026-09-30 12:47:59",
            "is_deleted": false
        }
    ],
    "links": {
        "first": "https://api.wasyt.uz/company/product/service?page=1",
        "last": "https://api.wasyt.uz/company/product/service?page=1",
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "links": [],
        "path": "https://api.wasyt.uz/company/product/service",
        "per_page": 20,
        "to": 2,
        "total": 2
    }
}

Просмотр услуги ​

GET/company/product/service/{model}

Возвращает услугу по ID.

Заголовки ​

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

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

ПараметрОписание
modelID записи

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

ПараметрОписание
with[]Подгрузить связи
http
GET /company/product/service/1?with[0]=category&with[1]=service_unit&with[2]=company&with[3]=creator.profile

Ответ · 200 ​

Поля ответа
ПолеТипОписание
idintegerID
creator_idintegerСоздатель
company_idintegerКомпания
category_idintegerКатегория
service_unit_idintegerЕдиница измерения (услуга)
namestringНазвание
descriptionstringОписание
pricestringЦена
is_free_pricebooleanПродажа по свободной цене
imagenullИзображение
image_thumbsarray
created_atstringСоздано
updated_atstringОбновлено
is_deletedboolean
categoryobjectКатегория
category.idintegerID
category.company_idintegerКомпания
category.lftinteger
category.rgtinteger
category.parent_idintegerРодитель
category.nameobjectНазвание
category.name.ozstring
category.name.rustring
category.name.uzstring
category.created_atstringСоздано
category.updated_atstringОбновлено
category.is_deletedboolean
category.textstringТекст
category.stateobject
category.state.disabledboolean
category.state.hiddenboolean
category.state.openedboolean
service_unitobject
service_unit.idintegerID
service_unit.creator_idnullСоздатель
service_unit.company_idintegerКомпания
service_unit.source_idintegerИсточник
service_unit.nameobjectНазвание
service_unit.name.ozstring
service_unit.name.rustring
service_unit.name.uzstring
service_unit.created_atstringСоздано
service_unit.updated_atstringОбновлено
service_unit.is_deletedboolean
companyobjectКомпания
company.idintegerID
company.parent_idnullРодитель
company.partner_idintegerПартнёр
company.district_idintegerРайон
company.industry_idintegerСфера деятельности
company.namestringНазвание
company.company_namestringКомпания
company.logoobjectЛоготип
company.logo.originalobject
company.logo.original.rawstring
company.logo.original.webpstring
company.logo.widen_25object
company.logo.widen_25.rawstring
company.logo.widen_25.webpstring
company.logo.widen_100object
company.logo.widen_100.rawstring
company.logo.widen_100.webpstring
company.logo.widen_500object
company.logo.widen_500.rawstring
company.logo.widen_500.webpstring
company.innstringИНН
company.mfostringМФО
company.addressstringАдрес
company.latitudenullШирота
company.longitudenullДолгота
company.commentstringКомментарий
company.telegram_phonestringТелефон в Telegram
company.director_full_namestringФИО директора
company.bankstringБанк
company.payment_accountstringРасчётный счёт
company.agreement_numberstringНомер договора
company.agreement_datenull
company.atmos_terminal_idintegerID терминала в Atmos
company.uniaccess_auto_payment_credit_overdue_daysinteger
company.uniaccess_branch_idintegerBranch ID в Uniaccess
company.field_of_activitystringНаправление
company.vat_percentstringНДС (%)
company.is_using_new_my_uzcard_auto_payment_by_pinflbooleanИспользует новый метод MyUzcard для автосписания по ПИНФЛ
company.bonus_entry_periodintegerПериод учёта бонусов (в месяцах)
company.abc_segment_ainteger
company.abc_segment_binteger
company.abc_segment_cinteger
company.is_pos_window_enabledboolean
company.cashbox_shift_settingsobject
company.cashbox_shift_settings.is_enabledbooleanВключено
company.has_bank_payment_typeboolean
company.is_ican_turned_onbooleanICAN включён
company.is_partner_turned_onbooleanПартнёр включён
company.created_atstringСоздано
company.updated_atstringОбновлено
company.is_deletedboolean
creatorobject
creator.idintegerID
creator.typestringТип
creator.role_idintegerРоль
creator.company_idintegerКомпания
creator.partner_idnullПартнёр
creator.usernamestringЛогин
creator.pinflnullПИНФЛ
creator.phonestringТелефон
creator.sipuni_sip_numberstringVoIP - Sipuni (SIP-номер)
creator.is_confirmedboolean
creator.are_all_companies_availableboolean
creator.last_login_atnull
creator.created_atstringСоздано
creator.updated_atstringОбновлено
creator.is_deletedboolean
creator.profileobject
creator.profile.first_namenullИмя
creator.profile.last_namenullФамилия
creator.profile.positionnullДолжность
creator.profile.birth_datenullДата рождения
creator.profile.gendernullПол
creator.profile.full_namestringФИО
json
{
    "id": 1,
    "creator_id": 2,
    "company_id": 1,
    "category_id": 4,
    "service_unit_id": 1,
    "name": "Service 1",
    "description": "Description 1",
    "price": "50000.00",
    "is_free_price": false,
    "image": null,
    "image_thumbs": [],
    "created_at": "2026-09-30 12:47:59",
    "updated_at": "2026-09-30 12:47:59",
    "is_deleted": false,
    "category": {
        "id": 4,
        "company_id": 1,
        "lft": 4,
        "rgt": 5,
        "parent_id": 3,
        "name": {
            "oz": "Category 1-1-1 oz",
            "ru": "Category 1-1-1 ru",
            "uz": "Category 1-1-1 uz"
        },
        "created_at": "2026-09-30 12:47:59",
        "updated_at": "2026-09-30 12:47:59",
        "is_deleted": false,
        "text": "Category 1-1-1 ru",
        "state": {
            "disabled": false,
            "hidden": false,
            "opened": true
        }
    },
    "service_unit": {
        "id": 1,
        "creator_id": null,
        "company_id": 1,
        "source_id": 9,
        "name": {
            "oz": "Соат",
            "ru": "Час",
            "uz": "Soat"
        },
        "created_at": "2026-09-30 12:47:59",
        "updated_at": "2026-09-30 12:47:59",
        "is_deleted": false
    },
    "company": {
        "id": 1,
        "parent_id": null,
        "partner_id": 1,
        "district_id": 1,
        "industry_id": 1,
        "name": "Company 1",
        "company_name": "Company 1",
        "logo": {
            "original": {
                "raw": "https://api.wasyt.uz/test_data/images/1.png",
                "webp": "https://api.wasyt.uz/storage/thumbs/original/6a21a10b2d2ed8f4573f3842b10dc1df1778568717.webp"
            },
            "widen_25": {
                "raw": "https://api.wasyt.uz/storage/thumbs/widen/25/6a21a10b2d2ed8f4573f3842b10dc1df1778568717.png",
                "webp": "https://api.wasyt.uz/storage/thumbs/widen/25/6a21a10b2d2ed8f4573f3842b10dc1df1778568717.webp"
            },
            "widen_100": {
                "raw": "https://api.wasyt.uz/storage/thumbs/widen/100/6a21a10b2d2ed8f4573f3842b10dc1df1778568717.png",
                "webp": "https://api.wasyt.uz/storage/thumbs/widen/100/6a21a10b2d2ed8f4573f3842b10dc1df1778568717.webp"
            },
            "widen_500": {
                "raw": "https://api.wasyt.uz/storage/thumbs/widen/500/6a21a10b2d2ed8f4573f3842b10dc1df1778568717.png",
                "webp": "https://api.wasyt.uz/storage/thumbs/widen/500/6a21a10b2d2ed8f4573f3842b10dc1df1778568717.webp"
            }
        },
        "inn": "000000001",
        "mfo": "00001",
        "address": "Address 1",
        "latitude": null,
        "longitude": null,
        "comment": "Comment 1",
        "telegram_phone": "998000000001",
        "director_full_name": "Director 1",
        "bank": "Bank 1",
        "payment_account": "00000000000000000001",
        "agreement_number": "001/2026",
        "agreement_date": null,
        "atmos_terminal_id": 97007302,
        "uniaccess_auto_payment_credit_overdue_days": 3,
        "uniaccess_branch_id": 1,
        "field_of_activity": "trading",
        "vat_percent": "12.00",
        "is_using_new_my_uzcard_auto_payment_by_pinfl": true,
        "bonus_entry_period": 12,
        "abc_segment_a": 75,
        "abc_segment_b": 15,
        "abc_segment_c": 10,
        "is_pos_window_enabled": true,
        "cashbox_shift_settings": {
            "is_enabled": true
        },
        "has_bank_payment_type": false,
        "is_ican_turned_on": true,
        "is_partner_turned_on": false,
        "created_at": "2026-09-30 12:47:58",
        "updated_at": "2026-09-30 12:49:04",
        "is_deleted": false
    },
    "creator": {
        "id": 2,
        "type": "director",
        "role_id": 2,
        "company_id": 1,
        "partner_id": null,
        "username": "director_1@local.host",
        "pinfl": null,
        "phone": "998020000001",
        "sipuni_sip_number": "210",
        "is_confirmed": true,
        "are_all_companies_available": false,
        "last_login_at": null,
        "created_at": "2026-09-30 12:47:59",
        "updated_at": "2026-09-30 12:47:59",
        "is_deleted": false,
        "profile": {
            "first_name": null,
            "last_name": null,
            "position": null,
            "birth_date": null,
            "gender": null,
            "full_name": " "
        }
    }
}

Создать услугу ​

POST/company/product/service

Создаёт услугу: название и единица измерения услуги компании обязательны; цена, категория, описание и изображение — нет. is_free_price без значения — false.

Заголовки ​

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

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

ПолеТипОбязательноОписание
namestringДаНазвание. Макс. 255 символов
category_idintegerНетКатегория. ID существующей записи, доступной пользователю
service_unit_idintegerДаЕдиница измерения (услуга). ID существующей записи, доступной пользователю
pricenumberНетЦена. Не меньше 0
is_free_pricebooleanНетПродажа по свободной цене
descriptionstringНетОписание. Макс. 10000 символов
imagefileНетИзображение. Форматы: jpg, png. Макс. 2048 КБ. Размеры изображения: max_width=3840, max_height=2160
image_old_keysstring (JSON)ДаИзображение
json
{
    "name": "New Service 1",
    "category_id": 4,
    "service_unit_id": 1,
    "price": 85000,
    "is_free_price": null,
    "description": "Service description",
    "image_old_keys": "[]"
}
bash
curl -X POST "https://api.wasyt.uz/company/product/service" \
  -H "Accept: application/json" \
  -H "Accept-Language: ru" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{"name":"New Service 1","category_id":4,"service_unit_id":1,"price":85000,"is_free_price":null,"description":"Service description","image_old_keys":"[]"}'

Ответ · 200 ​

Поля ответа
ПолеТипОписание
namestringНазвание
category_idintegerКатегория
service_unit_idintegerЕдиница измерения (услуга)
pricestringЦена
is_free_pricebooleanПродажа по свободной цене
descriptionstringОписание
imagestringИзображение
image_thumbsarray
updated_atstringОбновлено
created_atstringСоздано
creator_idintegerСоздатель
company_idintegerКомпания
idintegerID
is_deletedboolean
json
{
    "name": "New Service 1",
    "category_id": 4,
    "service_unit_id": 1,
    "price": "85000.00",
    "is_free_price": false,
    "description": "Service description",
    "image": "https://api-minio.icangroup.uz/wasyt/images/service/2026/09/30/6abcbfcb5d61d_fd1a99e3-5dd5-490b-84f9-30f5487a172b.png",
    "image_thumbs": [],
    "updated_at": "2026-09-30 12:52:43",
    "created_at": "2026-09-30 12:52:43",
    "creator_id": 2,
    "company_id": 1,
    "id": 8,
    "is_deleted": false
}

Изменить услугу ​

PUT/company/product/service/{model}

Меняет данные услуги по тем же правилам, что и при создании; is_free_price без значения сбрасывается в false.

Из формы (multipart/form-data) метод PUT отправляется как POST с параметром ?_method=PUT.

Заголовки ​

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

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

ПараметрОписание
modelID записи

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

ПолеТипОбязательноОписание
namestringДаНазвание. Макс. 255 символов
category_idintegerНетКатегория. ID существующей записи, доступной пользователю
service_unit_idintegerДаЕдиница измерения (услуга). ID существующей записи, доступной пользователю
pricenumberНетЦена. Не меньше 0
is_free_pricebooleanНетПродажа по свободной цене
descriptionstringНетОписание. Макс. 10000 символов
imagefileНетИзображение. Форматы: jpg, png. Макс. 2048 КБ. Размеры изображения: max_width=3840, max_height=2160
image_old_keysstring (JSON)ДаИзображение
json
{
    "name": "Updated Service 1",
    "service_unit_id": 1,
    "price": 95000,
    "is_free_price": null,
    "description": "Updated description"
}
bash
curl -X PUT "https://api.wasyt.uz/company/product/service/1" \
  -H "Accept: application/json" \
  -H "Accept-Language: ru" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{"name":"Updated Service 1","service_unit_id":1,"price":95000,"is_free_price":null,"description":"Updated description"}'

Ответ · 200 ​

Поля ответа
ПолеТипОписание
idintegerID
creator_idintegerСоздатель
company_idintegerКомпания
category_idintegerКатегория
service_unit_idintegerЕдиница измерения (услуга)
namestringНазвание
descriptionstringОписание
pricestringЦена
is_free_pricebooleanПродажа по свободной цене
imagenullИзображение
image_thumbsarray
created_atstringСоздано
updated_atstringОбновлено
is_deletedboolean
json
{
    "id": 1,
    "creator_id": 2,
    "company_id": 1,
    "category_id": 4,
    "service_unit_id": 1,
    "name": "Updated Service 1",
    "description": "Updated description",
    "price": "95000.00",
    "is_free_price": false,
    "image": null,
    "image_thumbs": [],
    "created_at": "2026-09-30 12:47:59",
    "updated_at": "2026-09-30 12:52:45",
    "is_deleted": false
}

Удалить услугу ​

DELETE/company/product/service/{model}

Мягко удаляет услугу; её можно восстановить.

Из формы (multipart/form-data) метод DELETE отправляется как POST с параметром ?_method=DELETE.

Заголовки ​

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

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

ПараметрОписание
modelID записи

Ответ · 200 ​

Поля ответа
ПолеТипОписание
messagestringСообщение
json
{
    "message": "Success"
}

Восстановить услугу ​

DELETE/company/product/service/{value}/restore

Восстанавливает ранее удалённую услугу по ID.

Из формы (multipart/form-data) метод DELETE отправляется как POST с параметром ?_method=DELETE.

Заголовки ​

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

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

ПараметрОписание
valueID записи (в том числе удалённой)

Ответ · 200 ​

Поля ответа
ПолеТипОписание
messagestringСообщение
json
{
    "message": "Success"
}