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

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

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

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

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

Если вы установили бесплатный плагин «Webasyst SMS», то пропустите этот шаг — этот плагин работает сразу и не требует регистрации у провайдера. Достаточно просто включить вход с Webasyst ID в разделе «Настройки → Webasyst ID».

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

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

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

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

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

Если вы установили бесплатный плагин «Webasyst SMS», то пропустите этот шаг — этот плагин работает сразу и не требует настроек.

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

Если вы создали более 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. Проверьте отправку

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

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

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

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

  • +2
    obmen86 obmen86 11 мая 2015 11:49 #

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

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

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

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

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

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

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

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

      • +2
        Михаил Ушенин Михаил Ушенин 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
          Михаил Ушенин Михаил Ушенин 19 ноября 2018 09:39 #

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

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

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

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

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

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

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

          • +1
            Михаил Ушенин Михаил Ушенин 31 мая 2019 12:41 #

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

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

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

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

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

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

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

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

              Добрый день!

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

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

              ПРИМЕР:

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

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

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

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

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

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

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

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

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

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

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

                  • +1
                    chernolutsky chernolutsky Разработчик 14 марта 2021 16:47 #

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

                    • +1
                      Михаил Ушенин Михаил Ушенин 14 марта 2021 17:12 #

                      Повторная попытка отправки выполнятся в этом случае не будет. Вам нужно самостоятельно следить за балансом в своём аккаунте на сайте SMS-провайдера.

                    • +1
                      Минулин Руслан Минулин Руслан 14 мая 2021 12:04 #

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

                      • +1
                        Михаил Ушенин Михаил Ушенин 14 мая 2021 14:10 #

                        Такие уведомления отправляются на основании шаблонов, настроенных в приложении «Настройки».

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

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

                        Раздел помощи работает на основе приложения «Хаб»