uBill SMS — WooCommerce
შეკვეთის სტატუსზე ავტომატური SMS, ადმინის შეტყობინება ახალ შეკვეთაზე, ანგარიშის მოვლენები და მიწოდების ქრონოლოგია — WooCommerce-ის მაღაზიისთვის.
პროექტის ნაწილი: uBill
რას აკეთებს
| ფუნქცია | სად | რას იძლევა |
|---|---|---|
| შეკვეთის სტატუსი | ავტომატურად | შვიდივე სტატუსს საკუთარი ჩამრთველი და შაბლონი აქვს |
| ადმინის შეტყობინება | ავტომატურად | ახალი შეკვეთა მაღაზიის ნომრებზე, რამდენიმეზე ერთდროულად |
| ანგარიშის მოვლენები | ავტომატურად | რეგისტრაცია და პაროლის შეცვლა — უსაფრთხოების შეტყობინება |
| შაბლონები | ადმინში | 18 ადგილმჭერი, ჩასმა ერთი დაწკაპუნებით |
| ბალანსი და ტესტი | ადმინში | დარჩენილი SMS და სატესტო გაგზავნა ერთი ღილაკით |
| ჟურნალი | ადმინში | ყოველი გაგზავნა სრული ტექსტითა და მიწოდების ქრონოლოგიით |
checkout-ს არ აყოვნებს
SMS-ის გაგზავნა ქსელური მოთხოვნაა. თუ ის შეკვეთის შენახვის ნაკადში ჩაჯდა, მყიდველი ოპერატორის პასუხს ელოდება — და როცა uBill ნელია, „გადახდის დასრულების" გვერდიც ნელია.
ამ პლაგინში გაგზავნა ფონურ დავალებად ინიშნება. შეკვეთა ინახება, გვერდი მაშინვე ბრუნდება, SMS კი წამებში მიდის. თუ საიტზე WP-Cron გამორთულია, პლაგინი ამას თვითონ ამჩნევს და ადმინს აფრთხილებს — ჩუმად დაგვიანება არ ხდება.
SMS-ის ჩავარდნა შეკვეთას არასოდეს ტეხს. ყველა გამონაკლისი იჭერა და ჟურნალში ჩაიწერება; WooCommerce-მდე არ ადის.
WooCommerce ზოგჯერ ჯერ ცარიელ შეკვეთას ინახავს და პროდუქტს მერე ამატებს. გულუბრყვილო პლაგინი სწორედ იმ მომენტში ისვრის ადმინის შეტყობინებას და მაღაზიის მფლობელს „ახალი შეკვეთა — 0.00 ₾" მიდის.
ეს პლაგინი შეკვეთის გაფორმების hook-ს უსმენს (კლასიკურსაც და Blocks-ისასაც), ცარიელ ჩანაწერს ტოვებს და შეკვეთაზე ერთ შეტყობინებას აგზავნის — რომელი გზითაც უნდა შეიქმნას იგი.
ქართული ტექსტი GSM-7-ში არ ჯდება და UCS-2-ით იგზავნება — ერთი SMS 160-ის ნაცვლად 70 სიმბოლოა. პლაგინი ყოველ შაბლონთან იქვე გიწერს კოდირებას, სიმბოლოების რაოდენობასა და სეგმენტებს, და ტექსტის კრეფისას ცოცხლად განაახლებს. ორ სეგმენტზე მეტი წითლდება — რომ შემთხვევით სამმაგი ფასი არ გადაიხადო.
uBill-ის ანგარიშის მოთხოვნა მხოლოდ სტატუსს აბრუნებს, დროის გარეშე — ოპერატორის ნამდვილი დრო callback-ში მოდის. პლაგინი callback-ის მისამართს ყოველ გაგზავნას თვითონ აყოლებს, ამიტომ ჟურნალში სამივე საფეხური თავისი დროით ჩანს:
გადავეცით uBill-ს 27.08.2026 13:12:04
ოპერატორმა გააგზავნა 27.08.2026 13:12:08
აბონენტს მიუვიდა 27.08.2026 13:12:21მწკრივზე დაწკაპუნება შლის სრულ ტექსტს, კოდირებას, სეგმენტებსა და smsID-ს. სად დრო ტილდითაა, ის ჩვენი გამოკითხვის მომენტია და არა ოპერატორის — მიახლოებითს ზუსტად არ ვასაღებთ.
uBill-ის უარი ხშირად კონკრეტულ მიზეზს შეიცავს. პლაგინი მას არ ყლაპავს: ქართული ახსნის გვერდით ოპერატორის ორიგინალი ტექსტიც წერია.
uBill-მა სერვერის IP არ დაუშვა. ეს მისამართი uBill-ის კაბინეტში
თეთრ სიაში უნდა შეიყვანო. (185.189.209.100 IP address is not allowed)ანუ ჩანს არა მარტო „რაღაც ვერ გამოვიდა", არამედ რომელი მისამართი დაამატო.
- API გასაღები კოდში არსად წერია — ინახება
wp_options-ში, ინტერფეისში კი დახურულ ველშია. - მოთხოვნა WordPress-ის HTTP API-ით მიდის — პირდაპირი cURL-ის გარეშე; საიტის proxy და timeout-ის პარამეტრები პატივდებულია.
- ყოველი ფორმა nonce-ითა და
manage_woocommerceუფლებით არის დაცული, გამოტანა კი სრულად ეკრანირებული. - callback-ის გასაღები ცალკეა — API-ის გასაღები URL-ში არასოდეს გადის; შეუსაბამო გასაღები 400-ს იღებს.
- ყველა SQL მომზადებული მოთხოვნაა (
$wpdb->prepare). - ჩუმი ჩავარდნა არ არსებობს — ყოველ უარს ჟურნალში მიზეზი უწერია.
HPOS
პლაგინი შეკვეთას მხოლოდ WC_Order-ის საჯარო მეთოდებით კითხულობს, wp_posts-ს პირდაპირ არსად ეხება, და custom_order_tables თავსებადობას ცხადად აცხადებს. ძველ და ახალ საცავზე ერთნაირად მუშაობს.
| რა | რამდენი |
|---|---|
| WordPress | 6.0 და ზემოთ |
| WooCommerce | 7.0 და ზემოთ (HPOS მხარდაჭერილია) |
| PHP | 8.0+, გაფართოებით mbstring |
| uBill | ანგარიში API გასაღებითა და დამტკიცებული გამგზავნის სახელით |
uBill გაგზავნას მხოლოდ თეთრ სიაში შეყვანილი IP-დან უშვებს — საიტის სერვერის მისამართი uBill-ის კაბინეტში უნდა დაამატო.
- Plugins → Add New → Upload Plugin — ატვირთე არქივი და ჩართე.
- WooCommerce → uBill SMS → კავშირი — ჩასვი API გასაღები, დააჭირე „ბრენდების ჩამოტვირთვას" და აირჩიე გამგზავნი.
- შემოწმება — თუ ბალანსი დაბრუნდა, კავშირი მუშაობს. იქვე გაგზავნე სატესტო SMS.
- შეკვეთები — ჩართე ის სტატუსები, რომლებზეც შეტყობინება გინდა.
პირველ ჯერზე სასარგებლოა სატესტო რეჟიმი: შეტყობინება ჟურნალში ჩაიწერება, ბალანსი კი არ იხარჯება — ჯერ შაბლონებს ნახავ, მერე ჩართავ.
დასაყენებელი პლაგინი სრული ქართული ინტერფეისით, uBill-ის თვითკმარი კლიენტი (Composer არ სჭირდება), მიწოდების callback-ის REST მიმღები, ჟურნალის ცხრილი და პლაგინის სუფთა წაშლის სკრიპტი.
კოდი 133 unit-ტესტითა და 46 ინტეგრაციული ტესტით არის დაფარული — ეს უკანასკნელი ცოცხალ WordPress + WooCommerce გარემოში ეშვება.
რა განახლდა — ვერსია 1.0.0
1.0.0
პირველი გამოშვება.
- შეკვეთის შვიდივე სტატუსზე ცალკე შაბლონი და ჩამრთველი
- ადმინის შეტყობინება ახალ შეკვეთაზე, რამდენიმე ნომერზე
- ანგარიშის მოვლენები: რეგისტრაცია და პაროლის შეცვლა
- ფონური გაგზავნა — checkout არ ყოვნდება
- ჟურნალი მიწოდების ქრონოლოგიით და callback-ის REST მიმღები
- HPOS თავსებადობა
- სატესტო რეჟიმი: ჟურნალი ივსება, ბალანსი არ იხარჯება
110.00 ₾