1. Server orqali (ma'lumotlar bilan)
RSID docs
Uzbek
  • English
  • Russian
  • Uzbek
  • Umumiy tushunchalar
  • Web SDK
    • Integratsiya qo'llanmasi
    • Avtorizatsiya (sign-in)
      POST
    • Tokenni yangilash (refresh)
      POST
    • Sessiya yaratish
      POST
    • Foydalanuvchi ma'lumotlarini olish
      GET
  • Mobile SDK
    • Integratsiya qo'llanmasi
    • Avtorizatsiya (sign-in)
      POST
    • Tokenni yangilash (refresh)
      POST
    • Sessiya yaratish
      POST
    • Foydalanuvchi ma'lumotlarini olish
      GET
  • Server orqali (ma'lumotlar bilan)
    • Integratsiya qo'llanmasi
    • Avtorizatsiya (sign-in)
      POST
    • Tokenni yangilash (refresh)
      POST
    • 1-variant — fotosuratni pasport fotosurati bilan taqqoslash
      POST
    • 2-variant — ikki fotosuratni fuqaro ma'lumotlari bilan taqqoslash
      POST
    • 3-variant — ikki fotosuratni fuqaro ma'lumotlarisiz taqqoslash
      POST
    • Natijani olish
      GET
  • Server orqali (ma'lumotlarsiz)
    • Integratsiya qo'llanmasi
    • Avtorizatsiya (sign-in)
      POST
    • Tokenni yangilash (refresh)
      POST
    • 1-variant — fotosuratni pasport fotosurati bilan taqqoslash
      POST
    • 2-variant — ikki fotosuratni fuqaro ma'lumotlari bilan taqqoslash
      POST
    • 3-variant — ikki fotosuratni fuqaro ma'lumotlarisiz taqqoslash
      POST
  • Avtorizatsiya va QR orqali imzolash
    • RS-ID orqali kirish (OAuth2)
    • QR-kod orqali imzolash
    • Kod bo'yicha foydalanuvchi ma'lumotlarini olish
      POST
    • Avtorizatsiya (sign-in)
      POST
    • Tokenni yangilash (refresh)
      POST
    • QR-token yaratish
      POST
    • qr_id bo'yicha QR-token holati
      GET
    • external_id bo'yicha QR-token holati
      GET
  • Schemas
    • ErrorResponse
    • AuthCodeRequest
    • ClientCredentials
    • Token
    • UserInfo
    • TokenResponseEnvelope
    • DocumentInfo
    • Signer
    • StringResponseEnvelope
    • ContactInfo
    • CallbackEvent
    • UserProfile
    • QrTokenCreateRequest
    • PhotoItem
    • Address
    • UserProfileResponseEnvelope
    • AdditionalParams
    • WebSessionCreateRequest
    • QrToken
    • UserProfileResponse
    • CompareFaceRequest
    • UserResponseEnvelope
    • CompareImagesWithInfoRequest
    • QrTokenResponseEnvelope
    • CompareImagesRequest
    • SignCallback
    • ComparisonResult
    • MobileSessionCreateRequest
    • ComparisonResultEnvelope
  1. Server orqali (ma'lumotlar bilan)

Integratsiya qo'llanmasi

Backend API bilan integratsiya#

1. RS-ID Backend API nima#

RS-ID Backend API — server-server integratsiyasi. Sizning backendingiz yuz fotosuratlarini to'g'ridan-to'g'ri RS-ID'ga yuboradi va taqqoslash natijasini, fuqaro ma'lumotlari yuborilganda esa O'zbekiston Respublikasi davlat reyestridan tasdiqlangan fuqaro profilini oladi.
Bu yerda RS-ID sahifasi ham, SDK ham yo'q. Fotosuratlarni o'z ilovangiz yoki saytingizda olasiz, backendingiz esa RS-ID'ga murojaat qiladi. RS-ID:
1.
ixtiyoriy ravishda har bir fotosuratda tirik inson ekanini, foto, ekran yoki niqob emasligini tekshiradi (anti-spufing);
2.
yuzlarni taqqoslaydi: yoki foydalanuvchi fotosuratini davlat reyestridagi pasport fotosurati bilan, yoki siz yuborgan ikkita fotosuratni;
3.
o'xshashlik bahosini, fuqaro ma'lumotlari yuborilganda esa tasdiqlangan fuqaro profilini qaytaradi.

Foydalanish holatlari#

HolatMisol
O'z interfeysingizda identifikatsiyaBank o'z ilovasida selfi oladi va uni reyestrdagi pasport fotosurati bilan solishtiradi.
Filial / kiosk / call-markazdagi tekshiruvlarOperator tizimi filial yoki kioskda olingan fotosuratni yuboradi.
Selfini hujjat fotosurati bilan solishtirishFoydalanuvchi selfisini skanerlangan ID-karta fotosurati bilan taqqoslash.
Ikki fotosuratni solishtirishIkki fotosuratda bir xil odam ekanini tekshirish, masalan yangi selfi va ro'yxatdan o'tishda saqlangan selfi.
Paketli / bek-ofis tekshiruvlariMavjud mijozlarni o'z tizimingizdan qayta tekshirish.

2. Atamalar#

AtamaKim
Mijoz (Client)RS-ID'ni integratsiya qilayotgan kompaniya (siz). RS-ID'da ro'yxatdan o'tgan va Backend API uchun client_id / client_secret olgan. RS-ID'ga faqat mijoz backendi murojaat qiladi.
FoydalanuvchiYuzi tekshirilayotgan inson — sizning mijozingiz, O'zbekiston fuqarosi.
ServerRS-ID serveri: Backend API (<rsid_base_url>).
SessiyaBitta taqqoslash so'rovi. Har bir taqqoslash chaqiruvi yangi sessiya yaratadi va uning session_id (UUID) qiymatini qaytaradi. Natija shu orqali olinadi.
Asl / taqqoslanadigan fotosurat2- va 3-variantlarda taqqoslanadigan ikki fotosurat: foydalanuvchi fotosurati va u bilan solishtiriladigan fotosurat.
JSHSHIR (PINFL)Jismoniy shaxsning shaxsiy identifikatsiya raqami — 14 ta raqam.
Hujjat raqami (id_number)Pasport yoki ID-karta seriyasi va raqami, masalan AA1234567.

3. Integratsiya variantlari#

Nimani taqqoslash kerakligiga qarab variantni tanlang. Uchala variant ham asinxron ishlaydi va session_id qaytaradi; natija har doim 7.6 Natijani olish orqali olinadi.
VariantEndpointNima taqqoslanadiuser_infoNatijada fuqaro profili
1-variantPOST /v1/authentication/async/compareFoydalanuvchining bitta fotosurati ↔ reyestrdagi fuqaroning pasport fotosuratiMajburiyHa
2-variantPOST /v1/authentication/async/compare-imagesMijoz yuborgan ikkita fotosuratMajburiyHa
3-variantPOST /v1/face/async/compare-imagesMijoz yuborgan ikkita fotosuratIshlatilmaydiYo'q — faqat baho
Umumiy tartib:
1.
Backendingiz avtorizatsiyadan o'tadi (7.1).
2.
Variantlardan birini chaqiradi (7.3–7.5).
3.
Agar natija 3 soniya ichida tayyor bo'lsa, javobda code = 0. Aks holda code = -200 (hali ishlanmoqda). Ikkala holatda ham data maydonida session_id qaytariladi.
4.
Backendingiz natijani GET /v1/user/{session_id} orqali oladi (7.6).

4. Integratsiya sxemasi#

integration-flow-backend-api.png

5. Muhitlar#

MuhitAPI bazaviy URL
Stage (test)https://stage.rsid.uz/backend/api
Productionhttps://rsid.uz/backend/api
Stage va production uchun turli client_id / client_secret ishlatiladi. Backend API hisob ma'lumotlari Web va Mobile SDK hisob ma'lumotlaridan farq qiladi — SDK mijozi taqqoslash metodlarini chaqira olmaydi (-1002).

6. Umumiy qoidalar#

Javob formati#

Barcha API javoblari bir xil tuzilishga ega:
{ "data": { }, "code": 0, "message": "Success" }
MaydonTuriTavsif
codeinteger0 — muvaffaqiyat. Boshqa har qanday qiymat — xato yoki holat (xatolar jadvaliga qarang). Faqat HTTP-statusni emas, har doim code ni tekshiring.
messagestringSo'rov tilidagi matn (uz / ru / en). Uni dasturiy tahlil qilmang.
dataanyJavob ma'lumotlari. Xato bo'lganda yo'q.

Sarlavhalar (Headers)#

SarlavhaQiymatQayerda ishlatiladi
Content-Typeapplication/jsonBarcha POST so'rovlar
AuthorizationBearer {access_token}sign-in va refresh dan tashqari barcha so'rovlar
Idempotency-KeyUUID, har bir so'rov uchun yangiTaqqoslash metodlari uchun majburiy (7.3–7.5)
Accept-Languageuz / ru / enIxtiyoriy — message tili
Idempotency-Key. Har bir taqqoslash so'rovi uchun yangi UUID yarating. Agar so'rov 5 daqiqa ichida xuddi shu kalit bilan takrorlansa, RS-ID yangi taqqoslashni ishga tushirmasdan birinchi so'rovning saqlangan javobini qaytaradi — bu tarmoq xatosidan keyin so'rovni xavfsiz takrorlash imkonini beradi. Birinchi so'rov hali bajarilayotganda takrorlansa, HTTP 409 qaytariladi. Kalit yuborilmasa, HTTP 400 qaytariladi.

Fotosuratlar#

Fotosuratlarni data:image/...;base64, prefiksisiz base64 satr ko'rinishida yuboring.
Bitta yuzning aniq, old tomondan olingan fotosuratidan foydalaning. JPEG yoki PNG.
Butun so'rov hajmi 20 MB dan oshmasligi kerak.

7. API tavsifi#

7.1 Avtorizatsiya (Sign in)#

Mijoz hisob ma'lumotlarini kirish tokeniga almashtiradi.
Metod - POST
Endpoint - {base_url}/v1/auth/sign-in — Authorization sarlavhasisiz
Content-Type (sarlavha) - application/json

So'rov tanasi
MaydonTuriMajburiyUzunlik / formatTavsif
client_idstringHaBo'sh emas; raqam bilan boshlanmaydiRS-ID bergan Backend API mijoz identifikatori.
client_secretstringHaBo'sh emasRS-ID bergan mijoz siri.
{
  "client_id": "backend-api-client",
  "client_secret": "s3cr3t-value"
}
Javob
MaydonTuriTavsif
data.access_tokenstring (JWT)Authorization: Bearer sarlavhasi uchun token.
data.token_typestringHar doim Bearer.
data.expires_inintegerTokenning amal qilish muddati, soniyalarda.
data.scopestringBerilgan huquqlar, bo'sh joy bilan ajratilgan.
data.refresh_tokenstring (JWT)Hisob ma'lumotlarini qayta yubormasdan yangi access_token olish uchun token.
codeintegerMuvaffaqiyatda 0.
messagestringNatija matni.
{
  "data": {
    "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
    "token_type": "Bearer",
    "expires_in": 3600,
    "scope": "read write",
    "refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
  },
  "code": 0,
  "message": "Success"
}
Har bir so'rov uchun qayta avtorizatsiya qilmang — access_token muddati tugaguncha undan qayta foydalaning.

7.2 Tokenni yangilash (Refresh token)#

refresh_token orqali qayta avtorizatsiyasiz yangi access_token beradi. access_token muddati tugaganda (expires_in soniyadan keyin) chaqiring.
Metod - POST
Endpoint - {base_url}/v1/auth/refresh?token={refresh_token} — Authorization sarlavhasisiz.
Content-Type (sarlavha) - application/json

Query-parametrlar
MaydonTuriMajburiyUzunlik / formatTavsif
tokenstringHaJWTAvtorizatsiyadan (7.1) yoki oldingi yangilash javobidan olingan refresh_token.
So'rov tanasi
MaydonTuriMajburiyUzunlik / formatTavsif
client_idstringHaBo'sh emas; raqam bilan boshlanmaydiRS-ID bergan Backend API mijoz identifikatori.
client_secretstringHaBo'sh emasRS-ID bergan mijoz siri.
{
  "client_id": "backend-api-client",
  "client_secret": "s3cr3t-value"
}
Javob
MaydonTuriTavsif
data.access_tokenstring (JWT)Authorization: Bearer sarlavhasi uchun yangi token.
data.token_typestringHar doim Bearer.
data.expires_inintegerTokenning amal qilish muddati, soniyalarda.
data.scopestringBerilgan huquqlar, bo'sh joy bilan ajratilgan.
data.refresh_tokenstring (JWT)Keyingi yangilash uchun yangi refresh-token.
codeintegerMuvaffaqiyatda 0.
messagestringNatija matni.
{
  "data": {
    "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
    "token_type": "Bearer",
    "expires_in": 3600,
    "scope": "read write",
    "refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
  },
  "code": 0,
  "message": "Success"
}
Agar refresh-token muddati tugagan yoki yaroqsiz bo'lsa, qayta avtorizatsiyadan o'ting (7.1).

7.3 1-variant — Fotosuratni pasport fotosurati bilan taqqoslash#

Foydalanuvchining bitta fotosuratini davlat reyestridagi fuqaroning pasport fotosurati bilan taqqoslaydi. RS-ID fuqaroni user_info bo'yicha topadi, uning pasport fotosurati va ma'lumotlarini oladi va yuzlarni taqqoslaydi.
Metod - POST
Endpoint - {base_url}/v1/authentication/async/compare
Authorization (sarlavha) - Bearer {access_token}
Idempotency-Key (sarlavha) - {uuid}
Content-Type (sarlavha) - application/json

So'rov tanasi
MaydonTuriMajburiyUzunlik / formatTavsif
photostringHaBase64Foydalanuvchi fotosurati (selfi).
is_spoofing_requiredbooleanYo'qtrue / falseFotosuratni "tiriklik" (anti-spufing) tekshiruvidan o'tkazish. Standart qiymat false. Jonli selfi uchun true tavsiya etiladi.
user_infoobjectHa—Pasport fotosuratini topish uchun fuqaro ma'lumotlari.
user_info.pinflstringShartliAniq 14 ta raqamJSHSHIR. Yoki pinfl, yoki id_number yuboring, ikkalasini emas.
user_info.id_numberstringShartli9 belgi: 2 ta harf + 7 ta raqam, masalan AA1234567Pasport / ID-karta raqami. Yoki pinfl, yoki id_number yuboring, ikkalasini emas.
user_info.birth_datestringuser_info yuborilsa, hadd.MM.yyyyTug'ilgan sana. Foydalanuvchi kamida 16 yoshda bo'lishi kerak.
thresholdnumberYo'q0.0 – 1.0O'tish uchun yuzlar o'xshashligining minimal chegarasi. Standart qiymat 0.5. Quyidagi izohga qarang.
external_idstringYo'q—So'rovni o'z ma'lumotlaringiz bilan bog'lash uchun o'z identifikatoringiz. Tasodifiy uuid tavsiya etiladi.
localestring (enum)Yo'qUZ, RU, ENStandart qiymat UZ.
Chegara (threshold). threshold — taqqoslash muvaffaqiyatli hisoblanishi uchun yuzlar o'xshashligining minimal bahosi (0.0 dan 1.0 gacha). Parametr yuborilmasa, standart qiymat 0.5 ishlatiladi. Agar o'zingiz yuborsangiz, 0.5 dan yuqori qiymat tavsiya etiladi. Yuqori aniqlikdagi (qat'iy) identifikatsiya uchun 0.7 dan yuqori qiymat yuboring. Qiymat qanchalik yuqori bo'lsa, tekshiruv shunchalik qat'iy va boshqa odamning o'tib ketish xavfi past bo'ladi, lekin haqiqiy foydalanuvchilar tekshiruvdan tez-tez o'tolmasligi mumkin.
So'rov namunasi
{
  "photo": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8U...",
  "is_spoofing_required": true,
  "user_info": {
    "pinfl": "12345678901234",
    "birth_date": "01.01.1990"
  },
  "threshold": 0.7,
  "external_id": "9b1d2c7e-4f3a-4b8e-a1c5-6d2f0e9a7b31",
  "locale": "UZ"
}
JSHSHIR o'rniga hujjat raqami bilan:
"user_info": { "id_number": "AA1234567", "birth_date": "01.01.1990" }
Javob
MaydonTuriUzunlik / formatTavsif
datastringUUID, 36 belgiUshbu taqqoslashning session_id qiymati. Uni 7.6 da ishlating.
codeinteger0 — yakunlandi; -200 — hali ishlanmoqda. Boshqa har qanday qiymat — xato.
messagestringNatija matni.
{
  "data": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "code": 0,
  "message": "Success"
}
Hali ishlanmoqda (natija 7.6 da mavjud bo'ladi):
{
  "data": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
  "code": -200,
  "message": "Waiting for async process"
}
Javob — bu hukm emas. code = 0 taqqoslash yakunlanganini bildiradi, yuzlar mos kelgani yoki fotosurat jonli ekanini emas. Natijani har doim 7.6 orqali oling va comparison_value hamda note ni tekshiring.
Xatolar
KodSabab
-1000Noto'g'ri so'rov — masalan, user_info yo'q, pinfl / id_number ikkalasi ham yuborilgan yoki hech biri yuborilmagan; fuqaro reyestrda topilmadi.
-1002Hisob ma'lumotlari Backend API mijoziga tegishli emas.
-1024id_number formati noto'g'ri.
-1025pinfl formati noto'g'ri.
-1026birth_date yuborilmagan.
-1052threshold 0–1 oralig'idan tashqarida.
-1090Foydalanuvchi 16 yoshga to'lmagan.
-2001Yuzni aniqlash servisida xato.
400Maydon validatsiyasi xatosi (masalan, photo cannot be blank) yoki Idempotency-Key sarlavhasi yuborilmagan.
409 (HTTP)Xuddi shu Idempotency-Key bilan so'rov hali bajarilmoqda.

7.4 2-variant — Ikki fotosuratni fuqaro ma'lumotlari bilan taqqoslash#

Mijoz yuborgan ikkita fotosuratni o'zaro taqqoslaydi. Fuqaro user_info bo'yicha aniqlanadi, shuning uchun natijada reyestrdan tasdiqlangan fuqaro profili ham bo'ladi.
Metod - POST
Endpoint - {base_url}/v1/authentication/async/compare-images
Authorization (sarlavha) - Bearer {access_token}
Idempotency-Key (sarlavha) - {uuid}
Content-Type (sarlavha) - application/json

So'rov tanasi
MaydonTuriMajburiyUzunlik / formatTavsif
original_photoobjectHa—Birinchi fotosurat, masalan foydalanuvchining jonli selfisi.
original_photo.photostringHaBase64Fotosurat ma'lumotlari.
original_photo.is_spoofing_requiredbooleanYo'qtrue / falseUshbu fotosuratni "tiriklik" tekshiruvidan o'tkazish. Standart qiymat false. Jonli selfi uchun true tavsiya etiladi.
original_photo.orderintegerYo'q—Fotosurat tartib raqami.
reference_photoobjectHa—Taqqoslash uchun ikkinchi fotosurat, masalan hujjat fotosurati yoki saqlangan selfi.
reference_photo.photostringHaBase64Fotosurat ma'lumotlari.
reference_photo.is_spoofing_requiredbooleanYo'qtrue / falseUshbu fotosuratni "tiriklik" tekshiruvidan o'tkazish. Standart qiymat false. Hujjat fotosurati uchun false qoldiring.
reference_photo.orderintegerYo'q—Fotosurat tartib raqami.
user_infoobjectHa—Fuqaro ma'lumotlari. Qoidalar 7.3 dagi bilan bir xil.
user_info.pinflstringShartliAniq 14 ta raqamJSHSHIR. Yoki pinfl, yoki id_number yuboring.
user_info.id_numberstringShartli9 belgi: 2 ta harf + 7 ta raqamPasport / ID-karta raqami.
user_info.birth_datestringuser_info yuborilsa, hadd.MM.yyyyTug'ilgan sana. Foydalanuvchi kamida 16 yoshda bo'lishi kerak.
thresholdnumberYo'q0.0 – 1.0Standart qiymat 0.5. 0.5 dan yuqori, qat'iy taqqoslash uchun 0.7 dan yuqori tavsiya etiladi.
external_idstringYo'q—O'z identifikatoringiz. Tasodifiy uuid tavsiya etiladi.
localestring (enum)Yo'qUZ, RU, ENStandart qiymat UZ.
So'rov namunasi
{
  "original_photo": {
    "order": 1,
    "is_spoofing_required": true,
    "photo": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8U..."
  },
  "reference_photo": {
    "order": 2,
    "is_spoofing_required": false,
    "photo": "iVBORw0KGgoAAAANSUhEUgAAAZAAAAGQCAYAAACAvzbMAAAACXBIWXMAAAsTAAALEwEAmpwY..."
  },
  "user_info": {
    "pinfl": "12345678901234",
    "birth_date": "01.01.1990"
  },
  "threshold": 0.7,
  "external_id": "c4e8a1f2-7b3d-4e6a-9f0c-2b5d8e1a4c77"
}
Javob — 7.3 dagi kabi: data = session_id, code = 0 (yakunlandi) yoki -200 (hali ishlanmoqda). Natijani 7.6 orqali oling.
{
  "data": "a1b2c3d4-5e6f-4a7b-8c9d-0e1f2a3b4c5d",
  "code": 0,
  "message": "Success"
}
Xatolar — 7.3 dagi kabi, qo'shimcha ravishda:
KodSabab
400original_photo yoki reference_photo yuborilmagan (original photo should be exist, reference photo should be exist).

7.5 3-variant — Ikki fotosuratni fuqaro ma'lumotlarisiz taqqoslash#

Mijoz yuborgan ikkita fotosuratni hech qanday fuqaro ma'lumotlarisiz taqqoslaydi. Reyestrga murojaat qilinmaydi, shuning uchun natijada faqat o'xshashlik bahosi bo'ladi — fuqaro profili bo'lmaydi.
Metod - POST
Endpoint - {base_url}/v1/face/async/compare-images
Authorization (sarlavha) - Bearer {access_token}
Idempotency-Key (sarlavha) - {uuid}
Content-Type (sarlavha) - application/json

So'rov tanasi
MaydonTuriMajburiyUzunlik / formatTavsif
original_photoobjectHa—Birinchi fotosurat.
original_photo.photostringHaBase64Fotosurat ma'lumotlari.
original_photo.is_spoofing_requiredbooleanYo'qtrue / falseUshbu fotosuratni "tiriklik" tekshiruvidan o'tkazish. Standart qiymat false.
original_photo.orderintegerYo'q—Fotosurat tartib raqami.
reference_photoobjectHa—Ikkinchi fotosurat.
reference_photo.photostringHaBase64Fotosurat ma'lumotlari.
reference_photo.is_spoofing_requiredbooleanYo'qtrue / falseUshbu fotosuratni "tiriklik" tekshiruvidan o'tkazish. Standart qiymat false.
reference_photo.orderintegerYo'q—Fotosurat tartib raqami.
thresholdnumberYo'q0.0 – 1.0Standart qiymat 0.5. 0.5 dan yuqori, qat'iy taqqoslash uchun 0.7 dan yuqori tavsiya etiladi.
external_idstringYo'q—O'z identifikatoringiz. Tasodifiy uuid tavsiya etiladi.
localestring (enum)Yo'qUZ, RU, ENStandart qiymat UZ.
So'rov namunasi
{
  "original_photo": {
    "order": 1,
    "is_spoofing_required": true,
    "photo": "/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8U..."
  },
  "reference_photo": {
    "order": 2,
    "is_spoofing_required": false,
    "photo": "/9j/4AAQSkZJRgABAQEASABIAAD/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODww..."
  },
  "threshold": 0.7,
  "external_id": "e2a7c9d4-1b6f-4a3e-8c5d-7f0b2e9a6d18"
}
Javob — 7.3 dagi kabi: data = session_id, code = 0 (yakunlandi) yoki -200 (hali ishlanmoqda). Natijani 7.6 orqali oling.
{
  "data": "b7c2e1f0-9a8d-4c6b-b5e4-3d2c1b0a9f8e",
  "code": 0,
  "message": "Success"
}
Xatolar
KodSabab
-1002Hisob ma'lumotlari Backend API mijoziga tegishli emas.
-1052threshold 0–1 oralig'idan tashqarida.
-2001Yuzni aniqlash servisida xato.
400Fotosurat yuborilmagan yoki base64 formatida emas, yoxud Idempotency-Key sarlavhasi yuborilmagan.
409 (HTTP)Xuddi shu Idempotency-Key bilan so'rov hali bajarilmoqda.

7.6 Natijani olish#

Mijoz backendi taqqoslash natijasini uning session_id qiymati bo'yicha oladi — uchala variant uchun ham.
Metod - GET
Endpoint - {base_url}/v1/user/{session_id}
Authorization (sarlavha) - Bearer {access_token}

Yo'l parametrlari
MaydonTuriMajburiyUzunlik / formatTavsif
session_idstringHaUUID, 36 belgiTaqqoslash javobidagi data (7.3–7.5).
Natijani qanday o'qish kerak
MaydonMa'nosi
comparison_valueYuzlar o'xshashligi bahosi, 0–1. Uni o'z threshold qiymatingiz bilan solishtiring.
noteToza o'tganda bo'sh. Aks holda sabab ko'rsatiladi — masalan Spoofed file detected ("tiriklik" tasdiqlanmadi) yoki Face match failed (baho chegaradan past).
profileTasdiqlangan fuqaro profili. Faqat 1- va 2-variantlar uchun va faqat comparison_value ≥ threshold bo'lganda qaytariladi. 3-variant uchun hech qachon qaytarilmaydi.
O'tish qoidasi. Tekshiruvni faqat comparison_value ≥ sizning threshold qiymatingiz va note bo'sh bo'lganda o'tgan deb hisoblang. is_spoofing_required: true bo'lganda soxta fotosurat taqqoslash metodida xato qaytarmaydi — u shu yerda, note maydonida ko'rsatiladi.
Javob
MaydonTuriTavsif
data.session_idstringSessiya identifikatori.
data.comparison_valuenumberYuzlar o'xshashligi bahosi, 0–1.
data.notestringMuvaffaqiyatsizlik sababi, agar bo'lsa.
data.profile.user_info.first_namestringIsm.
data.profile.user_info.last_namestringFamiliya.
data.profile.user_info.middle_namestringOtasining ismi.
data.profile.user_info.pinflstringJSHSHIR, 14 ta raqam.
data.profile.user_info.genderstringJinsi.
data.profile.user_info.birth_datestringyyyy-MM-dd.
data.profile.user_info.birth_placestringTug'ilgan joyi.
data.profile.user_info.birth_countrystringTug'ilgan mamlakati.
data.profile.user_info.nationalitystringMillati.
data.profile.user_info.citizenshipstringFuqaroligi.
data.profile.document_info.documentstringHujjat seriyasi va raqami.
data.profile.document_info.typestringHujjat turi.
data.profile.document_info.issued_bystringKim tomonidan berilgan.
data.profile.document_info.issued_atstringBerilgan sana, yyyy-MM-dd.
data.profile.document_info.expiry_atstringAmal qilish muddati, yyyy-MM-dd.
data.profile.permanent_addressobjectcountry, country_id, region_id, district_id, address.
data.profile.temporary_addressobjectnull bo'lishi mumkin.
Javob namunalari
1- / 2-variant — o'tdi
{
  "data": {
    "session_id": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
    "comparison_value": 0.93,
    "profile": {
      "user_info": {
        "first_name": "ALISHER",
        "last_name": "KARIMOV",
        "middle_name": "BAXTIYOROVICH",
        "pinfl": "12345678901234",
        "gender": "MALE",
        "birth_date": "1990-01-01",
        "birth_place": "TOSHKENT",
        "birth_country": "UZBEKISTAN",
        "nationality": "UZBEK",
        "citizenship": "UZBEKISTAN"
      },
      "document_info": {
        "document": "AA1234567",
        "type": "PASSPORT",
        "issued_by": "IIV 26283",
        "issued_at": "2018-05-10",
        "expiry_at": "2028-05-09"
      },
      "contact_info": {},
      "permanent_address": {
        "country": "UZBEKISTAN",
        "country_id": 182,
        "region_id": 26,
        "district_id": 2603,
        "address": "..."
      },
      "temporary_address": null
    }
  },
  "code": 0,
  "message": "Success"
}
3-variant — o'tdi
Yuz mos kelmadi
Soxtalik aniqlandi
Xatolar
KodSabab
-1002Sessiya boshqa mijozga tegishli.
-1005Taqqoslash muvaffaqiyatli yakunlanmadi. Agar taqqoslash metodi hozirgina -200 qaytargan bo'lsa, 1–2 soniya kuting va so'rovni takrorlang.
-1027Sessiya muddati tugagan — natijani taqqoslashdan so'ng darhol so'rang.
-1029Sessiya topilmadi.

8. Xato kodlari#

KodNomiMa'nosi
0SUCCESSMuvaffaqiyat.
-5BAD_CREDENTIALSHisob ma'lumotlari noto'g'ri yoki token foydalanuvchisi topilmadi.
-9SYSTEM_ERRORKutilmagan server xatosi.
-200WAITING_ASYNC_PROCESSHali ishlanmoqda — natijani 7.6 orqali oling.
-1000BAD_REQUESTNoto'g'ri so'rov.
-1002CLIENT_NOT_PERMITTEDBu mijoz uchun ruxsat yo'q.
-1005UNSUCCESS_JOBTaqqoslash muvaffaqiyatli yakunlanmadi.
-1024INVALID_ID_NUMBERHujjat raqami noto'g'ri.
-1025INVALID_PINFLJSHSHIR noto'g'ri.
-1026BIRTH_DATE_NOT_NULLTug'ilgan sana talab qilinadi.
-1027SESSION_EXPIREDSessiya muddati tugagan.
-1029JOB_SESSION_NOT_FOUNDSessiya topilmadi.
-1052INVALID_THRESHOLD_LIMITthreshold 0–1 oralig'idan tashqarida.
-1090USER_AGE_OLDER_THAN_16Foydalanuvchi kamida 16 yoshda bo'lishi kerak.
-2001AI_ERRORYuzni aniqlash servisida xato.
Modified at 2026-11-10 09:21:35
Previous
Foydalanuvchi ma'lumotlarini olish
Next
Avtorizatsiya (sign-in)
Built with