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

Ключ

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

Метод авторизации

МетодОписаниеПараметрыПример
GetUserId(GET)Возвращает UserId пользователя в текстовом виде, либо ошибку 401 при неправильном логине\пароле.




Для обращения к методу следует использовать платформенный WebRequest, задав ему имя и пароль.
URL метода: http://{hostname}/bitmobile/{solution}/device/GetUserId ,где {hostname} и {solution} нужно заменить на адрес сервера и имя решения соответственно.

Также в WebRequest теперь автоматически проставляется хедер Authorization с Basic авторизацией, если был задан логин и пароль.

 UserName (String) Password (String)
Блок кода
languagec#
public static void StartAuthorization(string userName, string password, AuthScreen screen)
        {
            _webRequest.UserName = userName;
            _webRequest.Password = password;
            _screen = screen;

            _webRequest.Get(Settings.AuthUrl, Callback);
        }

Логика синхронизации

При инициализации базы MSSQL по метаданным в каждую таблицу добавляются служебные поля IsDeleted и TimestampIsDeleted - поле boolean типа, флаг удаленной записи. Timestamp - поле типа bigint, содержащее в себе время последней модификации записи.

...

Блок кода
{"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 является датой последней успешной синхронизации и должно быть запомнено клиентом.

...