Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Начиная с версии 1.3.1084 WNAM поддерживает отправку функцию отправки идентификационных СМС через шлюз любого провайдера, поддерживающий протокол работу протокола HTTP и метод GET или POST.

Поскольку Так как универсального стандарта формата сообщения не существует (в противоположность отличие от протокола SMPP), выбор параметров запроса отправки зависит от предпочтений регламента работы СМС-провайдера. Предлагаемый Такой способ настройки WNAM позволит позволяет обеспечить взаимодействие с практически любым провайдером без запроса модификации исходного кода.

Для настройки этого способа первым делом обратитесь к вашему СМС шагом необходимо обратиться к используемому СМС-провайдеру за документом, описывающим параметры взаимодействия - формат GET или POST запроса, и а также за учетной записью (ваши собственные логин и пароль, возможно - заголовок (отправитель) СМС-сообщения).

В настройках метода авторизации (в "общих настройкахпункт меню "Конфигурация", далее "Гостевая конфигурация" → "Методы авторизации" → "Создать", или в настройках для индивидуальной площадки) выберите необходимо выбрать метод "Отправка СМС абоненту", а в качестве провайдера "Произвольный шлюз по протоколу HTTP GET" (или POST, если требуется).

Параметры учетной записи ("Логин" и "Пароль") заполнять обычно не следует. Логин и пароль для шлюза провайдера вы потом заполните следует заполнить позже в поле "Текст", то есть в тексте запроса. Исключение Исключением может составлять являться провайдер, который в GET или POST запросе требует предварительной авторизации в режиме HTTP Basic Auth: в этом случае указанные логин и пароль передаются в авторизационной части HTTP-заголовка.

...

Параметр "Текст" содержит полную ссылку-запрос до HTTP-шлюза провайдера, со всеми необходимыми параметрами. Запрос должен начинаться с со слова "http". Поддерживается протокол HTTP и HTTPS, а также произвольный выбор TCP-порта.

Image RemovedImage Added

Например, для провайдера SMSC.RU полный формат запроса будет выглядеть так:

...

Для провайдера Kazinfoteh формат запроса будет выглядеть так:

http://212.124.121.186:9501/api?action=sendmessage&username=MyUserName&password=MySecretPassword&recipient=%PHONE%&messagetype=SMS:TEXT&originator=INFO_KAZ&messagedata=Код доступа в Интернет: %CODE%

Вы должны Необходимо указать полный URL в соответствии с требованиями провайдера. Вместо номера телефона получателя используйте следует использовать %PHONE%, вместо МАС-адреса устройства - %MAC%, вместо кода доступа - %CODE%.

При отправке методом POST сообщение серверу передается в обычном для этого метода режиме (пары типа ключ-значения, в отдельных строках). Если ваш используемый сервер требует формата сообщений JSON, например, в теле POST:

{
 "sourceId":"9999",

...

 "message":"SMS CODE 1234"
}

В набор URL запроса надо необходимо добавить параметр json=yes, чтобы получилось текст выглядел так:

https://smsc.ru/sys/send.php?json=yes&login=MyUserName&psw=MySecretPassword&phones=%PHONE%&charset=utf-8&mes=Код доступа в Интернет: %CODE%

Нажмите Затем нажать на кнопку "Сохранить изменения".

...

Проверить работоспособность шлюза можно путем отправки тестового запроса из интерфейса WNAM: http://адресвашегосервера/cp/testsend.

В логе WNAM, в файле /var/log/tomcat8/wnam.log должна появиться следующая запись:

19:19:12.706 DEBUG [com.netams.wnam.services.SmsService:192] - url=http://212.124.121.186:9501/api, data=action=sendmessage&username=MyUserName&password=MySecretPassword&recipient=79123456789&messagetype=SMS%3ATEXT&originator=INFO_KAZ&messagedata=%D0%9A%D0%BE%D0%B4+%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%B0%3A+%25CODE%25
19:19:13.037 DEBUG [com.netams.wnam.services.SmsService:211] - sms_http to: +79123456789 return '<?xml version="1.0" encoding="utf-8"?>'

...