ћерион Ќетворкс

6 минут чтени€

¬ этой статье расскажем как отправл€ть различные —ћ— сообщени€ пользовател€м, позвонившим в контакт-центр ќктелл и запросившим такую информацию: информаци€ по текущим тарифам, инструкции по смене тарифа или подписки и прочее.


Ќастройки в личном кабинете системы Ђ–остелеком —ћ— –екламаї

Ђ–остелеком —ћ— –екламаї позвол€ет отправл€ть —ћ—, использу€ простой API. ѕосле заключени€ договора и получени€ доступа к личному кабинету, необходимо настроить этот самый API. ƒл€ это в личном кабинете нажимаем на свой логин в правом верхнем углу и выбираем раздел Ђќбщие настройкиї:

ќбщие настройки

ќткроетс€ окно настроек профил€. «десь нажимаем кнопку ЂAPI-рассылкиї:

API-рассылки

ќткроетс€ список всех настроенных на данный момент подключений (если они уже настроены). —уществующее подключение невозможно редактировать, пока оно работает. ¬ы можете только посмотреть его, приостановить или завершить, если в этом есть необходимость. Ќажимаем кнопку ЂЌастроить подключениеї:

Ќастроить подключение

¬ открывшемс€ окне настроим параметры дл€ нашего подключени€.

ѕараметры подключени€

«десь необходимо задать следующие настройки:

  • “ип рассылки - в нашем случае, это HTTP. ќктелл будет присылать POST-запросы.
  • Ќазвание рассылки Ц любое произвольное название.
  • ¬рем€ жизни —ћ— Ц можно задать врем€ от 1 до 24 часов. ≈сли по истечение этого времени —ћ— не будет доставлена, отправка отмен€етс€.
  • IP-адрес клиента Ц здесь нужно указать Ђбелыйї IP, с которого будут приходить запросы. ≈сли адреса нет в списке, авторизаци€ не пройдет и —ћ— отправл€тьс€ не будут.

ѕосле нажати€ кнопки Ђѕродолжитьї статус рассылки изменитс€ на Ђѕодготовкаї, здесь нужно нажать кнопку Ђ—охранитьї и ожидать результата.

—охранить

Ќа этой странице, кроме параметров самой рассылки, так же приведены параметры дл€ подключени€: URL, login и пароль. Ёти параметры всегда можно посмотреть на странице УAPI-рассылкиФ, выбрав нужное подключение из списка.

“ак же необходимо создать и согласовать короткое им€, которое будет отображатьс€ в поле Ђќтправительї при получении —ћ—. Ёто нужно сделать в разделе Ђ–есурсыї - Ђ»мена отправителейї. Ётот параметр понадобитс€ нам далее.

»мена отправителей

Ётих настроек достаточно, чтобы можно было отправл€ть —ћ— посредством API. “еперь переходим к настройке системы ќктелл.


Ќастройка системы ќктелл

¬се по€снени€ по взаимодействию с API –остелекома изложены в инструкции ЂHTTP API дл€ отправки сообщений (JSON)ї.

POST-запрос отправл€етс€ на URL, указанный в настройках подключени€ в личном кабинете.  аждый запрос должен пройти авторизацию. јвторизаци€ происходит по методу HTTP Basic Auth, логин/пароль дл€ авторизации так же указаны в личном кабинете в настройках подключени€.

ƒл€ отправки сообщени€ в самом запросе нам нужны три значени€:

  • MSISDN Ц это номер адресата. ¬ формате 7 и 10-значный федеральный номер, (например: 79091234567)
  • Shortcode Ц им€ отправител€, созданное в личном кабинете ранее
  • Text Ц непосредственно сам текст сообщени€. ƒл€ переноса строки в тексте следует использовать последовательность символов \n, иначе сообщение не отправитс€.

»так, дл€ отправки —ћ— € создал отдельный сценарий. ¬ходным параметром дл€ него €вл€етс€ значение сессионной переменной.

—ценарий

ƒалее, в самом сценарии, в зависимости от значени€ этой переменной, подставл€етс€ соответствующий текст дл€ тела сообщени€:

—ценарий

–ассмотрим сценарий детальнее.

ѕроверка и корректировка јќЌ

Ќа первом этапе провер€ем јќЌ. “ак как у нас звонки приход€т с двух разных транков, на одном из них јќЌ выдаетс€ в формате 79091234567, а на другом 89091234567. ƒл€ использовани€ в запросе мы должны использовать формат с 7-кой в начале номера, и то, что не соответствует данному формату, нам нужно преобразовать:

ѕроверка и корректировка јќЌ

ѕри входе мы сравниваем јќЌ с числом 8 000 000 00 00. ≈сли јќЌ меньше этого числа, он проходит без изменений и мы присваиваем его значение переменной msisdn, которую будем использовать далее в POST-запросе. »наче нам необходимо вычесть из јќЌа число 1 000 000 00 00, и уже получившеес€ значение поместить в переменную msisdn:

msisdn

ѕодготовка текста сообщени€

Ќа данном этапе текст сообщени€ в моей задаче выбираетс€ из нескольких статичных шаблонов. ¬ последующем текст будет измен€тьс€ под каждого конкретного абонента (отсылаем информацию по его тарифу, услугам и прочее), но сейчас этот функционал еще не готов на стороне биллинговой системы. ¬ любом случае, текст сообщени€ выбираетс€ исход€ из значени€ сессионной переменной, значение которой было присвоено в предыдущем сценарии после того, как абонент выбрал какой-либо пункт IVR нажатием соответствующей кнопки. ¬ыбранный текст сохран€етс€ в переменной smstext, которую мы будем использовать далее в запросе:

smstext

ќтправка запроса

ѕосле того, как у нас есть значени€ всех переменных, мы переходим непосредственно к отправке самого POST-запроса (предварительно все ветви сход€тс€ в элементе Ђуведомлениеї, которое выводит текст сформированного сообщени€ и номер абонента. Ёто элемент отладки и на работу сценари€ никак не вли€ет). «апрос будет сформирован и отправлен с помощью инструмента WEB-запрос:

WEB-запрос

«десь используем следующие параметры:

  • URL Ц адрес, указанный дл€ отправки в параметрах соединени€ в личном кабинете
  • Ѕазова€ авторизаци€ Ц не использовать. ¬ документации за€влено, что это поле позвол€ет использовать необходимый нам метод HTTP Basic Auth, однако на деле, при включении данной опции, авторизаци€ у –остелекома не проходит.
  • ћетод Ц POST
  • “ип контента - application/json (нужно написать вручную)
  • “ип запроса Ц аргумент
  • «апрос Ц использован вот такой текст: '{"msisdn": ' + [msisdn] + ',"shortcode": "им€ из Ћ ","text": "' + [smstext] + ' "} ' √де:[msisdn] Ц им€ переменной, где хранитс€ номер телефона, на который отправл€ем смс, "им€ из Ћ " Ц короткое им€, которые мы настроили в личном кабинете, [smstext] Ц переменна€, где хранитс€ текст самого сообщени€.

¬ самом ќктеле это должно выгл€деть так (красный шрифт Ц статический текст, синий Ц переменные):

јргументы

¬ернемс€ к окну Ђ»нспектор объектовї (параметры объекта ЂWEB-запросї).

ƒополнительные заголовки Ц посредством этого пол€ мы выполним авторизацию. ƒл€ этого установим здесь значение:

Authorization:Basic YTJwdGVzdF9zaWJpcjphMnB0ZXXX, где YTJwdGVzdF9zaWJpcjphMnB0ZXXX Ц это login:pass в base64. ƒл€ получени€ этой строчки выписываем свои логин: пароль и переводим кодируем их в base64 на любом подход€щем интернет-ресурсе, например www.base64decode.org

ќтвет в переменную Ц укажем переменную, где будет сохран€тьс€ ответ на наш запрос. Ќужно, чтобы в дальнейшем с помощью инструмента Ђѕарсерї посмотреть результат запроса.

Ёлемент Ђѕарсерї настроим так, как указано на картинке ниже:

ѕарсер

“ег Ђstatusї информирует о результате запроса. ≈сли пришло ЂOKї - значит, запрос прин€т, сообщение отправлено. ≈сли пришло Ђerrorї - значит, произошла кака€-то ошибка. ¬ этом случае, в поле Ђreasonї будет указана ошибка, которую можно расшифровать, использу€ документацию:

“аблица ошибок

Ёто основные настройки, которые позвол€ют отправл€ть —ћ— через систему Ђ–остелеком —ћ— –екламаї из платформы ќктелл


—кидки 50% в Merion Academy

¬ыбрать курс