Kassa dasturlari bilan tayyor integratsiyalar

Shtrixli M. Kassir 5

Shtrixli M. Kassir 5

ОАЗИС ИТ. Владимир.
+7(938)888-71-23

Меркурий-POS

Mercury-erp

Александр Татарченко
+7(917)136-00-20

Chegirma dasturini kassa dasturi bilan birlashtirish uchun texnik topshiriq

1. Umumiy tavsif.


Chegirma-telegramdagi chegirma xizmati. Kassir xaridor tomonidan taqdim etilgan shtrix-kod skaneri bilan QR kodini o`qiydi. Dastur ushbu qr kodidagi JSON kodini ochadi.

Shundan so`ng, kassa dasturi API so`rovlarini chegirma sabotaj serveriga yuboradi va mijoz haqida ma`lumot va uning to`plangan bonuslar balansini oladi.

Shundan so`ng, kassir tanlaydi: mijozga bonuslarni yangi xariddan hisoblash yoki mavjudlarini hisobdan chiqarish va chegirma qilish.

Kassa dasturi kassir tanloviga qarab API-ga mos keladigan chegirma xususiyatlarini chaqiradi.


2. Modulni sozlash.


Integratsiya moduli sozlamalarida Integer kabi ikkita doimiy mavjud. Do`kon kodi va maxfiy kod. maxfiy kodni yulduzlar ostida yashirish yaxshiroqdir, shunda kassir uni tasodifan ko`ra olmaydi.


3. Xaridorning QR kodini skanerlash.


QR kodini skaner bilan skanerlaganingizdan so`ng, siz quyidagi turdagi JSONNI olasiz:


{"type":"Skidkabot","vendor":4,"client":83532824,"secret":31766}


Yoki xato, kod va tavsif bilan.


Klaviaturani taqlid qiluvchi skanerlar uchun muhim eslatma. Skanerlashdan oldin kompyuterda inglizcha klaviatura tartibi o`rnatilganligiga ishonch hosil qiling! Aks holda, JSON o`rniga bema`nilik oling.


Avvalo, bu sizning mijozingiz ekanligiga ishonch hosil qilishingiz kerak. Buning uchun vendor parametrini sozlamalardan do`kon kodi bilan tekshiring. Agar ular mos keladigan bo`lsa, unda mijozning balansi to`g`risida ma`lumot so`rashga o`ting.


Shuni yodda tutish kerakki, QR kodini yaratish muddati bir kun. Bu mijozlarni tasodifiy nusxalashdan himoya qilish uchun. Bir kundan keyin mijoz yangi QR kodini yaratishi kerak. Shu bilan birga, secret o`zgaradi.


4. Xaridor haqida ma`lumot so`rash.


Chegirma kartasi balansini olish uchun quyidagi manzilga yuboring https://skidkabot.ru/api_get_balance.php POST so`rovi

POST so`rov parametrlari:

Do`kon kodi. Parametr nomi "fk_vendor". - Sozlamalardan

Maxfiy do`kon kodi. Parametr nomi "vendor_secret". - Sozlamalardan

Qabul qiluvchining raqamlari. Parametr nomi "fk_client". - O`qilgan QR kodidan

QR kodini tekshirish raqami. Parametr nomi "qr_secret". - O`qilgan QR kodidan


Bunga javoban siz quyidagi turdagi JSON yoki xato olasiz.

{ "code": 0, "first_name": "Александр", "last_name": "Татарченко", "balance": 2365, "p_plus": 2, "p_minus": 10 }


5. Dialog oynasini ko`rsatish.


Biz kassa ekranida mijozning ismi, uning balansi, shuningdek sizning ichki algoritmlaringiz bo`yicha hisoblangan hisoblash yoki hisobdan chiqarish uchun ballar yoki chegirma Sabotining shaxsiy hisob qaydnomasida ko`rsatilgan p_plus va p_minus foizlaridan foydalangan holda ma`lumotlarni ko`rsatamiz.

(Agar siz hisob tizimingizda qo`shimcha mijozlar tasniflagichini saqlamoqchi bo`lsangiz, unda noyob mijoz raqamini skanerlangan QR kodidan olish mumkin)

Va ikkita tugma. "Bonuslarni hisoblash " va "bonuslarni hisobdan chiqarish"


Boshqa mijozlar tajribasidan tavsiya: agar bonuslarni hisobdan chiqarishda hisobdan chiqarilgan bonuslar miqdori chek miqdoridan kam bo`lsa, ya`ni.mijoz sotib olishning bir qismini pul bilan to`lashi kerak, siz pul bilan to`langan to`lov qismiga bonuslarni hisoblashingiz kerak.


6. Bonuslarni hisoblash funktsiyasi.


Bonuslarni hisoblash uchun mijozga post so`rovini yuboring https://skidkabot.ru/api_plus_balance.php

POST so`rov parametrlari:

Do`kon kodi. Parametr nomi "fk_vendor". - Sozlamalardan

Maxfiy do`kon kodi. Parametr nomi "vendor_secret". - Sozlamalardan

Qabul qiluvchining raqamlari. Parametr nomi "fk_client". - O`qilgan QR kodidan

QR kodini tekshirish raqami. Parametr nomi "qr_secret". - O`qilgan QR kodidan

kassa - agar bir nechta do`konlar onlayn bo`lsa, qo`shimcha tahlil qilish uchun kassa raqami (int).

summa - hisoblangan bonuslar miqdori


Bunga javoban siz yangi mijoz balansini yoki xato xabarini olasiz

{ "code": 0, "first_name": "Александр", "last_name": "Татарченко", "balance": 2375 }


7. Bonuslarni hisobdan chiqarish funktsiyasi.


Mijozning bonuslarini hisobdan chiqarish uchun post so`rovini yuboring https://skidkabot.ru/api_minus_balance.php

POST so`rov parametrlari:

Do`kon kodi. Parametr nomi "fk_vendor". - Sozlamalardan

Maxfiy do`kon kodi. Parametr nomi "vendor_secret". - Sozlamalardan

Qabul qiluvchining raqamlari. Parametr nomi "fk_client". - O`qilgan QR kodidan

QR kodini tekshirish raqami. Parametr nomi "qr_secret". - O`qilgan QR kodidan

kassa - agar bir nechta do`konlar onlayn bo`lsa, qo`shimcha tahlil qilish uchun kassa raqami (int).

summa - hisobdan chiqarilgan bonuslar miqdori


Bunga javoban siz yangi mijoz balansini yoki xato xabarini olasiz

{ "code": 0, "first_name": "Александр", "last_name": "Татарченко", "balance": 2365 }


8. Xato kodlari.


{"code": 0} - Hech qanday xato yo`q, hammasi joyida.

{"code": 1, "text": "Majburiy parametr etarli emas: do`kon kodi (fk_vendor)"}

{"code": 2, "text": "Majburiy parametr etarli emas: mijoz kodi (fk_client)"}

{"code": 3, "text": "Majburiy parametr etarli emas: maxfiy do`kon kaliti (vendor_secret)"}

{"code": 4, "text": "Majburiy parametr etarli emas: QR kodining vaqtinchalik kaliti (qr_secret)"}

{"code": 5, "text": "Ushbu kod va maxfiy kalit kombinatsiyasi bilan do`kon topilmadi"}

{"code": 6, "text": "Mijoz ma`lumotlar bazasida ro`yxatdan o`tmagan"}

{"code": 7, "text": "QR kodi ma`lumotlar bazasida ro`yxatdan o`tmagan"}

{"code": 8, "text": "QR kodini tekshirish summasi noto`g`ri. QR kodini qayta chiqaring."}

{"code": 9, "text": "QR kodi eskirgan. QR kodini qayta chiqaring."}

{"code": 10} - ballarni hisoblash va hisobdan chiqarishda qo`llanilmaydi.

{"code": 11, "text": "Majburiy parametr etarli emas: qo`shilgan bonuslar miqdori (summa)"}

{"code": 12, "text": "Majburiy parametr etarli emas: hisobdan chiqarilgan bonuslar miqdori (summa)"}

{"code": 13, "text": "Mijoz hisobdan chiqarish uchun etarli ballga ega emas."}

{"code": 14} - ballarni hisoblash va hisobdan chiqarishda qo`llanilmaydi.

{"code"=>15, "text"=>"Kechirasiz, sizning hisobingizda salbiy qoldiq va Chegirmabot ishlamayapti. Balansingizni saytda to`ldiring http://skidkabot.uz"


Texnik topshiriqni yuklab oling (RUS)

Описание API функций СкидкаБота!

Имя тестового бота https://t.me/Skidkabotmymagbot

Код тестового магазина 4

Секретный код тестового магазина 31337

Остальные параметры, такие как fk_client и qr_secret читайте в предъявляемом клиентом QR-коде



Для получения баланса дисконтной карты, отправьте на https://skidkabot.ru/api_get_balance.php POST запрос

Код магазина. Имя параметра "fk_vendor".


Секретный код магазина. Имя параметра "vendor_secret".


Номера получателя. Имя параметра "fk_client".


Контрольная цифра QR-кода. Имя параметра "qr_secret".



Для отправки сообщения вашим покупателям, отправьте на https://skidkabot.ru/api_send_message.php POST запрос

Файл изображения прикрепленного к сообщению. Параметр "pic" типа "file". Если не заполнен, то будет отправлено сообщение без картинки.


Код магазина. Имя параметра "fk_vendor"


Секретный код магазина. Имя параметра "vendor_secret"


Номера получателей через запятую. Имя параметра "fk_client". Если параметр пустой - то сообщение будет отправлено всем покупателям этого магазина.


Текс сообщения. Для выделения жирным используйте тег b .



Для Начисления бонусов, отправьте на https://skidkabot.ru/api_edit_balance.php POST запрос

Код магазина. Имя параметра "fk_vendor".


Секретный код магазина. Имя параметра "vendor_secret".


Номер кассы, если у вас их несколько. Имя параметра "kassa".


Номер получателя. Имя параметра "fk_client".


Контрольная цифра QR-кода. Имя параметра "qr_secret".


Сумма чека. Имя параметра "summa_check_total".



Для Списания бонусов, отправьте на https://skidkabot.ru/api_edit_balance.php POST запрос

Код магазина. Имя параметра "fk_vendor".


Секретный код магазина. Имя параметра "vendor_secret".


Номер кассы, если у вас их несколько. Имя параметра "kassa".


Номер получателя. Имя параметра "fk_client".


Контрольная цифра QR-кода. Имя параметра "qr_secret".


Сумма баллов для списания. Имя параметра "summa".


Сумма чека. Имя параметра "summa_check_total".