მუშაობის სქემა

მესიჯის გასაგზავნად საჭიროა კლიენტისგან მივიღოთ ტექსტი, მიმღებთა ტელეფონის ნომრები, სათაური, რომლითაც წერილი გამოუჩნდება მიმღებს და ტრანზაქციულობის აღმნიშვნელი პარამეტრი (უნდა მიუვიდეს თუ არა მესიჯი ისეთ ადრესატებს, რომელთაც დაბლოკილი აქვთ ამ სათაურით მესიჯების მიღება).

ზემოხსენებულ მონაცემებს კლიენტი გვაწვდის პროგრამულად (HTTP API გზით) ან ინფორმაციას ავსებს ვებგვერდზე. სისტემაში მესიჯის გაგზავნის მოთხოვნის მიღების შემდეგ, სისტემა ამოწმებს კლიენტის მიერ მოწოდებული ინფორმაციის სიზუსტეს. კერძოდ, ვამოწმებთ:
  • არის თუ არა კლიენტის მიერ მითითებული სათაური მის მფლობელობაში;
  • შეიცავს თუ არა მესიჯის ტექსტი SMS ცენტრის მიერ აკრძალულ სიტყვებს;
  • სწორი სახითა არის თუ არა წარმოდგენილი ტელეფონის ნომრები (არასწორი სახით მოცემული ნომრები სიიდან ავტომატურად გაიცხრილება);
  • ბოლოვდება თუ არა მესიჯის ტექსტი „NO 91146” ბოლოსართით (არატრანზაქციული მესიჯების შემთხვევაში)
  • შეიცავს თუ არა ნომრების სია ისეთ ნომრებს, რომელთაც დაბლოკილი აქვთ ამ სათაურით მესიჯების მიღება (არატრანზაქციული მესიჯების შემთხვევაში);
შემოწმების შემდეგ, კლიენტის პარამეტრებიდან გამომდინარე შეიძლება მოკლე ფორმით ჩაწერილი ქართული ნომრები გადაითარგმნოს საერთაშორისო ფორმატში. იმ შემთხვევაში, თუ კლიენტმა სწორი ფორმით მოგვაწოდა მესიჯის მონაცემები, სისტემა მონაცემთა ბაზაში აკეთებს კლიენტის მოთხოვნის და მასში არსებული ყველა მესიჯის ჩანაწერს, რაც ნიშნავს, რომ მესიჯები მზადაა გასაგზავნად.

შემდეგი ნაბიჯია თითოეული მესიჯის SMS ცენტრისთვის გადაცემა. ჩვენი სისტემასა და SMS ცენტრებს შორის კომუნიკაცია ხორციელდება SMPP პროტოკოლით, შესაბამისად, გასაგზავნი ტექსტი, საჭიროების შემთხვევაში იხლიჩება პროტოკოლის სტანდარტის შესაბამის ერთეულებად.

თითოეულ ერთეულს ჯერ ვინახავთ მონაცემთა ბაზაში, ხოლო შემდეგ ვუგზავნით SMS ცენტრს და თუ ეს ოპერაცია წარმატებულია (ანუ SMS ცენტრის პასუხი submit_sm ბრძანებაზე არის esme_rok), ჩვენს სისტემაში კლიენტის ბალანსს ვამცირებთ ერთი ნაწილის საფასურით და ამავდროულად მესიჯის შესაბამის ნაწილს ვნიშნავთ როგორც SMS ცენტრისთვის ჩაბარებულს.

მესიჯის ნაწილების SMS ცენტრისთვის გადაცემის შემდეგ, უკვე ისაა პასუხისმგებელი თითოეული ნაწილის დანიშნულების ადგილამდე მისვლაზე;

ჩვენი პროგრამა ელოდება მხოლოდ SMS ცენტრისგან მიღებულ მისვლის რეპორტს, რის შემდეგაც მონაცემთა ბაზაში კონკრეტული ნაწილი დანიშნულების ადგილამდე მისულად ინიშნება.