Контрольная сумма (КС)
Это значение, рассчитанное по блоку данных путём применения определенного алгоритма.
Совпадение КС на стороне Quiz с КС на стороне клиента гарантирует согласованность блока данных между системами.
Расчет КС
На стороне Quiz
Отправить запрос вида:
<API_URL>/checksum?object=<ИМЯ_ОБЪЕКТА>, который вернет КС по всем блокам объекта.На стороне внешней системы клиента
Рассчитать КС отдельно для каждого блока данных.
Сформировать блок данных объекта с помощью SQL-запроса с группировкой:
Если в объекте есть дата факта, то группируем данные по полю.
Если в объекте нет даты, то не группируем данные.
Вычислить хэш (алгоритм SHA-256) от конкатенации суммы по полю
RowVersionи кол-ва всех записей, содержащихся в блоке. Пример расчета для MS SQL Server:hashbytes('SHA2_256', cast(concat(sum(cast(RowVersion as bigint)), count(RowVersion)) as varchar(255))) as HashValue