Kirish

@jx_code/rsimzo-client Yengil JavaScript klienti bo‘lib, RsImzo provayderi bilan o‘zaro aloqa qilish imkonini beradi — foydalanuvchilarni autentifikatsiya qilish, sertifikatlarni olish va EDS kalitlari yordamida hujjatlarni imzolash uchun ishlatiladi.

@jx_code/rsimzo-client

Yengil JavaScript klienti bo‘lib, RsImzo provayderi bilan xavfsiz popup yoki iframe orqali foydalanuvchini autentifikatsiya qilish, sertifikatlarni olish va EDS yordamida kontentni imzolash imkonini beradi.


📦 O‘rnatish

# npm orqali
npm install @jx_code/rsimzo-client

# yoki pnpm orqali
pnpm add @jx_code/rsimzo-client

# yoki yarn orqali
yarn add @jx_code/rsimzo-client

🚀 Boshlash

1. Import va initsializatsiya qilish

import { RsimzoClient } from "@jx_code/rsimzo-client";

const rsimzo = new RsimzoClient({
  publicKey: "YOUR_PUBLIC_KEY",
  locale: "uz", // ixtiyoriy, sukut bo‘yicha 'uz'
});

⚠️ publicKey majburiy parametr hisoblanadi. Agar u berilmasa, konstruktor xato qaytaradi.


🧩 API Ma’lumotnoma

new RsimzoClient(options)

Parametrlar:

ParametrTuriMajburiySukut bo‘yichaTavsif
publicKeystring✅ HaRsImzo tomonidan berilgan public kalit
locale'uz' | 'ru' | 'en'❌ Yo‘q'uz'Popup interfeysi uchun til

Misol:

const rsimzo = new RsimzoClient({ publicKey: "ABC123", locale: "ru" });

getCertificates(options?)

Yashirin iframe orqali RsImzo provayderidan mavjud EDS sertifikatlar ro‘yxatini oladi.

Parametrlar:

ParametrTuriMajburiySukut bo‘yichaTavsif
locale'uz' | 'ru' | 'en'joriy instansiya tiliInterfeys tili

Qaytaradi:

Promise<RsPostMessageResult<{ serialNumber: string; owner: string }[]>>;

Misol:

const result = await rsimzo.getCertificates();
console.log(result);

sign(serialNumber, content, options?)

Berilgan kontentni sertifikat yordamida imzolash uchun popup oynasini ochadi.

Parametrlar:

NomiTuriMajburiySukut bo‘yichaTavsif
serialNumberstring✅ HaImzolashda ishlatiladigan sertifikat raqami
contentstring✅ HaImzolanishi kerak bo‘lgan kontent (masalan, base64)
options.locale'uz' | 'ru' | 'en'❌ Yo‘qinstansiya tiliPopup oynasining tili
options.attachedboolean❌ Yo‘qtrueImzo biriktirilgan yoki yo‘qligini belgilaydi

Qaytaradi:

Promise<RsPostMessageResult<string>>;

Misol:

const signed = await rsimzo.sign("123456789", "Hello world!");
console.log(signed);

auth(options?)

RsImzo orqali foydalanuvchini autentifikatsiya qilishni amalga oshiradi va identifikatsiya tokeni yoki foydalanuvchi ma’lumotlarini qaytaradi.

Parametrlar:

ParametrTuriMajburiySukut bo‘yichaTavsif
locale'uz' | 'ru' | 'en'❌ Yo‘qinstansiya tiliPopup oynasining tili

Qaytaradi:

Promise<RsPostMessageResult<string>>;

Misol:

const authResult = await rsimzo.auth();
console.log(authResult);

⚙️ Xatoliklarni boshqarish

Har bir metod quyidagi tuzilmani qaytaradi:

type RsPostMessageResult<T> = {
  data: T | null;
  error?: {
    errorCode: number;
    errorMessage: string;
  };
};
KodXabarTavsif
13Noto‘g‘ri parolImzolash jarayonida noto‘g‘ri parol kiritilgan
10001Oyna yopildiFoydalanuvchi popup oynasini yopgan
10002Token xatosiToken olish yoki tekshirishda xato
10003Natija yo‘qAmal natijasiz yakunlandi
10004Sertifikat topilmadiMos EDS sertifikati topilmadi
10005Noto‘g‘ri tokenToken tekshiruvidan o‘tmadi
10006Noto‘g‘ri parametrKiritilgan parametrlar xato yoki yetishmayapti
10008TaymautAmal 60 soniyadan oshdi
10009Popup bloklanganBrauzer popup oynasini blokladi

🌐 Integratsiya misoli

import { RsimzoClient } from "@jx_code/rsimzo-client";

const rsimzo = new RsimzoClient({ publicKey: "ABC123", locale: "uz" });

async function run() {
  const auth = await rsimzo.auth();
  if (auth.error) return console.error(auth.error);

  const certs = await rsimzo.getCertificates();
  if (certs.error) return console.error(certs.error);

  const signed = await rsimzo.sign(certs.data[0].serialNumber, "text-to-sign");
  console.log("Imzolangan ma’lumot:", signed);
}

run();