Telegram'dagi do'kon chiroyli ishlashi hali integratsiya tayyor degani emas. Xaridor savatni to'ldirib, "Buyurtma berish" tugmasini bosadi. Ekranda muvaffaqiyat xabari chiqadi. Ammo buyurtma Smartup'ga bormasa yoki ikki marta tushsa, muammoni menejer qo'lda hal qiladi. Avtomatlashtirish esa yana qo'l mehnatiga aylanadi.
Shu sababli bunday loyihani faqat interfeys bilan emas, buyurtmaning butun yo'li bilan qabul qilish kerak: Telegram → integratsiya servisi → Smartup → holatning Telegram'ga qaytishi. Quyidagi tekshiruvlar aynan shu yo'lga qaratilgan.
Avval "bitta buyurtma" nimani anglatishini kelishib oling
Telegram'dan kelgan yangilanish, to'lov va Smartup hujjati bir xil narsa emas. Bitta xaridor tugmani ikki marta bosishi mumkin. Tarmoq uzilib, so'rov takrorlanishi mumkin. To'lov tasdiqlanishi esa buyurtma yaratilishidan keyin kelishi mumkin.
Texnik topshiriqda uchta identifikatorni yozib qo'ying:
- Telegram tomondagi hodisa yoki sessiya identifikatori;
- do'konning ichki buyurtma raqami;
- Smartup hujjat identifikatori yoki mijozdagi mavjud integratsiya interfeysi qaytargan boshqa tasdiqlash raqami.
Ular jurnalga bir qatorda yozilsa, "buyurtma yo'qolibdi" degan umumiy shikoyat o'rniga aynan qaysi bosqich to'xtaganini ko'rish mumkin.
Ma'lumot yo'lini ham ajrating. Bot xabari yoki callback'i Telegram webhook orqali keladi; Mini App esa buyurtmani loyiha backend'iga bevosita yuborishi mumkin; backend undan keyin Smartup bilan ishlaydi. Telegram'ning webhook POST so'rovi endpoint'dan 2xx bo'lmagan HTTP javob olsa, Telegram aynan o'sha yangilanishni yana yuborishi mumkin. update_id bunday qayta yetkazishni aniqlashga yordam beradi, ammo xaridorning ikki haqiqiy bosishi odatda ikki xil yangilanish yaratadi.
Shuning uchun idempotency kaliti checkout yoki savat sessiyasi boshida yaratilishi va qayta urinish hamda ikki bosishda aynan o'sha mantiqiy buyurtma uchun qayta ishlatilishi kerak. Backend Smartup hujjatini yaratishdan oldin bu kalitga atomar noyoblik qoidasini qo'llaydi. Har bir HTTP so'rovida yangi order_id yaratish dublikatni to'xtatmaydi; update_id esa faqat korrelyatsiya identifikatoridir. Batafsil Telegram maydonlari Telegram Bot API hujjatlarida berilgan.
Besh sinovsiz integratsiyani qabul qilmang
1. Oddiy buyurtma
Test mahsuloti, miqdori, narxi, mijoz telefoni va yetkazib berish manzilini oldindan yozib oling. Telegram'da buyurtma bering va Smartup'dagi hujjat bilan maydonma-maydon solishtiring. Faqat "hujjat paydo bo'ldi" deb tekshirish kamlik qiladi.
2. Bir tugmani qayta bosish
Tasdiqlash tugmasini tez ikki marta bosing yoki bir xil so'rovni test muhitida qayta yuboring. Natija bitta buyurtma bo'lishi kerak. Ikkinchi urinish tizim jurnalida dublikat sifatida ko'rinishi mumkin, lekin yangi savdo hujjatini yaratmasligi lozim.
3. Smartup vaqtincha javob bermaydi
Integratsiya servisi Smartup'ga ulana olmaydigan holatni sinang. Backend buyurtmani xavfsiz saqlagan bo'lsa, xaridorga "buyurtma olindi va navbatga qo'yildi" deb aytish mumkin; ammo Smartup tasdiqlamaguncha "Smartup'ga yozildi" demaslik kerak. Buyurtma navbatda saqlanadimi, qayta urinishlar soni, eksponensial kutish, yakuniy xatolar navbati va mas'ul xodim ogohlantirilishi oldindan kelishib olinadi.
Bu yerda bitta universal usul yo'q. Yechim Smartup sozlamalari, mavjud tashqi interfeys va biznesning buyurtma jarayoniga bog'liq. Muhimi, xatolikdan keyingi holat yozma ravishda aniqlangan bo'lsin.
4. Narx yoki qoldiq o'zgargan
Xaridor savatni ochganidan keyin Smartup'da narx yoki qoldiq o'zgarsa nima bo'ladi? Tizim buyurtmani rad etadimi, yangilangan summani ko'rsatadimi yoki menejer tekshiruviga yuboradimi? Bu qarorni dasturchi taxmin qilmasligi kerak. Uni biznes egasi belgilaydi.
5. Xizmat qayta ishga tushadi
Server yoki integratsiya servisini test muhitida qayta ishga tushiring. Navbatdagi buyurtmalar yo'qolmasligi, qayta ishlanganlari esa yana yaratilmasligi kerak. Smartup hujjatni yaratib, backend javobni yozishdan oldin yiqilgan noaniq holatni ham sinang: Smartup interfeysi qo'llasa, pastki tizim idempotency kalitidan foydalaning; aks holda holatni sync_unknown deb saqlab, yangi hujjat yaratishdan oldin Smartup'da solishtirish talab qilinsin.
Ishga tushgandan keyin nimani kuzatish kerak?
"Xato bo'lsa Telegram'ga xabar keladi" degan jumla yetarli emas. Ogohlantirishda buyurtma raqami, bosqich, vaqt va keyingi amal bo'lishi kerak. Masalan: "Buyurtma T-1042 Smartup'ga yozilmadi; 3-urinish; operator tekshiruvi kerak."
Telegram'ning getWebhookInfo javobida pending_update_count doim mavjud; last_error_date va last_error_message esa yetkazish xatosi qayd etilgandagina bo'lishi mumkin. Bu ko'rsatkichlar monitoringga qo'shiladi. Smartup tomonda kuzatiladigan maydonlar aynan sizdagi integratsiya usuliga qarab tanlanadi.
Faol savdoda xatolar uchun real vaqtga yaqin ogohlantirish va kunlik solishtirish kerak; haftalik hisobot esa rahbariyat nazorati uchun qolishi mumkin:
- Telegram'da yaratilgan buyurtmalar soni;
- Smartup'da yaratilgan mos hujjatlar soni;
- qayta urinish va dublikatlar;
- qo'lda tuzatilgan buyurtmalar ro'yxati.
Sonlar mos kelmasa, farqni buyurtma identifikatorlari orqali topish mumkin. Maqsad chiroyli hisobot emas, yo'qolgan yoki takrorlangan buyurtmani mijoz shikoyatidan oldin ko'rish.
Buyurtmachiga topshiriladigan qabul checklisti
Ishni qabul qilishdan oldin quyidagilarni yozma ko'rinishda oling:
- Qaysi tizim qaysi ma'lumot uchun asosiy manba ekanligi.
- Maydonlar xaritasi: SKU yoki mahsulot ID'si, ombor, o'lchov birligi, miqdor, valyuta, chegirma, soliq, yetkazib berish narxi, mijoz ID'si yoki telefon raqami, to'lov holati va vaqt zonasi.
- Dublikatni aniqlash qoidasi.
- Qayta urinish chegarasi, eksponensial kutish, yakuniy xatolar navbati, qo'lda qayta ishga tushirish va ogohlantirish chegarasi.
- Jurnalni kim ko'rishi va ogohlantirish kimga borishi.
- Test buyurtmalari va kutilgan natijalar.
- Token, server, kod va Smartup'dagi kirish huquqlari hamda ularning egasi.
Holatlar, to'lov va xavfsizlikni alohida qabul qiling
Buyurtma uchun kamida received, queued, created_in_smartup, sync_unknown, payment_pending, paid, cancelled, refunded va manual_review holatlarini kelishib oling. To'lov callback'i imzosi yoki autentifikatsiyasi tekshirilib, buyurtma, summa, valyuta va provayderdagi asosiy holat mosligi tasdiqlanmaguncha paid yoki refunded qo'yilmasin. Takror va tartibsiz callback bir to'lovni ikki marta yozmasligi kerak.
Xavfsizlik tekshiruvida setWebhook uchun berilgan secret_token qiymatini Telegram yuboradigan X-Telegram-Bot-Api-Secret-Token sarlavhasi bilan vaqtga bog'liq bo'lmagan usulda taqqoslash, Mini App ishlatilsa initDatani backend'da tekshirish, token va Smartup hisoblarini almashtirish, eng kam huquq, jurnallarda shaxsiy ma'lumotlarni niqoblash va qo'lda qayta urinishga cheklangan kirish talab qilinadi.
Umumiy integratsiya usullari haqida 1C va Smartup integratsiyasi maqolasida yozilgan. Botni buyurtma qilish, token va kodga egalik masalalari uchun Telegram bot buyurtma qilish qo'llanmasini ko'ring. Wallner loyihasi esa Telegram do'koni, ERP va Smartup bir loyiha ichida qanday bog'langaniga misol beradi.
Agar siz Telegram buyurtmalarini Smartup bilan bog'lamoqchi bo'lsangiz, CRM/ERP tizimlari va Telegram bot yaratish yo'nalishlarimizni ko'ring. Texnik sessiya natijasida ma'lumot oqimi, maydonlar xaritasi, xatolar matritsasi, qabul sinovlari paketi va chegaralangan smeta tayyorlash mumkin; yakuniy hajm mavjud Smartup sozlamalari tekshirilgandan keyin aniqlanadi.
Ko'p beriladigan savollar
Takroriy Telegram so'rovi Smartup'da ikkinchi buyurtma yaratmasligi uchun nima kerak?
Checkout boshlanganida yaratilgan idempotency kaliti qayta urinish va ikki bosishda ham qayta ishlatilishi, backend esa unga atomar noyoblik qoidasini qo'llashi kerak. Telegram update_id yoki Mini App sessiya ID'si korrelyatsiya uchun alohida saqlanadi.
Smartup vaqtincha ishlamasa, xaridorga nima ko'rsatiladi?
Backend buyurtmani ishonchli saqlagan bo'lsa, xaridorga buyurtma olindi va navbatga qo'yildi deb aytish mumkin. Smartup tasdiqlamaguncha esa Smartup'ga yozildi deb ko'rsatilmaydi. Navbat, qayta urinishlar va oxirgi holat talabda belgilanadi.
Integratsiyani qabul qilishda qaysi ma'lumotlarni solishtirish kerak?
Test buyurtmasidagi mahsulot, miqdor, narx, telefon va manzil bilan birga ichki order_id, Bot oqimida update_id yoki Mini App oqimida sessiya ID'si hamda Smartup hujjat yoki tasdiqlash identifikatori solishtiriladi.
Ishga tushgandan keyin yo'qolgan buyurtmalar qanday topiladi?
Telegram'dagi buyurtmalar soni Smartup'dagi mos hujjatlar bilan muntazam solishtiriladi. Har ikki tomondagi identifikatorlar bir jurnalda saqlansa, farqning qaysi bosqichda paydo bo'lganini topish mumkin.



