Ubilling надає зручну модель абстракції для роботи з чергою SMS-повідомлень. Починаючи зі стабільного релізу Ubilling 0.7.1, ви можете використовувати у своїх модулях базовий клас UbillingSMS для надсилання SMS-повідомлень, особливо не хвилюючись, що з ними відбуватиметься надалі. Починаючи з
Ubilling 0.8.0 усю роботу з подальшого опрацювання будь-яких, зокрема й SMS-повідомлень, винесено в окрему підсистему - Собака-посилака.
Давайте розглянемо на конкретному прикладі найпростіший випадок надсилання SMS-повідомлення.
//створюємо об'єкт класу $sms=new UbillingSMS(); //що будемо слати? $message='просто тестове повідомлення'; // Складаємо SMS у системну чергу для подальшого надсилання. // // Параметри методу: 1. номер у міжнародному форматі (string) // 2. текстове повідомлення для надсилання (string) // 3. примусова транслітерація повідомлення (bool) // 4. модуль, на замовлення якого здійснюється посилка (string) $sms->sendSMS('+380931234567', $message, false, 'SAMPLEMODULE');
Ось власне і все. Повідомлення буде складено в загальну чергу SMS для подальшого відправлення через один із підтримуваних сервісів доставки SMS. З роботою з чергою все теж досить просто. Ми в будь-який момент можемо дізнатися, скільки і яких SMS очікують відправки в даний момент за допомогою методу getQueueCount (повертає int) і отримати повний вміст черги, за допомогою методу getQueueData (повертає array).
Приклад роботи з чергою:
$sms = new UbillingSMS(); //отримуємо кількість SMS, які очікують на відправлення $queueCount = $sms->getQueueCount(); if ($queueCount > 0) { //і якщо вони є, отримуємо їхній вміст $queueData = $sms->getQueueData(); //показуємо вміст - всередині array debarr($queueData); }