Настройка SMS-уведомлений в Shop-Script

Уведомления о различных действиях, совершаемых с заказами в интернет-магазине, можно отправлять администратору магазина и покупателям на телефон в виде SMS-сообщений. Для этого нужно установить и настроить плагин интеграции с SMS-провайдером и создать уведомления для действий с заказами в настройках Shop-Script.

1. Установите плагин

Найдите в приложении «Инсталлер» плагин для интеграции с нужным SMS-провайдером и установите его. Используйте в «Инсталлере» фильтр «Типы: Плагины + Категории: Уведомления по SMS», чтобы найти подходящие плагины.

2. Зарегистрируйтесь на сайте SMS-провайдера

Откройте приложение «Настройки», перейдите в раздел «SMS-провайдеры» и выберите провайдера, для подключения к которому вы установили плагин. Посмотрите, какие значения нужно ввести в поля настроек, чтобы подключиться к провайдеру. Обычно это идентификаторы отправителей и идентификатор (api_id) либо логин и пароль. У каждого плагина свой набор полей настроек.

Зарегистрируйтесь на сайте SMS-провайдера. После регистрации скопируйте в его личном кабинете значения для тех полей, которые нужны, чтобы настроить подключение.

Если нужно, настройте в аккаунте SMS-провайдера идентификаторы отправителей. Каждый идентификатор — это строка длиной до 11 символов, которая будет видна в телефоне в телефоне получателя вместо номера отправителя — например, название вашего магазина. Если у вашего интернет-магазина несколько витрин на разных доменных именах, то удобно создать несколько идентификаторов отправителей — каждый для своей витрины.

Если не настроить идентификаторы отправителей, то получатели SMS-уведомлений будут видеть какой-то стандартный идентификатор, который назначит SMS-провайдер. Это может быть, например, ваш номер телефона или имя пользователя в личном кабинете на сайте провайдера.

3. Настройте плагин

Откройте настройки провайдера в приложении «Настройки».

Если вы создали более 1 идентификатора отправителя на сайте SMS-провайдера, то в поле «Идентификаторы отправителей» такие идентификаторы нужно перечислить каждый на отдельной строке.

Если вы не настроили идентификаторы отправителей на сайте провайдера, то вводить их в настройках SMS-провайдера необязательно — можно оставить поле «Идентификаторы отправителей» пустым или ввести символ «звездочка» (*). В этом случае будет использоваться стандартный идентификатор отправителя, назначенный SMS-провайдером.

Если SMS-провайдер не предоставляет стандартный идентификатор отправителя, напишите любой идентификатор в поле «Идентификаторы отправителей».

Каждый идентификатор отправителя может быть указан в настройках только одного из SMS-плагинов. Если у вас настроено несколько SMS-плагинов, то одинаковые идентификаторы отправителей для них использовать нельзя.

4. Создайте уведомления в настройках Shop-Script

В разделе бекенда Shop-Script «Настройки → Уведомления» создайте уведомления для всех событий, при наступлении которых необходимо отправлять SMS-уведомления. Примеры событий: заказ оформлен, заказ оплачен, добавлен комментарий к заказу и т. п.

Если вы создадите новые действия с заказами в разделе «Настройки → Статусы заказов», то эти действия станут доступны в списке событий при настройке уведомлений. Это позволит вам совершать дополнительные действия с заказами в разделе бекенда «Заказы», при этом автоматически будут отправляться SMS-уведомления.

При создании SMS-уведомления в качестве транспорта выберите вариант «SMS».

Из списка «Источник заказов» выберите, для каких заказов необходимо отправлять данное уведомление: а) для всех заказов, б) только для заказов, созданных администратором в бекенде, или в) заказы, оформленные покупателями на какой-то одной из витрин вашего магазина (этот вариант имеет смысл выбирать, только если у вас настроено несколько витрин в приложении «Сайт»).

Из списка «Отправитель» выберите, какой идентификатор отправителя должен отображаться в телефоне получателя SMS-уведомления:

  • используемый SMS-провайдером (шлюзом) по умолчанию — может предоставляться не всеми провайдерами,
  • один из идентификаторов, настроенных вами на сайте SMS-провайдера и введенных в поле «Идентификатор отправителей» в настройках интеграции с SMS-провайдером,
  • (другой) идентификатор отправителя, настроенный вами на сайте SMS-провайдера и не указанный в настройках Webasyst.

Укажите получателя для нового SMS-уведомления:

  • покупатель (SMS отправится на номер телефона покупателя, если он был указан при покупке или регистрации),
  • администратор (SMS отправится на телефонный номер, указанный в разделе «Настройки → Общие настройки → Телефон»),
  • другой (введите номер телефона в формате +ххххххххххх — SMS отправится только на этот дополнительный номер).
Если нужно отправить SMS-уведомление об одном событии сразу на несколько номеров, создайте несколько одинаковых уведомлений, указав в их свойствах разные номера получателей.

В поле «Текст» по умолчанию содержится стандартный шаблон сообщения, в который при отправке подставляются реальные значения вместо переменных. Например, в шаблоне уведомления об оформлении нового заказа есть переменная {$order.id}. Это значит, что получатель сообщения вместо этой переменной увидит номер заказа, о котором он уведомляется.

Полный список доступных переменных доступен в по ссылке «Шпаргалка» под полем для редактирования шаблона сообщений.

В шаблонах сообщений допускается использовать любые теги Smarty, включая функции и переменные Webasyst, доступные через переменную $wa — так же, как в шаблонах дизайна и информационных страницах. Более подробно о редактировании шаблонов Smarty во фреймворке Webasyst читайте в документации веб-разработчика.

5. Проверьте отправку

Сохраните настройки уведомления.

Под полем шаблона сообщения появится кнопка для проверки отправки сообщений.

Для отправки проверочного уведомления в вашем магазине должен быть хотя бы один оплаченный или завершенный заказ.

46 комментариев

  • 0
    Vasiliy Lisovoy Vasiliy Lisovoy 23 октября 2013 08:55 #
    А если я в Украине? СМС РУ не работает на Украину!
    • +1
      Vadim - Vadim - 30 ноября 2013 14:15 #
      Прекрасно работает смс ру в Украине
    • +1
      Alexey Khruschakov Alexey Khruschakov 27 мая 2016 17:33 #

      TurboSMS есть в Украине. Это Украинский сервис. Пользуюсь им уже больше года.

    • 0
      Для отправки уведомлений на несколько номеров можно указать их через запятую. Для sms.ru работает ок.
    • +2
      obmen86 obmen86 11 мая 2015 11:49 #

      Для bytehand.com не работает отправка. Пишет что отправлено, но в биллинге самого сайта bytehand.com отправленных нет.

      Сообщения на телефон не доходят.

      • +2
        996 996 16 августа 2015 11:38 #

        Аналогичная история. Удалось как то это исправить?

      • +1
        Михаил Ушенин Михаил Ушенин Webasyst 16 марта 2017 17:48 #

        Вам стоит обратиться за помощью к автору плагина, с помощью которого вы пытаетесь отправлять сообщения через ByteHand.

      • +1
        Дмитрий Хохряков Дмитрий Хохряков 9 декабря 2015 03:51 #

        Как реализовать отправку смс через поставщика, у которого нет приложения для shop-script? Помогите кто-нибудь!

      • +1
        sitennov sitennov 14 октября 2016 08:57 #

        Подключил СМС.ру сделал проверку. Проверочные смс приходят, стоит уведомление на все заказы. Событие "Заказ оформлен"

        На почту отправляется письмо о заказе.

        Сообщение при оформлении заказа не приходит.

        Что делать?

      • +1
        alesh alesh 12 февраля 2017 22:44 #

        Почему-то sms.ru не реагирует на выбранный ID отправителя. Отправляет либо от того кто выставлен по умолчанию, либо указывает номер тел. на который зареган акк, если по умолчанию никто не выставлен.

        Либо ShopScript не отсылает ему ID шки, либо он не понимает уже запросы ShopScript.

        Можете разъяснить в чем проблема?

        • +1
          Михаил Ушенин Михаил Ушенин Webasyst 13 февраля 2017 10:41 #

          По логике работы плагина интеграции с SMS.ru в обозначении отправителя могут использоваться латинские буквы, дефисы, подчёркивания и цифры. Причём только из цифр он состоять не должен: обязательно должны присутствовать в любом количестве также остальные символы: либо буквы, либо дефисы, либо подчёркивания, либо любые их комбинации друг с другом и с цифрами.

          • +1
            alesh alesh 20 февраля 2017 13:48 #

            у меня ID это домен витрины латинскими буквами. т.е. это не причина

            • +1
              Михаил Ушенин Михаил Ушенин Webasyst 20 февраля 2017 14:18 #
              это не причина

              Скорее, это недостаточное основание для такого поведения. Тут я лично с вам соглашусь (хотя надо изучать технические особенности передачи ID отправителя, чтобы утверждать о этом со 100%-ной уверенностью). Однако фактически эти и есть реальная причина.

            • +1
              Дмитрий Дмитрий 1 апреля 2017 13:49 #

              Добрый день!
              Подскажите, установил плагин. Настроил.
              Текст уведомления для админа:
              Заказ: {$order.id}. Сумма: {wa_currency($order.total, $order.currency)} Заказали: {$order}

              Пришло смс: Заказ: # 2. Сумма:680 руб. Заказали: Array

              Что такое Array?

              Обновление:
              Еще одна проблема: пришел реальный заказ от клиента, смс мне не пришло.
              А если сам оформляю, то приходит.

              • +1
                Дмитрий Дмитрий 2 апреля 2017 11:31 #

                Вторая проблема решилась, в настройках вместо админа поставил номер телефона в ручную, теперь приходят уведомления о заказе. А первая проблема с Array так и осталась.

                • +1
                  Axelaredz Axelaredz 29 сентября 2017 16:21 #

                  Здравствуй, проблему с Array не победил?
                  ..у меня под array, номер телефона клиента почему то в смс не вставляется

                • +1
                  Алексей Алексей Webasyst 2 апреля 2017 11:40 #

                  {$order} это массив данных поэтому его можно либо убрать, либо указать что именно вывести.

                • +1
                  rom.golovach@yandex.ru rom.golovach@yandex.ru 14 августа 2017 09:51 #

                  Установил плагин SMS уведомлений sms.ru и создал в провайдере sms.ru буквенного отправителя - Time

                  Проверяю отправку - не отправляется с id Time, но если заглавную букву T меняю на маленькую t,

                  отправка идёт, но не приходит на телефон, наверное sms провайдер не индефицирует отправителя из-за

                  смены заглавной буквы. Как быть?

                • +1
                  Oleg Oleg 22 февраля 2018 22:43 #

                  не отправляется номер отправления в смс. Использую стандартное решение

                  Ваш заказ {$order.id} отправлен!{if !empty($action_data.params.tracking_number)} Идентификатор отправления: {$action_data.params.tracking_number}{/if}

                  В смс приходит только "Ваш заказ 123 отправлен! Информация о трек-номере не вставляется. С емейл проблем нет. В чем может быть проблема?

                  • +2
                    Михаил Ушенин Михаил Ушенин Webasyst 26 февраля 2018 10:12 #

                    Используйте переменную {$order.params.tracking_number}.

                    {$action_data.params...} — это то, что вы вводите при выполнении действия. Затем эти параметры сохраняются в {$order.params...}, и их можно использовать в уведомлениях о других действиях с заказом.

                  • +1
                    Vovan Vovan 17 ноября 2018 00:58 #

                    Здравствуйте!


                    Подскажите пожалуйста, столкнулся с проблемкой. Настраиваю смс для статуса "Ожидание оплаты", соответственно указываю в смс номер заказа, сумму и реквизиты для оплаты.

                    По умолчанию стояла переменная для вывода суммы заказа {wa_currency($order.total, $order.currency)}, она работает, выводит цифру.

                    Но мне нужно указывать в смс сумму только заказа (т.е. Subtotal), без учета доставки и т.д.

                    Подсмотрел переменную из отправки писем типа этой для вывода подитога {wa_currency($item.price * $item.quantity, $order.currency)}.

                    Парадокс, при отправке емейла, эта переменная присылает нормальную цифру, а вот в смс приходит всегда 0 грн. 

                    Пробовал эту {wa_currency($subtotal, $order.currency)} - тоже выдает 0 грн.


                    Подскажите как настроить переменную для вывода суммы подитог, т.е. только сумму за товар?

                     

                    • +1
                      Михаил Ушенин Михаил Ушенин Webasyst 19 ноября 2018 09:39 #

                      Подсмотрел переменную из отправки писем типа этой для вывода подитога {wa_currency($item.price * $item.quantity, $order.currency)}.

                      Эта конструкция должна использоваться внутри цикла 

                      {foreach $order.items as $item}
                          ...
                      {/foreach}

                      В шаблоне SMS-уведомления вы используете такой цикл?

                    • +1
                      Antonio Antonio 21 февраля 2019 18:15 #

                      Настроил регистрацию по СМС. В "Настройки входа и регистрации" стоит, что "Пользователь вводит свой пароль при регистрации". Выбрал группу шаблонов по умолчанию "Регистрация". В первом поле Успешная регистрация задано сообщение: 

                      Поздравляем, вы зарегистрировались!
                      {if $password}Пароль для входа: {$password}{/if}
                      Какой пароль придёт клиенту? Который он ввёл или в этом сообщении переменная для автоматически сгенерированного пароля, одноразового пароля?
                    • +1
                      1032154@mail.ru 1032154@mail.ru 21 марта 2019 13:43 #

                      Как настроить сервис смс уведомлений для Узбекистана?

                      • +1
                        Михаил Ушенин Михаил Ушенин Webasyst 21 марта 2019 16:14 #

                        Найдите в списке SMS-плагинов тот, который позволит работать с получателями в Узбекистане. Зарегистрируйтесь в соответствующем сервисе, установите плагин в «Инсталлере» и настройте его с помощью приложения «Настройки».

                      • +1
                        oleg - oleg - 31 мая 2019 11:24 #

                        можно ли использовать несколько смс провайдеров?

                        например появился плагин для звонков. я хочу часть оповещений делать смс часть звонком

                        • +1

                          Можно. Настройте подключение к обоим провайдерам в приложении «Настройки». В настройках провайдеров нужно сохранить разные идентификаторы отправителей.

                          Затем в каждом SMS-уведомлении в настройках магазина выберите отправителя того провайдера, через которого нужно отправлять это уведомление.

                        • +1
                          Антон Антон 10 октября 2019 20:59 #

                          А что за смс-провайдер? Можете кинуть пару ссылок на эти смс провайдеры?

                        • +1
                          Бона Компани Бона Компани 15 октября 2019 18:19 #

                          А почему в форме "написать клиенту" из заказа smarty не поддерживается?

                        • +1
                          Артем Епанешников Артем Епанешников 3 ноября 2019 22:57 #

                          если стоит галочка "Включен", это означает, что сообщение будет отправлено автоматически при смене статуса заказа? 

                          • +1
                            Михаил Ушенин Михаил Ушенин Webasyst 5 ноября 2019 09:04 #

                            Это значит, что сообщение будет отправлено сразу же при наступлении выбранного события. Событием может быть одно из действий, которые могут совершаться с заказами.

                            Действие необязательно изменяет статус заказа. Например, действие «В обработку» изменяет статус на «Подтверждён». А действие «Добавить комментарий» не изменяет статус заказа. Если вы выберите любое из этих действий в настройках уведомления, то уведомление отправится сразу же, как только вы выполните это действие.

                          • +1
                            Марина Марина 5 февраля 2020 13:06 #

                            Добрый день!

                            Как можно поставить в смс ссылку на товар который приобрел клиент?

                            То что предлагается в "шпаргалке" , не получается вставить.

                            ПРИМЕР:

                            Спасибо за ваш заказ {$order.id}  Оставьте, пожалуйста, отзыв о нашем магазине ( какую ссылку поставить тут? )

                            • +1
                              Михаил Ушенин Михаил Ушенин Webasyst 5 февраля 2020 15:25 #

                              То что предлагается в "шпаргалке" , не получается вставить.

                              Поясните подробнее, что вы имеете в виду. Что вы пытались сделать и какой получили результат?

                              • +1
                                Марина Марина 5 февраля 2020 15:43 #

                                Спасибо за ваш заказ {$order.id}  Оставьте, пожалуйста, отзыв о нашем магазине {$product->getProductUrl($storefront_url)}

                              • +1
                                Марина Марина 6 февраля 2020 12:15 #

                                Михаил, подскажете, какую формулу можно поставить с ссылкой на заказанный товар?

                                • +1
                                  Михаил Ушенин Михаил Ушенин Webasyst 6 февраля 2020 16:56 #

                                  Посмотрите, как сделано в стандартном уведомлении о новом заказе. Вот его упрощённая версия:

                                  {foreach $order.items as $item}
                                      ...
                                      Ссылка на товар: {$item.product.frontend_url}
                                      ...
                                  {/foreach}

                                • +1
                                  Nick Nick 13 мая 2020 23:11 #

                                  Отправляет только с одного отправителя!

                                  в описание указали: Если вы создали более 1 идентификатора отправителя на сайте SMS-провайдера, то в поле «Идентификаторы отправителей» такие идентификаторы нужно перечислить каждый на отдельной строке.

                                  Не работает :(

                                  Указал и заполнил все по инструкции...

                                  Добавить комментарий

                                  Чтобы добавить комментарий, зарегистрируйтесь или войдите