Katta roʻyxatlar uchun API
Minglab tovarlar uchun MXIK kodlari birdaniga — shtrix-kod, nom, qadoq kodi yoki TIF TN kodi boʻyicha. Saytdagi qidiruvning oʻzi, faqat dasturingiz uchun: hisob tizimi, kassa yoki marketpleys.
Kalitni qanday olish mumkin
Krafta akkaunti orqali — pochta yoki Telegram bilan — kiring va kabinetda kalit yarating. Kalit bepul va darhol ishlaydi.
Kalit olishSoʻrov
Kalitni Authorization sarlavhasida yuboring. API manzili — https://tasnif.krafta.uz/api/v1. Javob doim JSON koʻrinishida.
Authorization: Bearer $TASNIF_KEYQidiruv
GET https://tasnif.krafta.uz/api/v1/search?q=…&limit=10
Saytdagi qidiruv qatori qabul qiladigan hamma narsani qabul qiladi: rus, oʻzbek yoki ingliz tilidagi soʻzlar, shtrix-kod, MXIK kodi, qadoq kodi, TIF TN kodi. limit — nechta natija qaytarish (1 dan 30 gacha, standart 10).
Xuddi shu soʻrov curl, 1C, Python, JavaScript va PHP da. Dastur kalitni TASNIF_KEY muhit oʻzgaruvchisidan oladi, 1C da esa — «Ключ» qatoridan.
curl "https://tasnif.krafta.uz/api/v1/search?q=капучино&limit=1" \
-H "Authorization: Bearer $TASNIF_KEY"Javob
{
"query": "капучино",
"type": "words",
"ordered_by": "ai",
"results": [
{
"ikpu": "10202001010000002",
"name": {
"ru": "Безалкогольные напитки, кофе и кофесодержащие напитки, приготовленные в заведении общественного питания",
"uz": "Alkogolsiz ichimliklar, qahva va qahva tarkibli ichimliklar, umumiy ovqatlanish shaxobchalarida tayyorlangan"
},
"kind": "catering",
"active": true,
"branded": false,
"match": "text",
"exact": false,
"category": {
"code": "10202001010",
"name": { "ru": "Безалкогольные напитки", "uz": "Alkogolsiz ichimliklar" }
},
"invoice_blocked_since": null
}
],
"usage": { "ai_word_lookups_left_today": 999 }
}Butun roʻyxat
POST https://tasnif.krafta.uz/api/v1/batch
Bir martada 1 000 tagacha pozitsiya, javoblar xuddi shu tartibda. limit — har bir pozitsiyaga nechta natija (1 dan 10 gacha, standart 3). Shtrix-kod va kodlarga soniyalarda javob beriladi, soʻzlardan iborat 1 000 pozitsiyali roʻyxat esa taxminan toʻrt daqiqada qayta ishlanadi: HTTP-mijozda kutish vaqtini kamida besh daqiqa qiling.
curl "https://tasnif.krafta.uz/api/v1/batch" \
-H "Authorization: Bearer $TASNIF_KEY" \
-H "Content-Type: application/json" \
-d '{"items": ["4780029010025", "капучино", "2701 19"], "limit": 1}'Javob
{
"results": [
{
"query": "4780029010025",
"type": "barcode",
"ordered_by": "search",
"results": [
{
"ikpu": "04818001001038001",
"name": { "ru": "Бумага туалетная: Viva Classik, сорт серый …", "uz": "Hojatxona qog’ozi: Viva Classik …" },
"kind": "goods",
"active": true,
"branded": true,
"match": "barcode",
"exact": true,
"category": { "code": "04818001001", "name": { "ru": "Бумага туалетная", "uz": "Hojatxona qog’ozi" } },
"invoice_blocked_since": null
}
]
},
{ "query": "капучино", "type": "words", "ordered_by": "ai", "results": [ … ] },
{ "query": "2701 19", "type": "customs_code", "ordered_by": "search", "results": [ … ] }
],
"usage": { "ai_word_lookups_left_today": 998 }
}Kod haqida hammasi
GET https://tasnif.krafta.uz/api/v1/codes/{ikpu}
Rus va oʻzbek tilidagi nomlar, katalogdagi yoʻli, oʻlchov birliklari, shtrix-kod, imtiyoz va chek uchun qadoq kodlari. Oʻchirilgan kod uchun — xuddi shu kategoriyaning amaldagi kodlari replacements maydonida.
curl "https://tasnif.krafta.uz/api/v1/codes/10202001010000002" \
-H "Authorization: Bearer $TASNIF_KEY"Javobda nima bor
- type
- Soʻrov nima edi: words — soʻzlar, barcode — shtrix-kod, code — MXIK kodi, package_code — qadoq kodi, customs_code — TIF TN kodi, code_prefix — kodning boshi.
- ordered_by
- ai — tartibni sunʼiy intellekt tanlagan; search — qidiruvning oddiy tartibi.
- ikpu
- MXIK kodi, 17 ta raqam.
- name.ru, name.uz
- Rus va oʻzbek (lotin) tilidagi nomi.
- kind
- goods — tovar, service — xizmat, catering — muassasada tayyorlangan taom yoki ichimlik.
- active
- false — kod oʻchirilgan, uni chekda koʻrsatib boʻlmaydi.
- branded
- true — aniq brend kodi, false — kategoriyaning umumiy kodi.
- exact
- true — toʻgʻridan-toʻgʻri topilgan: kodning oʻzi, shtrix-kod yoki qadoq kodi boʻyicha. false — eng yaqin moslik, uni tekshirib koʻring.
- match
- Qanday topilgan: text — soʻzlar boʻyicha; ikpu, barcode, package — kod, shtrix-kod, qadoq kodi boʻyicha; tnved — TIF TN tovar pozitsiyasi boʻyicha; same_maker — xuddi shu ishlab chiqaruvchining tovari (shtrix-kodning oʻzi katalogda yoʻq); same_category — xuddi shu kategoriyaning amaldagi kodi.
- category
- Katalog subpozitsiyasi: kodi va nomi.
- invoice_blocked_since
- Bu umumiy kodni elektron hisob-fakturada (markirovkalanadigan tovarlarda chekda ham) koʻrsatib boʻlmaydigan sana (YYYY-MM-DD), aks holda null. Bunday kod javobda shu kategoriyaning batafsil kodidan keyin turadi.
- usage.ai_word_lookups_left_today
- Bugun sunʼiy intellekt tartiblaydigan soʻzli soʻrovlardan qanchasi qoldi.
Cheklovlar
- Raqamlar — shtrix-kodlar, MXIK, qadoq va TIF TN kodlari — cheklovsiz.
- Kuniga birinchi 1 000 ta soʻzli soʻrovni sunʼiy intellekt tartiblaydi. Keyin javoblar qidiruvning oddiy tartibida keladi — xatosiz, faqat sunʼiy intellektsiz. Kun Toshkent vaqti boʻyicha hisoblanadi.
- Daqiqasiga 300 tadan koʻp soʻrov boʻlmasin; 1 000 tagacha pozitsiyali roʻyxat bitta soʻrov hisoblanadi.
- Cheklovlar akkaunt uchun: uning barcha kalitlari ularni baham koʻradi. Qancha qolgani kabinetda koʻrinadi.
- Koʻproq kerak boʻlsa — bizga yozing.
Xatolar
Xato HTTP kodi va quyidagi tana bilan keladi:
{ "error": { "code": "rate_limited", "message": "Too many requests this minute. …" } }- 400 bad_request
- Soʻrovda xato: q yoʻq, qator 200 belgidan uzun yoki roʻyxatda 1 000 tadan ortiq pozitsiya.
- 401 unauthorized
- Kalit yoʻq, notoʻgʻri yoki bekor qilingan.
- 404 not_found
- Bunday kod katalogda yoʻq.
- 429 rate_limited
- Daqiqasiga 300 tadan ortiq soʻrov. Bir daqiqa kuting (Retry-After sarlavhasi).
- 502 server_error
- Bizning tomonda nosozlik. Bir daqiqadan soʻng qayta urinib koʻring.
Maʼlumotlar tasnif.soliq.uz rasmiy katalogidan olinadi va har kuni yangilanadi. Chekni chiqarishdan oldin kodni rasmiy katalog bilan solishtiring.