RS-ID Backend API — server-server integratsiyasi. Sizning backendingiz yuz fotosuratlarini to'g'ridan-to'g'ri RS-ID'ga yuboradi va taqqoslash natijasini oladi. Zarur bo'lganda fuqaro ma'lumotlari O'zbekiston Respublikasi davlat reyestri bo'yicha tekshiriladi.
Ma'lumotlarsiz. Ushbu integratsiyada RS-ID faqat taqqoslash natijasini — o'xshashlik bahosi va muvaffaqiyatsizlik sababini qaytaradi. Identifikatsiyadan so'ng fuqaroning shaxsiy ma'lumotlari (F.I.Sh., hujjat, manzil) qaytarilmaydi.
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 va, agar bo'lsa, muvaffaqiyatsizlik sababini qaytaradi. Fuqaroning shaxsiy ma'lumotlari qaytarilmaydi.
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.
Foydalanuvchi
Yuzi tekshirilayotgan inson — sizning mijozingiz, O'zbekiston fuqarosi.
Server
RS-ID serveri: Backend API (<rsid_base_url>).
Sessiya
Bitta taqqoslash so'rovi. Har bir taqqoslash chaqiruvi yangi sessiya yaratadi va uning session_id (UUID) qiymatini qaytaradi. Natija shu orqali olinadi.
Asl / taqqoslanadigan fotosurat
2- 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.
Nimani taqqoslash kerakligiga qarab variantni tanlang. Uchala variant ham asinxron ishlaydi va session_id qaytaradi; natija har doim 7.6 Natijani olish orqali olinadi.
Variant
Endpoint
Nima taqqoslanadi
user_info
1-variant
POST /v1/authentication/async/compare
Foydalanuvchining bitta fotosurati ↔ reyestrdagi fuqaroning pasport fotosurati
Majburiy
2-variant
POST /v1/authentication/async/compare-images
Mijoz yuborgan ikkita fotosurat
Majburiy
3-variant
POST /v1/face/async/compare-images
Mijoz yuborgan ikkita fotosurat
Ishlatilmaydi
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).
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).
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.
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
Maydon
Turi
Majburiy
Uzunlik / format
Tavsif
token
string
Ha
JWT
Avtorizatsiyadan (7.1) yoki oldingi yangilash javobidan olingan refresh_token.
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
Maydon
Turi
Majburiy
Uzunlik / format
Tavsif
photo
string
Ha
Base64
Foydalanuvchi fotosurati (selfi).
is_spoofing_required
boolean
Yo'q
true / false
Fotosuratni "tiriklik" (anti-spufing) tekshiruvidan o'tkazish. Standart qiymat false. Jonli selfi uchun true tavsiya etiladi.
user_info
object
Ha
—
Pasport fotosuratini topish uchun fuqaro ma'lumotlari.
user_info.pinfl
string
Shartli
Aniq 14 ta raqam
JSHSHIR. Yokipinfl, yokiid_number yuboring, ikkalasini emas.
user_info.id_number
string
Shartli
9 belgi: 2 ta harf + 7 ta raqam, masalan AA1234567
Pasport / ID-karta raqami. Yokipinfl, yokiid_number yuboring, ikkalasini emas.
user_info.birth_date
string
user_info yuborilsa, ha
dd.MM.yyyy
Tug'ilgan sana. Foydalanuvchi kamida 16 yoshda bo'lishi kerak.
threshold
number
Yo'q
0.0 – 1.0
O'tish uchun yuzlar o'xshashligining minimal chegarasi. Standart qiymat 0.5. Quyidagi izohga qarang.
external_id
string
Yo'q
—
So'rovni o'z ma'lumotlaringiz bilan bog'lash uchun o'z identifikatoringiz. Tasodifiy uuid tavsiya etiladi.
locale
string (enum)
Yo'q
UZ, RU, EN
Standart 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.
{"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
Kod
Sabab
-1000
Noto'g'ri so'rov — masalan, user_info yo'q, pinfl / id_number ikkalasi ham yuborilgan yoki hech biri yuborilmagan; fuqaro reyestrda topilmadi.
-1002
Hisob ma'lumotlari Backend API mijoziga tegishli emas.
-1024
id_number formati noto'g'ri.
-1025
pinfl formati noto'g'ri.
-1026
birth_date yuborilmagan.
-1052
threshold 0–1 oralig'idan tashqarida.
-1090
Foydalanuvchi 16 yoshga to'lmagan.
-2001
Yuzni aniqlash servisida xato.
400
Maydon 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.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
Maydon
Turi
Majburiy
Uzunlik / format
Tavsif
original_photo
object
Ha
—
Birinchi fotosurat, masalan foydalanuvchining jonli selfisi.
original_photo.photo
string
Ha
Base64
Fotosurat ma'lumotlari.
original_photo.is_spoofing_required
boolean
Yo'q
true / false
Ushbu fotosuratni "tiriklik" tekshiruvidan o'tkazish. Standart qiymat false. Jonli selfi uchun true tavsiya etiladi.
original_photo.order
integer
Yo'q
—
Fotosurat tartib raqami.
reference_photo
object
Ha
—
Taqqoslash uchun ikkinchi fotosurat, masalan hujjat fotosurati yoki saqlangan selfi.
reference_photo.photo
string
Ha
Base64
Fotosurat ma'lumotlari.
reference_photo.is_spoofing_required
boolean
Yo'q
true / false
Ushbu fotosuratni "tiriklik" tekshiruvidan o'tkazish. Standart qiymat false. Hujjat fotosurati uchun false qoldiring.
reference_photo.order
integer
Yo'q
—
Fotosurat tartib raqami.
user_info
object
Ha
—
Fuqaro ma'lumotlari. Qoidalar 7.3 dagi bilan bir xil.
user_info.pinfl
string
Shartli
Aniq 14 ta raqam
JSHSHIR. Yokipinfl, yokiid_number yuboring.
user_info.id_number
string
Shartli
9 belgi: 2 ta harf + 7 ta raqam
Pasport / ID-karta raqami.
user_info.birth_date
string
user_info yuborilsa, ha
dd.MM.yyyy
Tug'ilgan sana. Foydalanuvchi kamida 16 yoshda bo'lishi kerak.
threshold
number
Yo'q
0.0 – 1.0
Standart qiymat 0.5. 0.5 dan yuqori, qat'iy taqqoslash uchun 0.7 dan yuqori tavsiya etiladi.
external_id
string
Yo'q
—
O'z identifikatoringiz. Tasodifiy uuid tavsiya etiladi.
original_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.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
Maydon
Turi
Majburiy
Uzunlik / format
Tavsif
original_photo
object
Ha
—
Birinchi fotosurat.
original_photo.photo
string
Ha
Base64
Fotosurat ma'lumotlari.
original_photo.is_spoofing_required
boolean
Yo'q
true / false
Ushbu fotosuratni "tiriklik" tekshiruvidan o'tkazish. Standart qiymat false.
original_photo.order
integer
Yo'q
—
Fotosurat tartib raqami.
reference_photo
object
Ha
—
Ikkinchi fotosurat.
reference_photo.photo
string
Ha
Base64
Fotosurat ma'lumotlari.
reference_photo.is_spoofing_required
boolean
Yo'q
true / false
Ushbu fotosuratni "tiriklik" tekshiruvidan o'tkazish. Standart qiymat false.
reference_photo.order
integer
Yo'q
—
Fotosurat tartib raqami.
threshold
number
Yo'q
0.0 – 1.0
Standart qiymat 0.5. 0.5 dan yuqori, qat'iy taqqoslash uchun 0.7 dan yuqori tavsiya etiladi.
external_id
string
Yo'q
—
O'z identifikatoringiz. Tasodifiy uuid tavsiya etiladi.
Mijoz backendi taqqoslash natijasini uning session_id qiymati bo'yicha oladi — uchala variant uchun ham. Natijada faqat session_id, comparison_value va note bo'ladi; fuqaroning shaxsiy ma'lumotlari qaytarilmaydi.Metod - GET Endpoint - {base_url}/v1/user/{session_id} Authorization (sarlavha) - Bearer {access_token} Yo'l parametrlari
Maydon
Turi
Majburiy
Uzunlik / format
Tavsif
session_id
string
Ha
UUID, 36 belgi
Taqqoslash javobidagi data (7.3–7.5).
Natijani qanday o'qish kerak
Maydon
Ma'nosi
comparison_value
Yuzlar o'xshashligi bahosi, 0–1. Uni o'z threshold qiymatingiz bilan solishtiring.
note
Toza o'tganda bo'sh. Aks holda sabab ko'rsatiladi — masalan Spoofed file detected ("tiriklik" tasdiqlanmadi) yoki Face match failed (baho chegaradan past).
O'tish qoidasi. Tekshiruvni faqat comparison_value ≥ sizning threshold qiymatingiz vanote 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.