Resolver GS1
Resolver GS1
O Resolver GS1 é a camada de leitura pública para um DPP. O URL canônico tem a seguinte aparência:
https://qr3.app/01/{GTIN}https://qr3.app/01/{GTIN}/10/{LOT}https://qr3.app/01/{GTIN}/21/{SERIAL}https://qr3.app/01/{GTIN}/10/{LOT}/21/{SERIAL}Ao criar um DPP (POST /v1/dpp), aplicam-se as seguintes regras: serial e lot devem usar segmentos de caminho seguros do GS1: apenas A-Z, a-z, 0-9, ., _, ~, - e um comprimento de 1 a 20 caracteres. Separadores de URL reservados são rejeitados para garantir que o link canônico permaneça resolvível.
Negociação de Conteúdo
O mesmo resolver fornece diferentes representações dependendo do cabeçalho Accept:
| Accept | Resposta |
|---|---|
text/html | HTML do consumidor |
application/ld+json | JSON-LD |
application/json | JSON bruto do DPP |
application/linkset+json | Linkset com alternativas |
Rotas publicamente visíveis
GET /01/...é o resolver canônicoGET /dpp/:gtin/:serial?lot=...é um alias HTMLGET /v1/dpp/:id/qr.svgfornece o SVGGET /v1/dpp/:id/qr.pngfornece o PNGGET /v1/dpp/:id/qr.pdffornece o PDFGET /v1/dpp/:id/qr.epsfornece o EPS
A visibilidade dos assets de QR depende do status do DPP:
liveestá disponível publicamente sem autenticaçãodraftearchivedprecisam de um contexto de autenticação válido e acesso ao Workspace- Autenticação inválida retorna
401 - Workspaces invisíveis ou de terceiros retornam
404
Fallback
Sem correspondência local, o resolver GS1 redireciona com 307 para https://id.gs1.org. Para o alias GTIN /dpp/:gtin/:serial?lot=..., isto também se aplica a um dígito de controle GTIN inválido: gtin, lot e serial são codificados separadamente como segmentos do caminho URL, incluindo os separadores reservados. O redirecionamento não confirma a validade do GTIN nem a disponibilidade de dados na GS1.
Exceção: se um identificador decodificado for apenas . ou .., o alias sem correspondência local responde com 422, application/problem+json, o tipo https://docs.qr3.app/errors/validation e o campo afetado em errors[], sem redirecionamento. Os analisadores de URL normalizam estes segmentos mesmo quando codificados. Valores como LOT.1 e ... continuam a poder ser encaminhados. A exceção aplica-se apenas a este alias sem correspondência; a validação na criação, o resolver canônico e as correspondências existentes não mudam.
GET /dpp/{GTIN}/UNKNOWN?lot=LOT%2F1307 Location: https://id.gs1.org/01/{GTIN}/10/LOT%2F1/21/UNKNOWN
GET /dpp/{GTIN}/UNKNOWN?lot=.422 Content-Type: application/problem+jsonNa Prática
- Criar o DPP no painel (Dashboard).
- Usar o URI do GS1 como destino do QR.
- Direcionar os sistemas consumidores para o formato desejado usando o cabeçalho
Accept.