Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

...

  • Id - guid
  • TimestampFrom - время последней синхронизации клиента с сервером
  • TimestampTo - новое время последней синхронизации клиента с сервером. Оно должно быть использовано в качестве значения TimestampFrom при следующей синхронизации
  • DeletedEntities - массив удалённых записей в формате json
  • ChangedEntities - массив изменённых записей в формате json
  • FiltersToApply - список фильтров для удаления неактуальных данных на клиенте
Блок кода
{"Id":"2aedcc06-3d1b-4b29-b5af-d5bacf8326c7","TimestampFrom":0,"TimestampTo":636062561934757950,"DeletedEntities":[],"ChangedEntities":[],"FiltersToApply":[]}

 

Структура json объекта отдельной записи

...

  1. Клиент отправляет свой документ с данными и заполненным полем TimestampFrom, в нем передается время последней успешной синхронизации с сервером.. Если это поле = 0, то синхронизация считается начальной и клиент получит полный набор данных с сервера.
  2. Сервер получает документ с данными, заполняет в нём поле TimestampTo текущей датой и выполняет обновление записей или помечает их как удаленные. Всем затронутым записям присваивается одно и то же значение Timestamp TimestampTo
  3. Сервер получает список записей в таблицах, изменённых после TimestampFrom, и возвращает клиенту JSON документ с данными. В этом документе значение TimestampTo является датой последней успешной синхронизации и должно быть запомнено клиентом.