Boshlash
ARCA Proxy — fiskal chek bosadigan lokal xizmat. Siz unga HTTPS orqali JSON yuborasiz, u JSON bilan javob beradi.
Endpoint
Hamma narsa bitta manzilga ketadi:
U ilovangiz bilan bitta kompyuterda ishlaydi. Login ham, API kalit ham kerak emas.
Alohida /sale yoki /refund manzillari yo'q. Har bir komanda — /service ga POST, qaysi komanda kerakligi esa JSON ichida, command maydonida yoziladi.
So'rov
{
"id": "1",
"method": "send",
"data": {
"command": "Sale",
"payload": { }
}
}| Maydon | Tavsif |
|---|---|
id | Istalgan matn. Sizga o'zgarishsiz qaytariladi. |
method | Komanda bajarish uchun send, ulanishni tekshirish uchun ping. |
data.command | Sale, Refund, PrintXReport, CloseZReport yoki PrintLastReceipt |
data.payload | Komanda ma'lumoti. Hisobotlar uchun kerak emas. |
Javob
Muvaffaqiyat:
{ "id": "1", "success": true, "data": { "saleId": 142 } }Xato:
{ "id": "1", "success": false, "error": "Нет подключения с аппаратом!" }Doim success ni tekshiring. success false bo'lganda ham HTTP status 200 bo'ladi.
Ulanishni tekshirish
curl -X POST https://localhost:26496/service \
-H 'Content-Type: application/json' \
-d '{"id":"1","method":"ping"}'{ "id": "1", "success": true, "data": "pong" }pong — proksi ishlayapti va apparat ulangan degani. Buning o'rniga xato chiqsa, Xatolar ga qarang.
Komandalar
| Komanda | Nima qiladi | Sahifa |
|---|---|---|
Sale | Sotuv cheki bosadi | Sale |
Refund | Oldingi sotuvni qaytaradi | Refund |
PrintXReport | X-hisobot bosadi | Hisobotlar |
CloseZReport | Smenani yopadi, Z-hisobot bosadi | Hisobotlar |
PrintLastReceipt | Oxirgi chekni qayta bosadi | Hisobotlar |
Sertifikat
Proksi HTTPS'ni o'z sertifikati bilan ishlatadi. Sizga berilgan self_rootCA.crt faylini kompyuterning ishonchli sertifikatlariga o'rnating — aks holda har bir so'rov TLS xatosi bilan yiqiladi.
Node.js va Python'da o'z sertifikat do'koni bor:
# Node.js
NODE_EXTRA_CA_CERTS=/path/to/self_rootCA.crt node app.js# Python
requests.post(url, json=body, verify='/path/to/self_rootCA.crt')# curl
curl --cacert /path/to/self_rootCA.crt ...Ikkita narsani eslab qoling
Pul — tiyinda. 12500 bu 125.00 so'm. Doim butun son, hech qachon 125.00 emas.
Bir vaqtda bitta komanda. Keyingi so'rovni yuborishdan oldin javobni kuting, aks holda Не так быстро, ожидайте окончания предыдущей команды! chiqadi.