Обмен сообщениями приложения и стороннего сервиса

Все запросы приложений к стороннему сервису проходят через Облако Эвотор:

Схема передачи данных

Для отправки запросов приложения могут использовать только 80 и 443 порт.

Смарт-терминал не поддерживает протокол WebSocket.

Подготовка к отправке запросов

Для отправки запросов требуется:

Настройка списка разрешённых URL

Чтобы настроить список разрешённых URL:

  1. На портале dev.evotor.ru выберите приложение, для которого требуется указать список разрешённых URL.
  2. На вкладке Интеграция, установите флажок Проксирование запросов из приложения с терминала на ваш сервер (ver. 2) и укажите список URL, к которым может обращаться приложение.

Примеры:

После создания списка и установки приложения в Магазине приложений, обмен сообщениями происходит по описанному ниже процессу.

Шаг 1. Приложение отправляет HTTP-сообщение в сторонний сервис

Приложение создаёт HTTP-сообщение и отправляет его в сторонний сервис. Вы можете воспользоваться любым удобным способом отправки сообщения.

Например, для отправки HTTP-сообщения из Java-приложения вы можете, использовать библиотеку OkHttp или способ, описанный на сайте developer.android.com.

Независимо от версии проксирования, SDK смарт-терминала и Облако Эвотор поддерживают следующие HTTP-методы:

Эвотор гарантирует поддержку следующих MIME-типов:

Поддержка других MIME-типов не гарантируется.

Время ожидания соединения – пять секунд.

Шаг 2. Смарт-терминал передаёт сообщение в облако

Терминал перехватывает сообщение и передаёт его в облако Эвотор.

Заголовки, которые терминал добавляет к запросу вашего приложения:

Шаг 3. Облако передаёт сообщение адресату

Облако удаляет служебные заголовки, добавляет свои заголовки и передаёт сообщение адресату.

Заголовки, которые добавляет облако:

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

Шаг 4. Ответ стороннего сервиса

Ответ стороннего сервиса передаётся приложению в обратном порядке.

Требования к содержимому ответа отсутствуют. Время ожидания данных – 10 секунд.