# GTIN digital link
# format for QR
Для генерации ссылки которую необходимо положитьв в QR используется формат [GS1 Digital Link](https://www.gs1au.org/what-we-do/standards/digital-link) с применением [сжатия](https://github.com/gs1/GS1DigitalLinkCompressionPrototype)
Пример генераторов кодов [GS1 Digital Link](https://barcode.tec-it.com/en/GS1DigitalLink_QRCode)

При формировании Digital Link используется стандартный способ задачи GTIN номера, дополнительный параметры связанные с НСИТ задаются в виде именованных Data Attributes.
где:
n:"938422934232" - это код НСИТ
gtin:"012345678905" - стандартный атрибут DigitalLink в AI GTIN
s:"superSecret" - секрет, до 12и знаков
v:"1" - версия кода нсит
хеш вычисляется из всех полей приведенных к нижнему регистру и отсортированных по алфавиту, к примеру:
```
hash = sha512(${ncit}+${gtin}+${s}+${v})
hash = sha512(938422934232012345678905superSecret1) //020c2453fb857d5ff7c3ac0f352e07310587a98204c5b73229f204f365c693871a568c2f76c532f7a76fed87ca053dac7ffb81fe8901785e4b3ad058cd0b2ad6
```
[Пример реализации sha512](https://emn178.github.io/online-tools/sha512.html)
hash должен быть передан в НСИТ при активации марки.
В виде GS1 Resolver указывается сайт nsit.gov.ua
Итоговый digital link выгдялит как:
```
https://nsit.gov.ua/01/012345678905?s=superSecret&n=938422934232&v=1
```
Для нанесения на QR Digital Link сжимается при помщи алгоритма компрессии Digital Link
Получаем сжатый digital link:
```
https://nsit.gov.ua/AQAFv7g4c-BsYuy6l6tJ5yt63wM4GbT8uzWx4G8AR
```
пример digital linkt c кодом нситв в виде qr кода:

Пример кода DigitalLink без указания секрета
```
https://nsit.gov.ua/01/012345678905?n=938422934232&v=1
```
Она же в сжатом виде
```
https://nsit.gov.ua/AQAFv7g4c-BnAzafl2a2PA3gCI
```
# Для EAN-13
В коде содержится 12 знаков, контрольный знак рассчитывается относительно стандарта.
Для кода: 123456789012 получится вот такая картинка:

где 8 является контрольным числом расчитанным по алгоритму из [статьи](https://magenta.su/info/article/podrobno-o-shtrih-kode-ean-13.html)