Передача транзакционных данных

Источники данных поддерживают передачу транзакционных данных, в которых хранятся сведения о запросах и изменениях источника данных в определенный момент времени. С помощью идентификации и сохранения запроса пользователя возможна обработка ответа при разрыве соединения.

Совет. Используйте передачу транзакционных данных, если не настроено кэширование.

Каждой записи транзакции присваивается уникальный идентификатор запроса - ID транзакции. Уникальность сгенерированного мобильным клиентом ID транзакции обеспечивается привязкой пользователя API и устройства в проекте.

Для использования ID транзакции в запросах к источникам данных добавьте заголовок X-Transaction-ID, содержащий уникальный идентификатор запроса. Заголовок X-Transaction-ID должен соответствовать стандарту UUID.

Примечание. Заголовок X-Transaction-ID является необязательным. При разрыве соединения и выполнении запросов без указания параметра будет получен ответ с сообщением об ошибке.

Пример запроса к источнику данных с использованием заголовка X-Transaction-ID (перед выполнением запроса определите токен пользователя):

curl  "<IP-адрес или DNS-имя сервера>/api/v1/rpc/<название ресурса источника данных>/" -X POST  -v -H "Content-Type: application/json" -H "Authorization: Bearer <токен пользователя>" -H "X-Transaction-ID: <UUID>"

После выполнения запроса будут получены данные из источника данных и запрос будет добавлен в историю транзакций.

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

Алгоритм запросов с ID транзакции:

  1. Мобильное приложение отправляет запрос к ресурсу источника данных.

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

  3. Если соединение между сервером и мобильным устройством прерывается, то при повторном запросе мобильное приложение указывает ID транзакции прошлого запроса для избежания повторного выполнения запроса в источнике данных.

  4. Сервер мобильной платформы возвращает сообщение об успешной обработке прошлого запроса и ответ на запрос.

Запросы к транзакциям приведены в разделе «Метод работы с транзакциями».

См. также:

Подключение источников данных