Digital Link

Tecnologia GS1 Digital Link: a sintaxe da URI, regra por regra, com exemplos

Atualizado

Mia

Por Mia

Redatora especializada em padrões GS1 e regulamentação europeia de rotulagem.

Ilustração de smartphones e fichas de produto em verde-azulado, laranja e roxo, várias delas mostrando o ícone de um QR code

TL;DR

  • Uma URI GS1 Digital Link é um endereço web com uma gramática fixa: um domínio, uma chave primária como /01/ com um GTIN de 14 dígitos, qualificadores de chave opcionais no caminho e atributos de dados na query string.
  • Os seus números são identificadores de aplicação (IAs) GS1, os mesmos usados nos códigos de barras GS1-128, de modo que uma URI se converte em uma cadeia de elementos tradicional, e vice-versa, sem perder dados GS1.
  • As regras que costumam causar erros: GTINs completados até 14 dígitos com um dígito verificador válido, qualificadores em uma ordem fixa (22, 10, 21), atributos só depois do ? e símbolos nos valores codificados por porcentagem.

Uma URI GS1 Digital Link é um endereço HTTPS que carrega identificadores GS1 em uma estrutura padrão, para que um celular possa abri-lo e um leitor possa extrair dele os identificadores. O caminho contém a identidade; a query string contém dados extras e instruções para o resolver. Para o vocabulário, veja conceitos básicos do GS1 Digital Link; para o que acontece depois de uma leitura, o guia do resolver.

Padrãohttps://{domain}/{key AI}/{value}/{qualifier AI}/{value}?{attribute AI}={value}
IdentidadeNo caminho: exatamente uma chave primária e, depois, qualificadores de chave opcionais em uma ordem fixa
Dados extrasNa query string: atributos de dados como a data de validade 17 ou o peso líquido 310n
Formato do GTINSempre 14 dígitos, completados com zeros à esquerda, terminando em um dígito verificador válido
Caracteres especiaisCodificados por porcentagem: uma / dentro de um número de lote vira %2F
Instruções para o resolverlinkType na query string, como linkType=gs1:pip ou linkType=linkset

Uma URI GS1 Digital Link identificada parte por parte: domínio, chave de identificação primária 01, GTIN, qualificador de chave 22, CPV, atributo de dados 17 e data de validade

Um exemplo completo:

https://id.example.com/01/09506000134352/22/2A/10/LOT42/21/1234?17=271231&3103=000750

ParteNo exemploRegra
Domínioid.example.comQualquer domínio, depois de https://. Ele decide qual resolver responde a um celular, mas não faz parte da identidade do produto
Chave primária/01/09506000134352Exatamente uma por URI: um IA seguido do seu valor
Qualificadores de chave/22/2A/10/LOT42/21/1234Opcionais, no caminho, na ordem definida para essa chave
Atributos de dados?17=271231&3103=000750Opcionais, como pares AI=value unidos por &, em qualquer ordem

Lendo da esquerda para a direita: GTIN 09506000134352, variante do produto de consumo 2A, lote LOT42, número de série 1234, data de validade 31 de dezembro de 2027, peso líquido 0,750 kg.

O GTIN é a chave nos produtos de consumo, mas a sintaxe também cobre as outras chaves GS1:

Chave GS1IAIdentificaQualificadores de chave
GTIN, Global Trade Item Number01Um item comercial, em qualquer nível de embalagem22, 10, 21
SSCC, Serial Shipping Container Code00Uma unidade logística, como um palete (18 dígitos)Nenhum
GLN, Global Location Number414Um local físico (13 dígitos)254, componente de extensão do GLN

As chaves de ativos, como o GRAI (8003) e o GIAI (8004), seguem o mesmo padrão.

Como funcionam os qualificadores de chave de um GTIN?

Os qualificadores de chave restringem um GTIN de um produto a uma variante, um lote ou uma única unidade. Eles vão no caminho, nesta ordem:

OrdemIAQualificadorFormatoIdentifica
122Variante do produto de consumo (CPV)Até 20 caracteresUma variante dentro de um GTIN
210LoteAté 20 caracteresUm ciclo de produção
321Número de sérieAté 20 caracteresUma unidade

Qualquer um deles pode ser omitido, mas os que você usar mantêm essa ordem:

CaminhoVálido?
/01/09506000134352/10/LOT42/21/1234Sim
/01/09506000134352/21/1234Sim: um número de série sem lote
/01/09506000134352/21/1234/10/LOT42Não: o número de série vem antes do lote
/01/09506000134352/17/271231Não: a data de validade vai na query string

Um resolver usa os qualificadores para encontrar a sua entrada mais específica e, se não houver, volta ao nível do produto.

Quais atributos de dados vão na query string?

Os atributos de dados descrevem o item sem mudar a sua identidade:

IAAtributoFormatoExemplo
17Data de validadeAAMMDD17=271231: 31 de dezembro de 2027
15Data de consumo preferencialAAMMDD15=270630: 30 de junho de 2027
310nPeso líquido em kg, n = casas decimais6 dígitos3103=000750: 0,750 kg
422País de origemCódigo numérico ISO 3166 de 3 dígitos422=380: Itália

Cada atributo aparece uma vez, em qualquer ordem. Um resolver repassa a query string sem alterações quando redireciona, para que a página de destino possa lê-la.

Sempre com 14 dígitos. Os GTINs mais curtos recebem zeros à esquerda, que não mudam nem o número nem o seu dígito verificador:

GTIN sob o código de barrasNa URI
GTIN-12 (UPC-A): 614141123452/01/00614141123452
GTIN-13 (EAN-13): 9506000134352/01/09506000134352

O último dígito é um dígito verificador. Para 9506000134352, multiplique os doze dígitos anteriores, a partir da direita, por 3, 1, 3, 1 e assim por diante, e some os resultados: 78. O dígito verificador leva esse total ao próximo múltiplo de dez: 80 − 78 = 2.

Quais caracteres precisam de codificação por porcentagem?

Letras, dígitos, -, . e _ entram como estão. Os outros símbolos nos valores de lote, de número de série ou de CPV são codificados por porcentagem, para que não sejam confundidos com a estrutura do endereço:

CaractereCodificado comoValorNa URI
/%2FAB/12/10/AB%2F12
%%2550%OFF/10/50%25OFF
&%26A&B/21/A%26B

Os valores diferenciam maiúsculas de minúsculas, então LOT42 e lot42 são lotes diferentes, e espaços não são permitidos.

O que é a forma comprimida?

O padrão também define uma forma comprimida para códigos muito pequenos: tudo o que vem depois do domínio é condensado em uma sequência curta de letras, dígitos, - e _, ilegível a olho nu, que o resolver expande antes de validar. Use a forma não comprimida, a menos que o tamanho do símbolo não deixe escolha: ela é mais fácil de verificar antes da impressão, e um código comprimido só funciona onde todos os leitores e apps da sua cadeia conseguem descomprimi-lo.

Como o linkType e os linksets entram na URI?

O linkType não é um identificador, mas uma instrução para o resolver, escrita na query string:

URIO que o resolver retorna
https://id.example.com/01/09506000134352Um redirecionamento para o link padrão, normalmente a página do produto
https://id.example.com/01/09506000134352?linkType=gs1:recallStatusUm redirecionamento para o link de status de recall, se houver um
https://id.example.com/01/09506000134352?linkType=linksetA lista completa de links desse GTIN, em um formato legível por máquina

Os tipos de link vêm do GS1 Web Vocabulary, como gs1:pip (página de informações do produto), gs1:instructions e gs1:allergenInfo. O idioma não é definido na URI: o resolver o obtém da solicitação do celular.

Eles carregam os mesmos dados GS1 em duas sintaxes:

FormatoExemploUsado em
Cadeia de elementos(01)09506000134352(10)LOT42(17)271231Códigos de barras GS1-128 e o texto sob os símbolos GS1
URI GS1 Digital Linkhttps://id.example.com/01/09506000134352/10/LOT42?17=271231QR codes e símbolos Data Matrix que os celulares conseguem abrir

Em uma cadeia de elementos, os parênteses aparecem só no texto impresso, e um valor de comprimento variável, como um lote, termina com um caractere separador quando vem outro IA depois dele; na URI, as barras, o ? e o & fazem esse papel. Converter uma URI em uma cadeia de elementos mantém todos os IAs e valores e descarta o domínio e as instruções para o resolver, que é o que faz um caixa preparado para 2D, sem conexão com a internet. Para a escolha do símbolo, veja QR code x Data Matrix.

  1. Escolha o domínio. Comece com https:// e um domínio que você controla, como id.yourbrand.com, para que os códigos continuem sendo seus seja qual for o fornecedor que opera o resolver.
  2. Escolha a chave primária. Para um produto, o IA 01 e o seu GTIN: /01/.
  3. Escreva o GTIN com 14 dígitos. Complete com zeros à esquerda e confira o último dígito: 9506000134352 vira 09506000134352.
  4. Acrescente os qualificadores de chave de que você precisa, na ordem. CPV /22/, lote /10/, número de série /21/.
  5. Codifique os valores por porcentagem. Mantenha letras, dígitos, -, . e _, e codifique o resto: AB/12 vira AB%2F12.
  6. Acrescente os atributos de dados depois do ?. Escreva cada um como AI=value, unidos por &: ?17=271231&3103=000750.
  7. Valide antes de imprimir. Converta a URI em uma cadeia de elementos e confira cada valor, abra-a em um navegador e, depois, leia o código impresso em vários celulares e em um leitor 2D. O guia de solução de problemas lista as falhas mais comuns.

O resultado para um lote com data de validade: https://id.yourbrand.com/01/09506000134352/10/AB%2F12?17=271231.

A Digital Link, a plataforma por trás deste site, escreve essas URIs para você. Ela valida cada GTIN quando um link é criado e acrescenta lote, número de série, data de validade, peso líquido, país de origem, data de embalagem ou variante do produto de consumo como variantes de um link, cada uma com o seu próprio conjunto de links. Os códigos podem ser criados em massa a partir de um arquivo CSV, no seu próprio subdomínio ou no dlink.is incluído.

Crie o seu primeiro QR code GS1 Digital Link

Perguntas frequentes

Sim. Um GTIN-8, GTIN-12 ou GTIN-13 é completado com zeros à esquerda até 14 dígitos, então 9506000134352 é escrito /01/09506000134352. O dígito verificador continua o mesmo e deve ser válido.

Em que ordem vão os qualificadores de chave?

Para um GTIN: a variante do produto de consumo 22, depois o lote 10 e, depois, o número de série 21. Qualquer um pode ser omitido, mas os que você usar mantêm essa ordem.

O domínio muda a identidade do produto?

Não. O domínio decide qual resolver responde a um celular, mas a identidade é a chave primária e os seus qualificadores. O mesmo GTIN em dois domínios é o mesmo produto.

São os mesmos dados em dois formatos. Uma cadeia de elementos, como (01)09506000134352(10)LOT42, é o formato dos códigos de barras GS1-128. Uma URI GS1 Digital Link escreve esses dados como um endereço web que os celulares conseguem abrir.

Devo usar a forma comprimida?

Só se o símbolo for pequeno demais para o endereço completo. Um código comprimido só funciona onde todos os leitores e apps conseguem descomprimi-lo.

Seja líder na transição dos códigos de barras para os QR codes GS1