4.8. API interfeysi

REGOS: VCR foydalanuvchi funksiyalari bilan ishlash uchun API interfeysini taqdim etadi.

O‘zaro ishlash tartibi

REGOS: VCR bilan POST metodidagi HTTP so‘rovlari orqali ishlanadi.

Har bir so‘rov quyidagi majburiy sarlavhani (Header) o‘z ichiga olishi kerak:

Content-Type: application/json;charset=utf-8

So‘rov tanasi (Body) quyidagi tuzilishga ega:

{
    "id":1,
    "jsonrpc":"2.0",
    "method":"ZReport.GetInfo",
    "params":null,
    "auth":"a2Fzc2E6a2FzMTIzNDU2"
}

bu yerda:

  • "id" - API so‘rovi ID si;
  • "method" - API interfeysi orqali chaqiriladigan metod nomi;
  • "params" - API metodini bajarish uchun zarur qo‘shimcha ma’lumotlarni o‘z ichiga oladigan obyekt;
  • "auth" - Base64(Login:Password): Base64 formatida kodlangan login:parol. API interfeysidan faqat Kassir foydalanuvchisi foydalanishi mumkin.

Metod to‘g‘ri bajarilganda server 200 javob kodini qaytaradi. Boshqa javob kodlari server tomonidagi xatolarda yuzaga kelishi mumkin.

Javob tanasi (Body) quyidagi tuzilishga ega:

{
    "id":1,
    "ok":true,
    "result": {},
    "jsonrpc":"2.0"
}

bu yerda:

  • id - so‘rov ID si;
  • ok - bajarilish holati (true - muvaffaqiyatli, false - xato);
  • result - javob obyekti. ok=true bo‘lsa, metod natijasini, ok=false bo‘lsa, xato tavsifi obyektini o‘z ichiga oladi.

Avtorizatsiyadan o‘tgan metod bajarilishidan oldin kassaning umumiy bloklanish holatlari va tizimda sozlangan printer mavjudligi tekshiriladi. Sozlangan printer topilmasa, 704016 qaytariladi; bu axborot metodlariga ham tegishli. Haqiqiy chop etish va uning natijasi muayyan metod kontraktida belgilanadi.

Metod nomida katta-kichik harflar farqlanmaydi. Noma’lum metod 703000 xatosi bilan rad etiladi. Javobni qayta ishlashda xabar matnini emas, ok va result.error kodini tekshiring.

FDS bilan ishlaganda fiskal modul xato holatlari 704000 sifatida qaytariladi; sinxronlashning maxsus cheklovlari 704001 va 704002 kodlarini saqlaydi. To‘liq ro‘yxat xatolar ro‘yxatida keltirilgan. Chek ro‘yxatdan o‘tkazilgani tasdiqlanmasa, sababni bartaraf etib, chek kodi va tarkibini o‘zgartirmasdan dastlabki so‘rovni takrorlang.

REGOS: VCR virtual kassasi API sini sinash uchun quyidagi Endpoint dan foydalanish mumkin: http://vcr-test.regos.uz.
Sinov foydalanuvchisi ma’lumotlari so‘rov bo‘yicha alohida beriladi.
Sinov muhitida metodlarni tekshirish va POS printerda chop etilgan natijani ko‘rish uchun onlayn veb-kamera ishlaydi.

Keyingi so‘rovni faqat oldingi so‘rovga javob olgandan keyin yuboring.

Kassa boshqa operatsiyani bajarayotgan bo‘lsa, 704042 xatosi qaytariladi. Xatoni olgandan keyin so‘rovni takrorlash mumkin.

Javoblardagi fiskal rekvizitlar

Receipt.Sale, Receipt.Refund, Receipt.FullRefund va Receipt.GetInfo da QRCodeURL, ReceiptNo va FiscalSign maydonlari *** satrini o‘z ichiga oladi. Maydonlar olib tashlanmaydi; Id, Code, Amount, TerminalID va DateTime haqiqiy qiymatlarni saqlaydi. Chekni keyinroq olish yoki dublikatini chop etish uchun uning Id sidan foydalaning.

Qaytarishda niqoblangan qiymatlarni dastlabki chek rekvizitlari o‘rnida yuborish mumkin emas. Receipt.Refund va Receipt.FullRefund uchun haqiqiy rekvizitlardan, masalan, qog‘oz chekdan o‘qilgan ma’lumotlardan foydalaning. To‘liq rekvizitlar va ishlaydigan QR-kod qog‘oz chekda chop etiladi.