Отправка смс-уведомлений при размещении заказа в Ubercart 3

Для сайта магазина (Drupal 7 + Ubercart 3) встала задача отправлять смс-сообщение при поступлении нового заказа.

Все оказалось достаточно просто. Чтобы в момент оформления нового заказа вызвать свой код, необходимо создать простенький модуль в котором определить хук mymodule_uc_checkout_complete(). Здесь необходимо собственно вызвать код отправки смс. Как отправлять? Это уже личное дело каждого.

Мне посоветовали сервис smsimple.ru. За 300 рублей можно отправить 500 смс, при регистрации 10 смс даются для тестов. Все остальное - дело техники:

function mymodule_uc_checkout_complete($order, $account) {
    $path = drupal_get_path('module', 'mymodule') . '/smsimple.class.php';
    require_once($path);

    $sms = new SMSimple(array(
        'url' => "http://api.smsimple.ru",
        'username' => "stolle",
        'password' => "NamReg233",
    ));

    try {
        $sms->connect();
        $origins_list = $sms->origins();
        $message = "Новый заказ #{$order->order_id}";
        $phone = 'xxx';

        $message_id = $sms->send($origins_list[0]['id'], $phone, $message);
        watchdog('sms', "Отправлено смс о создании нового заказа #id={$message_id}");
    }
    catch (SMSimpleException $e) {
        watchdog('sms',
                "Ошибка отправки sms о создании заказа: ". $e->getMessage(),
                array(),
                WATCHDOG_ERROR);
    }

 

Комментарии