HTTP

В статье переводим bpm’online на HTTPS я описал процесс перевода сайта приложения на использование безопасного протокола https. Но, не так давно, центр сертификации StartCom был заблокирован основными браузерами и больше не считается надежным. Не спешите покупать платный сертификат, в этой статье я опишу, как бесплатно получить надежный сертификат и забыть о проблеме раз и на долго 🙂

Let’s Encrypt — это OpenSource центр сертификации, который предоставляет API для получения бесплатных сертификатов на 90 дней. Вам не нужно заходить на сайт, регистрироваться, покупать сертификаты. Достаточно выполнить один запрос и настроить автоматическое обновление. В официальной документации весь процесс автоматизирован для Linux\Unix платформ и в будущей версии webitel Вы найдете инструменты для получения и продления сертификатов.

Как быть с Windows? Я нашел несколько утилит, но одна мне особенно понравилась своей простотой — letsencrypt-win-simple. Все, что Вам нужно — это скачать архив с последней версией, распаковать его и запустить в консоли PowerShell утилиту:

LetsEncrypt

Вам будет предложено только 2 действия: ввести свой email и выбрать сайт для установки нового сертификата из списка доступных сайтов. Утилита автоматически сгенерирует сертификат и установит его на выбранном вами сайте:

Перезапускаем приложение и проверяем наш сайт:

Время от времени возникает вопрос — как быстро получить информацию пропущенном или переведенном звонке, когда я не в офисе? Раньше я предлагал отправлять SMS сообщение, но сейчас с этой задачей прекрасно справляются Push-уведомления. Давайте посмотрим, как это работает в webitel.

В качестве клиентского приложения для получения Push я использую универсальный клиент Pushover, который доступен для всех мобильных платформ. После регистрации и установки приложения, вы должны получить User Key.

Создаем свое приложение и получаем Token Key.

User Key и Token Key будут нам нужен для отправки сообщений.

А дальше, все элементарно просто — воспользуемся приложением httpRequest для отправки сообщений из ACR маршрутизации. К примеру, я уже по номеру телефона из bpm’online получил имя клиента и теперь могу отправить себе эту информацию на телефон:

{
        "httpRequest": {
            "url": "https://api.pushover.net/1/messages.json",
            "method": "POST",
            "headers": {
                "Content-Type": "application/x-www-form-urlencoded"
            },
            "data": {
                "html": 1,
                "user": "hGvdrtgFDvsgtrfBBFgvfff",
                "token": "HGGtyteg66gbGFfggtdgbgG",
                "message": "<font color=blue>входящий звонок от </font> <b>${effective_caller_id_name}</b> с ${caller_id_number}"
            }
        }
    }

Если звонок переводят мне на мобильный, то я получаю вот такие уведомления, еще до того, как звонок поступить ко мне через GSM сеть: