Ko‘chirishlar
Tovarlarni omborlar o‘rtasida, jumladan kompaniya va uning filiallari o‘rtasida ko‘chirish. Tasdiqlangunga qadar tovar jo‘natuvchi omborda qoladi, lekin band hisoblanadi; qoldiqlar «Tovarni qabul qilish»da o‘tkaziladi.
| Metod | Manzil | Vazifasi |
|---|---|---|
| GET | /company/trade/transfer/stats | Ko‘chirishlar statistikasi |
| GET | /company/trade/transfer/download-example | Ko‘chirish importi shabloni |
| POST | /company/trade/transfer/import | Excel’dan ko‘chirish importi |
| PATCH | /company/trade/transfer/{model}/complete | Tovarni qabul qilish |
| PATCH | /company/trade/transfer/{model}/cancel | Ko‘chirishni bekor qilish |
| GET | /company/trade/transfer | Ko‘chirishlar ro‘yxati |
| GET | /company/trade/transfer/{model} | Ko‘chirish tafsilotlari |
| POST | /company/trade/transfer | Ko‘chirish yaratish |
| PUT | /company/trade/transfer/{model} | Ko‘chirishni tahrirlash |
Ko‘chirishlar statistikasi
/company/trade/transfer/statsBo‘lim kartalari: jami ko‘chirishlar total_count, yo‘lda in_transit_count, qabul qilingan completed_count va ko‘chirilgan miqdor moved_quantity.
Sarlavhalar (headers)
| Sarlavha | Qiymat | Tavsif |
|---|---|---|
Authorization | Bearer {token} | POST /common/auth/login dan olingan token |
Accept | application/json | Javob JSON da |
Accept-Language | ru | Xabarlar va nomlar tili: ru, uz, oz |
Javob · 200
Javob maydonlari
| Maydon | Turi | Tavsif |
|---|---|---|
total_count | integer | |
in_transit_count | integer | |
completed_count | integer | |
moved_quantity | integer |
{
"total_count": 1,
"in_transit_count": 1,
"completed_count": 0,
"moved_quantity": 0
}Ko‘chirish importi shabloni
/company/trade/transfer/download-exampleKo‘chirishni import qilish uchun Excel fayl namunasini yuklab beradi.
Sarlavhalar (headers)
| Sarlavha | Qiymat | Tavsif |
|---|---|---|
Authorization | Bearer {token} | POST /common/auth/login dan olingan token |
Accept | application/json | Javob JSON da |
Accept-Language | ru | Xabarlar va nomlar tili: ru, uz, oz |
Javob · 200
Javob — fayl yoki matn, JSON emas.
Excel’dan ko‘chirish importi
/company/trade/transfer/importFayldan ko‘chirish yaratadi (500 qatorgacha: tovar, variatsiya, miqdor). Tovar jo‘natuvchi omborda nom bo‘yicha qidiriladi, miqdor qoldiqdan oshmaydi; faol sotuvdagi tovarlarni ko‘chirib bo‘lmaydi. Xatolar katakni ko‘rsatadi.
Sarlavhalar (headers)
| Sarlavha | Qiymat | Tavsif |
|---|---|---|
Authorization | Bearer {token} | POST /common/auth/login dan olingan token |
Accept | application/json | Javob JSON da |
Accept-Language | ru | Xabarlar va nomlar tili: ru, uz, oz |
So‘rov tanasi
| Maydon | Turi | Majburiy | Tavsif |
|---|---|---|---|
company_from_id | integer | Ha | Kompaniyadan. Foydalanuvchiga ochiq mavjud yozuv ID si |
company_to_id | integer | Ha | Kompaniyaga. Foydalanuvchiga ochiq mavjud yozuv ID si |
stock_from_id | integer | Ha | Ombordan. Foydalanuvchiga ochiq mavjud yozuv ID si |
stock_to_id | integer | Ha | Omborga. stock_from_id dan farqli. Foydalanuvchiga ochiq mavjud yozuv ID si |
comment | string | Yo‘q | Izoh. Maks. 1000 belgi |
file | file | Ha | Fayl. Formatlar: xlsx. Maks. 1024 KB |
{
"company_from_id": 1,
"company_to_id": 1,
"stock_from_id": 1,
"stock_to_id": 2,
"comment": "Comment 3"
}curl -X POST "https://api.wasyt.uz/company/trade/transfer/import" \
-H "Accept: application/json" \
-H "Accept-Language: ru" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"company_from_id":1,"company_to_id":1,"stock_from_id":1,"stock_to_id":2,"comment":"Comment 3"}'Javob · 200
Javob maydonlari
| Maydon | Turi | Tavsif |
|---|---|---|
message | string | Xabar |
{
"message": "Success"
}Tovarni qabul qilish
/company/trade/transfer/{model}/completeKo‘chirishni yakunlaydi: qoldiqlar qabul qiluvchi omborga o‘tkaziladi, tovar narxlari qabul qiluvchi kompaniyada o‘rnatiladi. receiver_id — kim qabul qilgani (sukut bo‘yicha joriy foydalanuvchi). Omborlardan biriga ruxsati bor istalgan tomon faqat waiting_for_confirmation holatida tasdiqlay oladi.
Formadan (
multipart/form-data)PATCHmetodiPOST+?_method=PATCHparametri bilan yuboriladi.
Sarlavhalar (headers)
| Sarlavha | Qiymat | Tavsif |
|---|---|---|
Authorization | Bearer {token} | POST /common/auth/login dan olingan token |
Accept | application/json | Javob JSON da |
Accept-Language | ru | Xabarlar va nomlar tili: ru, uz, oz |
Yo‘l parametrlari
| Parametr | Tavsif |
|---|---|
model | Yozuv ID si |
So‘rov tanasi
| Maydon | Turi | Majburiy | Tavsif |
|---|---|---|---|
receiver_id | string | Yo‘q | Mumkin qiymatlar: 2, 3, 5, 6, 7, 4 |
Javob · 200
Javob maydonlari
| Maydon | Turi | Tavsif |
|---|---|---|
message | string | Xabar |
{
"message": "Success"
}Ko‘chirishni bekor qilish
/company/trade/transfer/{model}/cancelKo‘chirishni ixtiyoriy cancel_reason sababi bilan bekor qiladi; band qilingan miqdor jo‘natuvchi omborda yana mavjud bo‘ladi. Faqat waiting_for_confirmation holatida va omborlardan biriga ruxsati bor foydalanuvchi tomonidan.
Formadan (
multipart/form-data)PATCHmetodiPOST+?_method=PATCHparametri bilan yuboriladi.
Sarlavhalar (headers)
| Sarlavha | Qiymat | Tavsif |
|---|---|---|
Authorization | Bearer {token} | POST /common/auth/login dan olingan token |
Accept | application/json | Javob JSON da |
Accept-Language | ru | Xabarlar va nomlar tili: ru, uz, oz |
Yo‘l parametrlari
| Parametr | Tavsif |
|---|---|
model | Yozuv ID si |
So‘rov tanasi
| Maydon | Turi | Majburiy | Tavsif |
|---|---|---|---|
cancel_reason | string | Yo‘q | Bekor qilish sababi. Maks. 1000 belgi |
{
"cancel_reason": "Cancel reason 1"
}curl -X PATCH "https://api.wasyt.uz/company/trade/transfer/1/cancel" \
-H "Accept: application/json" \
-H "Accept-Language: ru" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"cancel_reason":"Cancel reason 1"}'Javob · 200
Javob maydonlari
| Maydon | Turi | Tavsif |
|---|---|---|
message | string | Xabar |
{
"message": "Success"
}Ko‘chirishlar ro‘yxati
/company/trade/transferKo‘chirishlar sahifalab va filtrlar bilan, TR-… hujjat kodi, omborlar, imzolovchilar va haydovchi bilan.
Sarlavhalar (headers)
| Sarlavha | Qiymat | Tavsif |
|---|---|---|
Authorization | Bearer {token} | POST /common/auth/login dan olingan token |
Accept | application/json | Javob JSON da |
Accept-Language | ru | Xabarlar va nomlar tili: ru, uz, oz |
So‘rov parametrlari
| Parametr | Tavsif |
|---|---|
filter[id] | ID — aniq qiymat |
filter[code] | Kod — qator qismi bo‘yicha qidiruv |
filter[creator_id] | Yaratuvchi — aniq qiymat |
filter[updater_id] | Yangilovchi — aniq qiymat |
filter[sender_id] | aniq qiymat |
filter[receiver_id] | aniq qiymat |
filter[company_from_id] | Kompaniyadan — aniq qiymat |
filter[company_to_id] | Kompaniyaga — aniq qiymat |
filter[stock_from_id] | Ombordan — aniq qiymat |
filter[stock_to_id] | Omborga — aniq qiymat |
filter[driver_id] | aniq qiymat |
filter[driver.car_number] | qator qismi bo‘yicha qidiruv |
filter[status] | Status — aniq qiymat |
filter[created_at] | Yaratilgan — davr: [0] — dan, [1] — gacha (Y-m-d) |
filter[completed_at] | davr: [0] — dan, [1] — gacha (Y-m-d) |
sort[] | Saralash, - — kamayish bo‘yicha: id, -id, code, -code, created_at, -created_at |
with[] | Bog‘liq ma’lumotlarni qo‘shish: creator.profile, updater.profile, sender.profile, receiver.profile, company_from, company_to, stock_from, stock_to, driver, products, products.product, products.product.unit, products.sale_price |
page | Sahifa raqami, 1 dan |
page-size | Sahifadagi yozuvlar soni, ko‘pi bilan 20 |
GET /company/trade/transfer?sort[0]=id&sort[1]=-id&sort[2]=code&sort[3]=-code&sort[4]=created_at&sort[5]=-created_atJavob · 200
Sahifalangan javob: yozuvlar data[] ichida, sahifalash links va meta da.
Javob maydonlari
| Maydon | Turi | Tavsif |
|---|---|---|
data | object[] | Ma'lumotlar |
data[].id | integer | ID |
data[].creator_id | integer | Yaratuvchi |
data[].updater_id | integer | Yangilovchi |
data[].company_from_id | integer | Kompaniyadan |
data[].company_to_id | integer | Kompaniyaga |
data[].stock_from_id | integer | Ombordan |
data[].stock_to_id | integer | Omborga |
data[].code | string | Kod |
data[].sender_id | integer | |
data[].receiver_id | null | |
data[].driver_id | integer | |
data[].comment | string | Izoh |
data[].status | string | Status |
data[].completed_at | null | |
data[].cancel_reason | string | Bekor qilish sababi |
data[].created_at | string | Yaratilgan |
data[].updated_at | string | Yangilangan |
{
"data": [
{
"id": 1,
"creator_id": 2,
"updater_id": 2,
"company_from_id": 1,
"company_to_id": 1,
"stock_from_id": 1,
"stock_to_id": 2,
"code": "TR-0001",
"sender_id": 2,
"receiver_id": null,
"driver_id": 1,
"comment": "Comment 1",
"status": "waiting_for_confirmation",
"completed_at": null,
"cancel_reason": "Cancel reason 1",
"created_at": "2026-09-30 12:47:59",
"updated_at": "2026-09-30 12:47:59"
}
],
"links": {
"first": "https://api.wasyt.uz/company/trade/transfer?page=1",
"last": "https://api.wasyt.uz/company/trade/transfer?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [],
"path": "https://api.wasyt.uz/company/trade/transfer",
"per_page": 20,
"to": 1,
"total": 1
}
}Ko‘chirish tafsilotlari
/company/trade/transfer/{model}Bitta ko‘chirish hujjati: kod, jo‘natuvchi va qabul qiluvchi omborlar, kim jo‘natgani va qabul qilgani, haydovchi, holat.
Sarlavhalar (headers)
| Sarlavha | Qiymat | Tavsif |
|---|---|---|
Authorization | Bearer {token} | POST /common/auth/login dan olingan token |
Accept | application/json | Javob JSON da |
Accept-Language | ru | Xabarlar va nomlar tili: ru, uz, oz |
Yo‘l parametrlari
| Parametr | Tavsif |
|---|---|
model | Yozuv ID si |
Javob · 200
Javob maydonlari
| Maydon | Turi | Tavsif |
|---|---|---|
id | integer | ID |
creator_id | integer | Yaratuvchi |
updater_id | integer | Yangilovchi |
company_from_id | integer | Kompaniyadan |
company_to_id | integer | Kompaniyaga |
stock_from_id | integer | Ombordan |
stock_to_id | integer | Omborga |
code | string | Kod |
sender_id | integer | |
receiver_id | null | |
driver_id | integer | |
comment | string | Izoh |
status | string | Status |
completed_at | null | |
cancel_reason | string | Bekor qilish sababi |
created_at | string | Yaratilgan |
updated_at | string | Yangilangan |
{
"id": 1,
"creator_id": 2,
"updater_id": 2,
"company_from_id": 1,
"company_to_id": 1,
"stock_from_id": 1,
"stock_to_id": 2,
"code": "TR-0001",
"sender_id": 2,
"receiver_id": null,
"driver_id": 1,
"comment": "Comment 1",
"status": "waiting_for_confirmation",
"completed_at": null,
"cancel_reason": "Cancel reason 1",
"created_at": "2026-09-30 12:47:59",
"updated_at": "2026-09-30 12:47:59"
}Ko‘chirish yaratish
/company/trade/transferTR-… kodi bilan waiting_for_confirmation holatidagi ko‘chirish yaratadi. Miqdor jo‘natuvchi omborning mavjud qoldig‘i bo‘yicha tekshiriladi (boshqa yakunlanmagan ko‘chirishlar va ochiq sotuv savatlari ayirilgan holda). Jo‘natuvchi sukut bo‘yicha — kompaniya direktori; haydovchi driver_id bo‘yicha tanlanadi yoki to‘ldirilgan maydonlardan yaratiladi.
Sarlavhalar (headers)
| Sarlavha | Qiymat | Tavsif |
|---|---|---|
Authorization | Bearer {token} | POST /common/auth/login dan olingan token |
Accept | application/json | Javob JSON da |
Accept-Language | ru | Xabarlar va nomlar tili: ru, uz, oz |
So‘rov tanasi
| Maydon | Turi | Majburiy | Tavsif |
|---|---|---|---|
company_from_id | integer | Ha | Kompaniyadan. Foydalanuvchiga ochiq mavjud yozuv ID si |
company_to_id | integer | Ha | Kompaniyaga. Foydalanuvchiga ochiq mavjud yozuv ID si |
stock_from_id | integer | Ha | Ombordan. Foydalanuvchiga ochiq mavjud yozuv ID si |
stock_to_id | integer | Ha | Omborga. stock_from_id dan farqli. Foydalanuvchiga ochiq mavjud yozuv ID si |
sender_id | string | Yo‘q | Mumkin qiymatlar: 2, 3, 5, 6, 7, 4 |
driver_id | integer | Yo‘q | Foydalanuvchiga ochiq mavjud yozuv ID si |
car_number | string | Yo‘q | Maks. 50 belgi |
driver_name | string | Yo‘q | Maks. 255 belgi |
driver_phone | string | Yo‘q | Maks. 50 belgi |
comment | string | Yo‘q | Izoh. Maks. 1000 belgi |
products | object[] | Ha | Mahsulotlar. Maks. 500 ta element |
products[].id | integer | Yo‘q | ID |
products[].product_id | integer | Ha | Tovar. Takrorlanmasin |
products[].quantity | number | Ha | Miqdori. Verguldan keyin 4 tagacha raqam. Kamida 0.0001 |
{
"company_from_id": 1,
"company_to_id": 1,
"stock_from_id": 1,
"stock_to_id": 2,
"comment": "Comment 3",
"car_number": "01 A 777 AA",
"driver_name": "Rustamov Jasur",
"driver_phone": "+998 90 123 45 67",
"products": [
{
"product_id": 1,
"quantity": 1
},
{
"product_id": 2,
"quantity": 2
}
]
}curl -X POST "https://api.wasyt.uz/company/trade/transfer" \
-H "Accept: application/json" \
-H "Accept-Language: ru" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"company_from_id":1,"company_to_id":1,"stock_from_id":1,"stock_to_id":2,"comment":"Comment 3","car_number":"01 A 777 AA","driver_name":"Rustamov Jasur","driver_phone":"+998 90 123 45 67","products":[{"product_id":1,"quantity":1},{"product_id":2,"quantity":2}]}'Javob · 200
Javob maydonlari
| Maydon | Turi | Tavsif |
|---|---|---|
company_from_id | integer | Kompaniyadan |
company_to_id | integer | Kompaniyaga |
stock_from_id | integer | Ombordan |
stock_to_id | integer | Omborga |
comment | string | Izoh |
driver_id | integer | |
updated_at | string | Yangilangan |
created_at | string | Yaratilgan |
updater_id | integer | Yangilovchi |
creator_id | integer | Yaratuvchi |
code | string | Kod |
sender_id | integer | |
id | integer | ID |
{
"company_from_id": 1,
"company_to_id": 1,
"stock_from_id": 1,
"stock_to_id": 2,
"comment": "Comment 3",
"driver_id": 3,
"updated_at": "2026-09-30 12:55:58",
"created_at": "2026-09-30 12:55:58",
"updater_id": 2,
"creator_id": 2,
"code": "TR-0002",
"sender_id": 2,
"id": 23
}Xato misoli · 422
{
"message": "Значение поля Количество не может быть больше 0.",
"errors": {
"products.0.quantity": [
"Значение поля Количество не может быть больше 0."
]
}
}Ko‘chirishni tahrirlash
/company/trade/transfer/{model}Ko‘chirish va uning qatorlarini yaratish qoidalari bo‘yicha qayta yozadi; qoldiqni tekshirishda hujjatning o‘zi hisobga olinmaydi. Faqat waiting_for_confirmation holatida; transport maydonlarisiz haydovchi o‘zgarmaydi.
Formadan (
multipart/form-data)PUTmetodiPOST+?_method=PUTparametri bilan yuboriladi.
Sarlavhalar (headers)
| Sarlavha | Qiymat | Tavsif |
|---|---|---|
Authorization | Bearer {token} | POST /common/auth/login dan olingan token |
Accept | application/json | Javob JSON da |
Accept-Language | ru | Xabarlar va nomlar tili: ru, uz, oz |
Yo‘l parametrlari
| Parametr | Tavsif |
|---|---|
model | Yozuv ID si |
So‘rov tanasi
| Maydon | Turi | Majburiy | Tavsif |
|---|---|---|---|
company_from_id | integer | Ha | Kompaniyadan. Foydalanuvchiga ochiq mavjud yozuv ID si |
company_to_id | integer | Ha | Kompaniyaga. Foydalanuvchiga ochiq mavjud yozuv ID si |
stock_from_id | integer | Ha | Ombordan. Foydalanuvchiga ochiq mavjud yozuv ID si |
stock_to_id | integer | Ha | Omborga. stock_from_id dan farqli. Foydalanuvchiga ochiq mavjud yozuv ID si |
sender_id | string | Yo‘q | Mumkin qiymatlar: 2, 3, 5, 6, 7, 4 |
driver_id | integer | Yo‘q | Foydalanuvchiga ochiq mavjud yozuv ID si |
car_number | string | Yo‘q | Maks. 50 belgi |
driver_name | string | Yo‘q | Maks. 255 belgi |
driver_phone | string | Yo‘q | Maks. 50 belgi |
comment | string | Yo‘q | Izoh. Maks. 1000 belgi |
products | object[] | Ha | Mahsulotlar. Maks. 500 ta element |
products[].id | integer | Yo‘q | ID |
products[].product_id | integer | Ha | Tovar. Takrorlanmasin |
products[].quantity | number | Ha | Miqdori. Verguldan keyin 4 tagacha raqam. Kamida 0.0001 |
{
"company_from_id": 1,
"company_to_id": 1,
"stock_from_id": 1,
"stock_to_id": 2,
"comment": "Comment 1",
"products": [
{
"product_id": 1,
"quantity": 1
},
{
"product_id": 2,
"quantity": 2
}
]
}curl -X PUT "https://api.wasyt.uz/company/trade/transfer/1" \
-H "Accept: application/json" \
-H "Accept-Language: ru" \
-H "Authorization: Bearer {token}" \
-H "Content-Type: application/json" \
-d '{"company_from_id":1,"company_to_id":1,"stock_from_id":1,"stock_to_id":2,"comment":"Comment 1","products":[{"product_id":1,"quantity":1},{"product_id":2,"quantity":2}]}'Javob · 200
Javob maydonlari
| Maydon | Turi | Tavsif |
|---|---|---|
id | integer | ID |
creator_id | integer | Yaratuvchi |
updater_id | integer | Yangilovchi |
company_from_id | integer | Kompaniyadan |
company_to_id | integer | Kompaniyaga |
stock_from_id | integer | Ombordan |
stock_to_id | integer | Omborga |
code | string | Kod |
sender_id | integer | |
receiver_id | null | |
driver_id | integer | |
comment | string | Izoh |
status | string | Status |
completed_at | null | |
cancel_reason | string | Bekor qilish sababi |
created_at | string | Yaratilgan |
updated_at | string | Yangilangan |
{
"id": 1,
"creator_id": 2,
"updater_id": 2,
"company_from_id": 1,
"company_to_id": 1,
"stock_from_id": 1,
"stock_to_id": 2,
"code": "TR-0001",
"sender_id": 2,
"receiver_id": null,
"driver_id": 1,
"comment": "Comment 1",
"status": "waiting_for_confirmation",
"completed_at": null,
"cancel_reason": "Cancel reason 1",
"created_at": "2026-09-30 12:47:59",
"updated_at": "2026-09-30 12:56:01"
}
