Все запросы приложений к стороннему сервису проходят через Облако Эвотор:
Для отправки запросов приложения могут использовать только 80 и 443 порт.
Смарт-терминал не поддерживает протокол WebSocket.
В марте 2022 года истекает срок действия текущего SSL-сертификата облака Эвотор. Для подготовки к миграции на отечественные сертификаты заранее добавьте в свои сервисы корневой сертификат Минцифры:
Для отправки запросов требуется:
Установить приложение в Магазине приложений.
В данном случае установка подразумевает активацию приложения в Личном кабинете и необходима, чтобы применились URL, которые вы указали на сайте разработчиков.
Чтобы настроить список разрешённых URL:
Примеры:
http://example\.com/document.*\.jsp\?wildcard=\*¶m=value.*
;https://another\.host\.com/document.*\.jsp
;https://another\.host\.com/.*
.После создания списка и установки приложения в Магазине приложений, обмен сообщениями происходит по описанному ниже процессу.
Приложение создаёт HTTP-сообщение и отправляет его в сторонний сервис. Вы можете воспользоваться любым удобным способом отправки сообщения.
Например, для отправки HTTP-сообщения из Java-приложения вы можете, использовать библиотеку OkHttp или способ, описанный на сайте developer.android.com.
Независимо от версии проксирования, SDK смарт-терминала и Облако Эвотор поддерживают следующие HTTP-методы:
Эвотор гарантирует поддержку следующих MIME-типов:
application/x-www-form-urlencoded
application/json
application/xml
text/*
image/*
multipart/form-data
Поддержка других MIME-типов не гарантируется.
Время ожидания соединения – пять секунд.
Терминал перехватывает сообщение и передаёт его в облако Эвотор.
Заголовки, которые терминал добавляет к запросу вашего приложения:
X-Device-ID
X-Device-IMEI
X-User-ID
X-Signed-Url
X-Shop-UUID
X-Device-Salt
X-Device-Algorithm
X-Device-Date
X-Secret-Device-ID
X-OAuth-Client-ID
X-Device-UUID
X-Evotor-*
Expect
Host
Transfer-Encoding
Облако удаляет служебные заголовки, добавляет свои заголовки и передаёт сообщение адресату.
Заголовки, которые добавляет облако:
X-Evotor-Store-Uuid
– содержит идентификатор магазина в формате uuid4, к которому привязан терминал.X-Evotor-Device-UUID
– содержит идентификатор устройства в формате uuid4, полученный по запросу к /api/v1/inventories/devices
.X-Evotor-User-Id
– содержит идентификатор пользователя в Облаке Эвотор.Authorization
– содержит токен пользователя приложения стороннего сервиса. Токен необходим для bearer-авторизации.Сторонний сервер получает сообщение от облака Эвотор и определяет отправителя с помощью заголовка Authorization
.
Ответ стороннего сервиса передаётся приложению в обратном порядке.
Требования к содержимому ответа отсутствуют. Время ожидания данных – 10 секунд.