Skip to content

Поставщики ​

Поставщики компании: реквизиты, валюты расчётов и баланс взаиморасчётов по каждой валюте. Положительный баланс — наш долг поставщику, отрицательный — долг поставщика нам.

МетодАдресНазначение
PATCH/company/supplier/supplier/{model}/start-balanceЗадать начальный остаток
GET/company/supplier/supplierСписок поставщиков
GET/company/supplier/supplier/{model}Поставщик
POST/company/supplier/supplierСоздать поставщика
PUT/company/supplier/supplier/{model}Изменить поставщика
DELETE/company/supplier/supplier/{model}Удалить поставщика
DELETE/company/supplier/supplier/{value}/restoreВосстановить поставщика

Задать начальный остаток ​

PATCH/company/supplier/supplier/{model}/start-balance

Задаёт или пересматривает начальный остаток поставщика по валютам (ключи — коды валют, значение со знаком: плюс — мы должны, минус — должен поставщик). Баланс меняется на разницу с прежним начальным остатком, а для валют расчётов в журнал добавляется строка opening_balance на эту разницу.

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

Заголовки ​

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

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

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

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

ПолеТипОбязательноОписание
start_balancesarrayДа
start_balances[]numberНетДо 2 знаков после запятой. Не меньше -1000000000. Не больше 1000000000
json
{
    "start_balances": {
        "usd": 500,
        "uzs": 1000
    }
}
bash
curl -X PATCH "https://api.wasyt.uz/company/supplier/supplier/2/start-balance" \
  -H "Accept: application/json" \
  -H "Accept-Language: ru" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{"start_balances":{"usd":500,"uzs":1000}}'

Ответ · 200 ​

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

Список поставщиков ​

GET/company/supplier/supplier

Постраничный список поставщиков доступных компаний. with[]=balance добавляет долг по валютам в каждую строку и итог по всей выборке (debt_full_filtered_total); show[]=transactions_total — обороты за период filter[transactions_created_at] (по умолчанию текущий месяц) и текущий долг. format=excel отдаёт выгрузку.

Заголовки ​

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

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

ПараметрОписание
filter[id]ID — точное значение
filter[creator_id]Создатель — точное значение
filter[company_id]Компания — точное значение
filter[type]Тип — точное значение
filter[currency]Валюта — точное значение
filter[currencies]Валюты — содержит любое из значений
filter[category]Категория — поиск по части строки
filter[created_at]Создано — период: [0] — с, [1] — по (Y-m-d)
filter[common]Общий — точное значение (с учётом вложенных)
sort[]Сортировка, - — по убыванию: id, -id, last_purchase_at, -last_purchase_at, purchases_total, -purchases_total, balance, -balance
with[]Подгрузить связи: creator.profile, company, balances
pageНомер страницы, с 1
page-sizeЗаписей на странице, не больше 20
show[]Дополнительные вычисляемые данные (см. описание метода)
http
GET /company/supplier/supplier?show[0]=transactions_total&filter[transactions_created_at][0]=2026-09-29&filter[transactions_created_at][1]=2026-09-30

Ответ · 200 ​

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

Поля ответа
ПолеТипОписание
dataobject[]Данные
data[].idintegerID
data[].creator_idintegerСоздатель
data[].company_idintegerКомпания
data[].namestringНазвание
data[].full_namestringФИО
data[].typestringТип
data[].phonestringТелефон
data[].additional_phonesarrayДополнительные телефоны
data[].innstringИНН
data[].addressstringАдрес
data[].categorynullКатегория
data[].currencynullВалюта
data[].currenciesarrayВалюты
data[].bank_accountnullРасчётный счёт
data[].mfonullМФО
data[].bank_namenullБанк
data[].photonull
data[].photo_thumbsarray
data[].start_balancesobject
data[].start_balances.eurinteger
data[].start_balances.rubinteger
data[].start_balances.usdinteger
data[].start_balances.uzsinteger
data[].start_balance_set_atnull
data[].created_atstringСоздано
data[].updated_atstringОбновлено
data[].purchases_totalarrayВсего закупки
data[].is_deletedboolean
data[].transactions_totalnull
json
{
    "data": [
        {
            "id": 2,
            "creator_id": 2,
            "company_id": 1,
            "name": "Supplier 2",
            "full_name": "Full name 2",
            "type": "person",
            "phone": "998000000002",
            "additional_phones": [],
            "inn": "000000002",
            "address": "Address 2",
            "category": null,
            "currency": null,
            "currencies": [],
            "bank_account": null,
            "mfo": null,
            "bank_name": null,
            "photo": null,
            "photo_thumbs": [],
            "start_balances": {
                "eur": 0,
                "rub": 0,
                "usd": 0,
                "uzs": 0
            },
            "start_balance_set_at": null,
            "created_at": "2026-09-30 12:47:58",
            "updated_at": "2026-09-30 12:47:58",
            "purchases_total": [],
            "is_deleted": false,
            "transactions_total": null
        },
        {
            "id": 1,
            "creator_id": 2,
            "company_id": 1,
            "name": "Supplier 1",
            "full_name": "Full name 1",
            "type": "person",
            "phone": "998000000001",
            "additional_phones": [
                "998000000011",
                "998000000012"
            ],
            "inn": "000000001",
            "address": "Address 1",
            "category": null,
            "currency": null,
            "currencies": [],
            "bank_account": null,
            "mfo": null,
            "bank_name": null,
            "photo": null,
            "photo_thumbs": [],
            "start_balances": {
                "eur": 0,
                "rub": 0,
                "usd": 0,
                "uzs": 1000
            },
            "start_balance_set_at": null,
            "created_at": "2026-09-30 12:47:58",
            "updated_at": "2026-09-30 12:47:58",
            "purchases_total": [],
            "is_deleted": false,
            "transactions_total": {
                "supplier_id": 1,
                "amount": {
                    "income": {
                        "uzs": "1000.00",
                        "usd": "0",
                        "eur": "0",
                        "rub": "0"
                    },
                    "outcome": {
                        "uzs": "0",
                        "usd": "2000.00",
                        "eur": "0",
                        "rub": "0"
                    }
                },
                "balance": {
                    "start": {
                        "uzs": "0",
                        "usd": "0",
                        "eur": "0",
                        "rub": "0"
                    },
                    "end": {
                        "uzs": "1000.00",
                        "usd": "-2000.00",
                        "eur": "0",
                        "rub": "0"
                    }
                }
            }
        }
    ],
    "links": {
        "first": "https://api.wasyt.uz/company/supplier/supplier?page=1",
        "last": "https://api.wasyt.uz/company/supplier/supplier?page=1",
        "prev": null,
        "next": null
    },
    "meta": {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "links": [],
        "path": "https://api.wasyt.uz/company/supplier/supplier",
        "per_page": 20,
        "to": 2,
        "total": 2
    },
    "transactions_total": {
        "amount": {
            "income": {
                "uzs": "1000.00",
                "usd": "0",
                "eur": "0",
                "rub": "0"
            },
            "outcome": {
                "uzs": "0",
                "usd": "2000.00",
                "eur": "0",
                "rub": "0"
            }
        },
        "balance": {
            "start": {
                "uzs": 0,
                "usd": 0,
                "eur": 0,
                "rub": 0
            },
            "end": {
                "uzs": 0,
                "usd": 0,
                "eur": 0,
                "rub": 0
            }
        }
    },
    "current_debt": {
        "uzs": 0,
        "usd": 0,
        "eur": 0,
        "rub": 0
    }
}

Поставщик ​

GET/company/supplier/supplier/{model}

Один поставщик по ID. С show[]=transactions_total добавляются обороты за период, текущий долг (current_debt) и сумма возвратов (returns_total).

Заголовки ​

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

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

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

Ответ · 200 ​

Поля ответа
ПолеТипОписание
idintegerID
creator_idintegerСоздатель
company_idintegerКомпания
namestringНазвание
full_namestringФИО
typestringТип
phonestringТелефон
additional_phonesarrayДополнительные телефоны
innstringИНН
addressstringАдрес
categorynullКатегория
currencynullВалюта
currenciesarrayВалюты
bank_accountnullРасчётный счёт
mfonullМФО
bank_namenullБанк
photonull
photo_thumbsarray
start_balancesobject
start_balances.eurinteger
start_balances.rubinteger
start_balances.usdinteger
start_balances.uzsinteger
start_balance_set_atnull
created_atstringСоздано
updated_atstringОбновлено
purchases_totalarrayВсего закупки
is_deletedboolean
json
{
    "id": 1,
    "creator_id": 2,
    "company_id": 1,
    "name": "Supplier 1",
    "full_name": "Full name 1",
    "type": "person",
    "phone": "998000000001",
    "additional_phones": [
        "998000000011",
        "998000000012"
    ],
    "inn": "000000001",
    "address": "Address 1",
    "category": null,
    "currency": null,
    "currencies": [],
    "bank_account": null,
    "mfo": null,
    "bank_name": null,
    "photo": null,
    "photo_thumbs": [],
    "start_balances": {
        "eur": 0,
        "rub": 0,
        "usd": 0,
        "uzs": 1000
    },
    "start_balance_set_at": null,
    "created_at": "2026-09-30 12:47:58",
    "updated_at": "2026-09-30 12:47:58",
    "purchases_total": [],
    "is_deleted": false
}

Создать поставщика ​

POST/company/supplier/supplier

Создаёт поставщика; название уникально в компании, нужна хотя бы одна валюта расчётов из валют компании. Переданные start_balances сразу становятся балансом, а по валютам расчётов пишутся строки журнала opening_balance.

Заголовки ​

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

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

ПолеТипОбязательноОписание
namestringДаНазвание. Макс. 255 символов. Уникальное значение в компании
full_namestringДаФИО. Макс. 255 символов
typestringДаТип. Допустимые значения: person, entity
phonestringДаТелефон. Формат 998xxyyyzzzz
additional_phonesarrayНетДополнительные телефоны. Макс. 10 элементов
additional_phones[]stringДаДополнительные телефоны. Без повторов. Формат 998xxyyyzzzz
innstringНетИНН. Макс. 255 символов
addressstringНетАдрес. Макс. 1000 символов
categorystringНетКатегория. Макс. 255 символов
photofileНетФорматы: jpg, png. Макс. 2048 КБ. Размеры изображения: max_width=3840, max_height=2160
photo_old_keysstring (JSON)Да
currenciesarrayДаВалюты. Мин. 1 элементов
currencies[]stringДаВалюты. Без повторов. Допустимые значения: uzs, usd, eur, rub
bank_accountstringНетРасчётный счёт. Макс. 255 символов
mfostringНетМФО. Макс. 255 символов
bank_namestringНетБанк. Макс. 255 символов
start_balancesarrayНет
start_balances[]numberНетДо 2 знаков после запятой. Не меньше -1000000000. Не больше 1000000000
json
{
    "name": "Supplier 3",
    "full_name": "Full name 3",
    "type": "entity",
    "phone": "998000000003",
    "additional_phones": [
        "998000000031",
        "998000000032"
    ],
    "inn": "000000003",
    "address": "Address 3",
    "category": "Продукты питания",
    "currencies": [
        "uzs"
    ],
    "bank_account": "20208000000000000001",
    "mfo": "00014",
    "bank_name": "Bank 3",
    "start_balances": {
        "uzs": 1000,
        "usd": 1000,
        "eur": 1000,
        "rub": 1000
    }
}
bash
curl -X POST "https://api.wasyt.uz/company/supplier/supplier" \
  -H "Accept: application/json" \
  -H "Accept-Language: ru" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{"name":"Supplier 3","full_name":"Full name 3","type":"entity","phone":"998000000003","additional_phones":["998000000031","998000000032"],"inn":"000000003","address":"Address 3","category":"Продукты питания","currencies":["uzs"],"bank_account":"20208000000000000001","mfo":"00014","bank_name":"Bank 3","start_balances":{"uzs":1000,"usd":1000,"eur":1000,"rub":1000}}'

Ответ · 200 ​

Поля ответа
ПолеТипОписание
namestringНазвание
full_namestringФИО
typestringТип
phonestringТелефон
innstringИНН
addressstringАдрес
categorystringКатегория
bank_accountstringРасчётный счёт
mfostringМФО
bank_namestringБанк
start_balancesobject
start_balances.uzsinteger
start_balances.usdinteger
start_balances.eurinteger
start_balances.rubinteger
additional_phonesarrayДополнительные телефоны
currenciesarrayВалюты
currencystringВалюта
updated_atstringОбновлено
created_atstringСоздано
start_balance_set_atstring
creator_idintegerСоздатель
company_idintegerКомпания
idintegerID
is_deletedboolean
json
{
    "name": "Supplier 3",
    "full_name": "Full name 3",
    "type": "entity",
    "phone": "998000000003",
    "inn": "000000003",
    "address": "Address 3",
    "category": "Продукты питания",
    "bank_account": "20208000000000000001",
    "mfo": "00014",
    "bank_name": "Bank 3",
    "start_balances": {
        "uzs": 1000,
        "usd": 1000,
        "eur": 1000,
        "rub": 1000
    },
    "additional_phones": [
        "998000000031",
        "998000000032"
    ],
    "currencies": [
        "uzs"
    ],
    "currency": "uzs",
    "updated_at": "2026-09-30 12:53:33",
    "created_at": "2026-09-30 12:53:33",
    "start_balance_set_at": "2026-09-30 12:53:33",
    "creator_id": 2,
    "company_id": 1,
    "id": 9,
    "is_deleted": false
}

Изменить поставщика ​

PUT/company/supplier/supplier/{model}

Обновляет данные поставщика; start_balances здесь игнорируется (для него есть отдельный метод). Убрать валюту расчётов, по которой уже есть операции или ненулевой баланс, нельзя.

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

Заголовки ​

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

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

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

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

ПолеТипОбязательноОписание
namestringДаНазвание. Макс. 255 символов. Уникальное значение в компании
full_namestringДаФИО. Макс. 255 символов
typestringДаТип. Допустимые значения: person, entity
phonestringДаТелефон. Формат 998xxyyyzzzz
additional_phonesarrayНетДополнительные телефоны. Макс. 10 элементов
additional_phones[]stringДаДополнительные телефоны. Без повторов. Формат 998xxyyyzzzz
innstringНетИНН. Макс. 255 символов
addressstringНетАдрес. Макс. 1000 символов
categorystringНетКатегория. Макс. 255 символов
photofileНетФорматы: jpg, png. Макс. 2048 КБ. Размеры изображения: max_width=3840, max_height=2160
photo_old_keysstring (JSON)Да
currenciesarrayНетВалюты
currencies[]stringДаВалюты. Без повторов. Допустимые значения: uzs, usd, eur, rub
bank_accountstringНетРасчётный счёт. Макс. 255 символов
mfostringНетМФО. Макс. 255 символов
bank_namestringНетБанк. Макс. 255 символов
start_balancesarrayНет
start_balances[]numberНетДо 2 знаков после запятой. Не меньше -1000000000. Не больше 1000000000
json
{
    "name": "Supplier 1",
    "full_name": "Full name 1",
    "type": "person",
    "phone": "998000000001",
    "additional_phones": [
        "998000000011",
        "998000000012"
    ],
    "inn": "000000001",
    "address": "Address 1"
}
bash
curl -X PUT "https://api.wasyt.uz/company/supplier/supplier/1" \
  -H "Accept: application/json" \
  -H "Accept-Language: ru" \
  -H "Authorization: Bearer {token}" \
  -H "Content-Type: application/json" \
  -d '{"name":"Supplier 1","full_name":"Full name 1","type":"person","phone":"998000000001","additional_phones":["998000000011","998000000012"],"inn":"000000001","address":"Address 1"}'

Ответ · 200 ​

Поля ответа
ПолеТипОписание
idintegerID
creator_idintegerСоздатель
company_idintegerКомпания
namestringНазвание
full_namestringФИО
typestringТип
phonestringТелефон
additional_phonesarrayДополнительные телефоны
innstringИНН
addressstringАдрес
categorynullКатегория
currencynullВалюта
currenciesarrayВалюты
bank_accountnullРасчётный счёт
mfonullМФО
bank_namenullБанк
photonull
photo_thumbsarray
start_balancesobject
start_balances.uzsinteger
start_balances.usdinteger
start_balances.eurinteger
start_balances.rubinteger
start_balance_set_atnull
created_atstringСоздано
updated_atstringОбновлено
is_deletedboolean
json
{
    "id": 1,
    "creator_id": 2,
    "company_id": 1,
    "name": "Supplier 1",
    "full_name": "Full name 1",
    "type": "person",
    "phone": "998000000001",
    "additional_phones": [
        "998000000011",
        "998000000012"
    ],
    "inn": "000000001",
    "address": "Address 1",
    "category": null,
    "currency": null,
    "currencies": [],
    "bank_account": null,
    "mfo": null,
    "bank_name": null,
    "photo": null,
    "photo_thumbs": [],
    "start_balances": {
        "uzs": 1000,
        "usd": 0,
        "eur": 0,
        "rub": 0
    },
    "start_balance_set_at": null,
    "created_at": "2026-09-30 12:47:58",
    "updated_at": "2026-09-30 12:53:45",
    "is_deleted": false
}

Удалить поставщика ​

DELETE/company/supplier/supplier/{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/supplier/supplier/{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"
}