Hamkor integratsiyasi
Hamkor integratsiyasi: sayt manzili bo‘yicha hamkorni aniqlash, uning kompaniyalarini wasyt ga ko‘chirish va ularning ma’lumotlarini o‘qish. Avtorizatsiya — External-System-Secret-Key va Company-Partner-Uuid yoki Company-Wasyt-Uuid.
| Metod | Manzil | Vazifasi |
|---|---|---|
| POST | /external/partner/find-by-url | Hamkorni manzil bo‘yicha topish |
| POST | /external/partner/company | Kompaniya yaratish yoki yangilash |
| GET | /external/partner/records/{type} | Tur bo‘yicha hamkor ma’lumotnomasi |
Hamkorni manzil bo‘yicha topish
/external/partner/find-by-urlurl saytiga xizmat ko‘rsatadigan hamkorni (va uning bezagini) qaytaradi; kalit kerak emas. Oxiridagi slesh hisobga olinmaydi, bitta manzil bir nechta hamkorda bo‘lsa, oldin qo‘shilgani olinadi, kassa.<domen> domen hamkorini oladi. Ro‘yxatdan o‘tmagan manzil production da — 404, production dan tashqarida uning uchun vaqtinchalik hamkor yaratiladi.
Sarlavhalar (headers)
| Sarlavha | Qiymat | Tavsif |
|---|---|---|
Accept | application/json | Javob JSON da |
Accept-Language | ru | Xabarlar va nomlar tili: ru, uz, oz |
So‘rov tanasi
| Maydon | Turi | Majburiy | Tavsif |
|---|---|---|---|
url | string | Ha | Sayt manzili (http yoki https). Maks. 255 belgi. URL manzil |
{
"url": "https://partner-1.com"
}curl -X POST "https://api.wasyt.uz/external/partner/find-by-url" \
-H "Accept: application/json" \
-H "Accept-Language: ru" \
-H "Content-Type: application/json" \
-d '{"url":"https://partner-1.com"}'Javob · 200
Javob maydonlari
| Maydon | Turi | Tavsif |
|---|---|---|
id | integer | ID |
name | string | Nomlanish |
company_name | string | Kompaniya |
inn | string | INN |
mfo | string | MFO |
address | string | Manzil |
call_center_phone | string | Qo'ng'rioqlar markazi raqami |
comment | string | Izoh |
director_full_name | string | Direktorning FISH |
bank | string | Bank |
payment_account | string | To'lov hisob raqami |
created_at | string | Yaratilgan |
updated_at | string | Yangilangan |
is_deleted | boolean | |
theme | object | |
theme.title | string | |
theme.logo_light | string | |
theme.logo_light_thumbs | object | |
theme.logo_light_thumbs.widen_100 | object | |
theme.logo_light_thumbs.widen_100.raw | string | |
theme.logo_light_thumbs.widen_100.webp | string | |
theme.logo_light_thumbs.widen_500 | object | |
theme.logo_light_thumbs.widen_500.raw | string | |
theme.logo_light_thumbs.widen_500.webp | string | |
theme.logo_light_thumbs.original | object | |
theme.logo_light_thumbs.original.raw | string | |
theme.logo_light_thumbs.original.webp | string | |
theme.logo_dark | string | |
theme.logo_dark_thumbs | object | |
theme.logo_dark_thumbs.widen_100 | object | |
theme.logo_dark_thumbs.widen_100.raw | string | |
theme.logo_dark_thumbs.widen_100.webp | string | |
theme.logo_dark_thumbs.widen_500 | object | |
theme.logo_dark_thumbs.widen_500.raw | string | |
theme.logo_dark_thumbs.widen_500.webp | string | |
theme.logo_dark_thumbs.original | object | |
theme.logo_dark_thumbs.original.raw | string | |
theme.logo_dark_thumbs.original.webp | string | |
theme.favicon | string | |
theme.favicon_thumbs | object | |
theme.favicon_thumbs.widen_192 | object | |
theme.favicon_thumbs.widen_192.raw | string | |
theme.favicon_thumbs.widen_192.webp | string | |
theme.favicon_thumbs.widen_256 | object | |
theme.favicon_thumbs.widen_256.raw | string | |
theme.favicon_thumbs.widen_256.webp | string | |
theme.favicon_thumbs.widen_300 | object | |
theme.favicon_thumbs.widen_300.raw | string | |
theme.favicon_thumbs.widen_300.webp | string | |
theme.favicon_thumbs.original | object | |
theme.favicon_thumbs.original.raw | string | |
theme.favicon_thumbs.original.webp | string | |
theme.color_primary_light | string | |
theme.color_primary_dark | string | |
urls | object[] | |
urls[].id | integer | ID |
urls[].url | string | URL |
{
"id": 1,
"name": "Partner 1",
"company_name": "Company 1",
"inn": "000000001",
"mfo": "00001",
"address": "Address 1",
"call_center_phone": "998000000001",
"comment": "Comment 1",
"director_full_name": "Director 1",
"bank": "Bank 1",
"payment_account": "00000000000000000001",
"created_at": "2026-09-30 12:47:58",
"updated_at": "2026-09-30 12:47:58",
"is_deleted": false,
"theme": {
"title": "Partner 1",
"logo_light": "https://api-minio.icangroup.uz/wasyt/test_data/images/1.png",
"logo_light_thumbs": {
"widen_100": {
"raw": "https://api-minio.icangroup.uz/wasyt/test_data/images/1.png",
"webp": "https://api-minio.icangroup.uz/wasyt/test_data/images/1.png"
},
"widen_500": {
"raw": "https://api-minio.icangroup.uz/wasyt/test_data/images/1.png",
"webp": "https://api-minio.icangroup.uz/wasyt/test_data/images/1.png"
},
"original": {
"raw": "https://api-minio.icangroup.uz/wasyt/test_data/images/1.png",
"webp": "https://api-minio.icangroup.uz/wasyt/test_data/images/1.png"
}
},
"logo_dark": "https://api-minio.icangroup.uz/wasyt/test_data/images/2.png",
"logo_dark_thumbs": {
"widen_100": {
"raw": "https://api-minio.icangroup.uz/wasyt/test_data/images/2.png",
"webp": "https://api-minio.icangroup.uz/wasyt/test_data/images/2.png"
},
"widen_500": {
"raw": "https://api-minio.icangroup.uz/wasyt/test_data/images/2.png",
"webp": "https://api-minio.icangroup.uz/wasyt/test_data/images/2.png"
},
"original": {
"raw": "https://api-minio.icangroup.uz/wasyt/test_data/images/2.png",
"webp": "https://api-minio.icangroup.uz/wasyt/test_data/images/2.png"
}
},
"favicon": "https://api-minio.icangroup.uz/wasyt/test_data/images/3.png",
"favicon_thumbs": {
"widen_192": {
"raw": "https://api-minio.icangroup.uz/wasyt/test_data/images/3.png",
"webp": "https://api-minio.icangroup.uz/wasyt/test_data/images/3.png"
},
"widen_256": {
"raw": "https://api-minio.icangroup.uz/wasyt/test_data/images/3.png",
"webp": "https://api-minio.icangroup.uz/wasyt/test_data/images/3.png"
},
"widen_300": {
"raw": "https://api-minio.icangroup.uz/wasyt/test_data/images/3.png",
"webp": "https://api-minio.icangroup.uz/wasyt/test_data/images/3.png"
},
"original": {
"raw": "https://api-minio.icangroup.uz/wasyt/test_data/images/3.png",
"webp": "https://api-minio.icangroup.uz/wasyt/test_data/images/3.png"
}
},
"color_primary_light": "#ff002b",
"color_primary_dark": "#00f7ff"
},
"urls": [
{
"id": 1,
"url": "https://partner-1.com"
}
]
}Kompaniya yaratish yoki yangilash
/external/partner/companywasyt_uuid siz hamkor kompaniyasini direktori bilan yaratadi, ma’lum wasyt_uuid bilan — uni yangilaydi; ICAN yoki wasyt da yaratilgan kompaniyani yangilab bo‘lmaydi (422). Bosh kompaniya muddatsiz bepul obuna oladi, filial (parent_wasyt_uuid, ichma-ichlik 2 dan oshmaydi) — yo‘q; is_partner_turned_on doim true, is_ican_turned_on ni hamkor o‘zgartirmaydi, kompaniya ICAN ga yuborilmaydi. Javobdagi wasyt_uuid — Company-Wasyt-Uuid sarlavhasi qiymati.
Sarlavhalar (headers)
| Sarlavha | Qiymat | Tavsif |
|---|---|---|
External-System-Secret-Key | {external_system_secret_key} | Tashqi tizim maxfiy kaliti |
Company-Partner-Uuid | {company_partner_uuid} | Kompaniya hamkor UUID si bo‘yicha (yoki Company-Wasyt-Uuid) |
Accept | application/json | Javob JSON da |
Accept-Language | ru | Xabarlar va nomlar tili: ru, uz, oz |
So‘rov tanasi
| Maydon | Turi | Majburiy | Tavsif |
|---|---|---|---|
wasyt_uuid | string | Yo‘q | Kompaniyaning wasyt dagi UUID si: bo‘sh — yangi kompaniya, ma’lumi — yangilash. Maks. 255 belgi |
parent_wasyt_uuid | string | Yo‘q | Bosh kompaniya (wasyt dagi UUID) — filial uchun. Maks. 255 belgi |
name | string | Ha | Nomlanish. Maks. 255 belgi |
company_name | string | Ha | Kompaniya. Maks. 255 belgi |
inn | string | Ha | INN. Maks. 255 belgi |
mfo | string | Ha | MFO. Maks. 255 belgi |
address | string | Ha | Manzil. Maks. 255 belgi |
comment | string | Yo‘q | Izoh. Maks. 1000 belgi |
telegram_phone | string | Yo‘q | Telegramdagi telefon. Maks. 255 belgi |
director_full_name | string | Yo‘q | Direktorning FISH. Maks. 255 belgi |
bank | string | Ha | Bank. Maks. 255 belgi |
payment_account | string | Ha | To'lov hisob raqami. Maks. 255 belgi |
agreement_number | string | Ha | Shartnoma raqami. Maks. 255 belgi |
district_wasyt_uuid | string | Ha | Tuman (records/region_district dagi wasyt UUID si). Maks. 255 belgi |
field_of_activity | string | Ha | Faoliyat yo‘nalishi. Mumkin qiymatlar: trading, study, finance, service |
is_ican_turned_on | boolean | Ha | E’tiborga olinmaydi: yangi kompaniyada false, mavjudida o‘zgarmaydi |
is_partner_turned_on | boolean | Ha | E’tiborga olinmaydi: doim true |
director.username | string (email) | Ha | Direktor logini (email); yangilashda o‘zgarmaydi. Maks. 255 belgi. Takrorlanmas qiymat |
director.phone | string | Ha | Telefon. Format 998xxyyyzzzz |
director.password | string | Ha | Parol. Maks. 255 belgi |
{
"name": "Partner company",
"company_name": "Partner company",
"inn": "000000009",
"mfo": "00009",
"address": "Address 9",
"comment": "Comment 9",
"telegram_phone": "998000000029",
"director_full_name": "Director 9",
"bank": "Bank 9",
"payment_account": "00000000000000000009",
"agreement_number": "009/2026",
"district_wasyt_uuid": "wasyt-district-1",
"field_of_activity": "trading",
"director": {
"username": "director_9@local.host",
"phone": "998020000009",
"password": "***"
},
"is_last_step": 1
}curl -X POST "https://api.wasyt.uz/external/partner/company" \
-H "Accept: application/json" \
-H "Accept-Language: ru" \
-H "External-System-Secret-Key: {external_system_secret_key}" \
-H "Content-Type: application/json" \
-d '{"name":"Partner company","company_name":"Partner company","inn":"000000009","mfo":"00009","address":"Address 9","comment":"Comment 9","telegram_phone":"998000000029","director_full_name":"Director 9","bank":"Bank 9","payment_account":"00000000000000000009","agreement_number":"009/2026","district_wasyt_uuid":"wasyt-district-1","field_of_activity":"trading","director":{"username":"director_9@local.host","phone":"998020000009","password":"***"},"is_last_step":1}'Javob · 200
Javob maydonlari
| Maydon | Turi | Tavsif |
|---|---|---|
name | string | Nomlanish |
company_name | string | Kompaniya |
inn | string | INN |
mfo | string | MFO |
address | string | Manzil |
comment | string | Izoh |
telegram_phone | string | Telegramdagi telefon |
director_full_name | string | Direktorning FISH |
bank | string | Bank |
payment_account | string | To'lov hisob raqami |
agreement_number | string | Shartnoma raqami |
field_of_activity | string | Faoliyat yo‘nalishi |
is_ican_turned_on | boolean | ICAN yoqilgan |
is_partner_turned_on | boolean | Hamkor yoqilgan |
district_id | integer | Tuman |
updated_at | string | Yangilangan |
created_at | string | Yaratilgan |
wasyt_uuid | string | Wasyt dagi UUID |
id | integer | ID |
is_deleted | boolean |
{
"name": "Partner company",
"company_name": "Partner company",
"inn": "000000009",
"mfo": "00009",
"address": "Address 9",
"comment": "Comment 9",
"telegram_phone": "998000000029",
"director_full_name": "Director 9",
"bank": "Bank 9",
"payment_account": "00000000000000000009",
"agreement_number": "009/2026",
"field_of_activity": "trading",
"is_ican_turned_on": false,
"is_partner_turned_on": true,
"district_id": 1,
"updated_at": "2026-09-30 12:56:44",
"created_at": "2026-09-30 12:56:44",
"wasyt_uuid": "6abcc0bc0a8b7-a8da8773-e97d-4b7a-aeb3-beb613967791",
"id": 13,
"is_deleted": false
}Tur bo‘yicha hamkor ma’lumotnomasi
/external/partner/records/{type}Sahifalangan ma’lumotnoma (id, value va tur maydonlari). Manzil turlari region, region_district, region_mfy faqat kalit bilan ochiladi, wasyt_uuid ni beradi va sahifada 1000 tagacha yozuv qaytaradi. Sarlavhadagi kompaniya ma’lumotlari — filial, cashbox, cashbox_balance, stock, stock_product, product, product_category, product_brand (20 tagacha yozuv); kompaniya aniqlanmasa — 404, noma’lum tur — 400.
Sarlavhalar (headers)
| Sarlavha | Qiymat | Tavsif |
|---|---|---|
External-System-Secret-Key | {external_system_secret_key} | Tashqi tizim maxfiy kaliti |
Company-Partner-Uuid | {company_partner_uuid} | Kompaniya hamkor UUID si bo‘yicha (yoki Company-Wasyt-Uuid) |
Accept | application/json | Javob JSON da |
Accept-Language | ru | Xabarlar va nomlar tili: ru, uz, oz |
Yo‘l parametrlari
| Parametr | Tavsif |
|---|---|
type | Turi (metod tavsifiga qarang) |
So‘rov parametrlari
| Maydon | Turi | Majburiy | Tavsif |
|---|---|---|---|
filter[id] | integer|array | Yo‘q | Faqat shu ID li yozuvlar (har qanday tur) |
filter[value] | string | Yo‘q | value qismi bo‘yicha qidiruv (har qanday tur) |
filter[region_id] | integer|array | Yo‘q | region_district: shu viloyatlar tumanlari |
filter[district_id] | integer|array | Yo‘q | region_mfy: shu tumanlar mahallalari |
filter[level] | integer | Yo‘q | filial: 1 — faqat bosh kompaniya, boshqa qiymat — faqat filiallar |
filter[company_id] | integer|array | Yo‘q | cashbox, stock: faqat shu kompaniyalarniki |
filter[type] | string|array | Yo‘q | cashbox: kassa turi |
filter[cashbox_id] | integer|array | Yo‘q | cashbox_balance: shu kassalar qoldiqlari |
filter[currency] | string|array | Yo‘q | cashbox_balance: qoldiq valyutasi |
filter[payment_type] | string|array | Yo‘q | cashbox_balance: qoldiq to‘lov turi |
filter[is_available] | boolean | Yo‘q | stock: omborning mavjudligi |
filter[stock_id] | integer|array | Yo‘q | stock_product: shu omborlar qoldiqlari; product: shu omborlarda bor tovarlar |
filter[product_id] | integer|array | Yo‘q | stock_product: shu tovarlar qoldiqlari |
filter[quantity_from] | number | Yo‘q | stock_product: qoldiq shu qiymatdan kam emas |
filter[name_or_barcode] | string | Yo‘q | product: nomi yoki shtrix-kodi qismi bo‘yicha qidiruv |
filter[category_id] | integer|array | Yo‘q | product: shu kategoriyalar tovarlari |
filter[brand_id] | integer|array | Yo‘q | product: shu brendlar tovarlari |
filter[parent_id] | integer|array | Yo‘q | product_category: shu kategoriyalarning ichki kategoriyalari |
show[] | string | Yo‘q | with-deleted — o‘chirilganlar bilan birga, only-deleted — faqat o‘chirilganlar (yumshoq o‘chiriladigan modellar uchun) |
page | integer | Yo‘q | Sahifa raqami, 1 dan |
page-size | integer | Yo‘q | Sahifadagi yozuvlar soni: standart 20; region, region_district, region_mfy uchun — 1000 tagacha, qolganlari uchun — 20 tadan ko‘p emas |
Javob · 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[].value | string | Ma'nosi |
data[].parent_id | integer | Ota-ona |
data[].company_name | string | Kompaniya |
data[].inn | string | INN |
data[].address | string | Manzil |
data[].latitude | null | Kenglik |
data[].longitude | null | Uzunlik |
data[].is_deleted | boolean |
{
"data": [
{
"id": 2,
"value": "Company 1-1",
"parent_id": 1,
"company_name": "Company 1-1",
"inn": "000000002",
"address": "Address 2",
"latitude": null,
"longitude": null,
"is_deleted": false
},
{
"id": 1,
"value": "Company 1",
"parent_id": null,
"company_name": "Company 1",
"inn": "000000001",
"address": "Address 1",
"latitude": null,
"longitude": null,
"is_deleted": false
}
],
"links": {
"first": "https://api.wasyt.uz/external/partner/records/filial?page=1",
"last": "https://api.wasyt.uz/external/partner/records/filial?page=1",
"prev": null,
"next": null
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"links": [],
"path": "https://api.wasyt.uz/external/partner/records/filial",
"per_page": 20,
"to": 2,
"total": 2
}
}
