Resolver GS1
Resolver GS1
Resolver GS1 to publiczna warstwa odczytu dla DPP. Kanoniczny adres URL wygląda następująco:
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}Przy tworzeniu DPP (POST /v1/dpp) obowiązują następujące zasady: serial i lot muszą używać bezpiecznych segmentów ścieżki GS1: tylko A-Z, a-z, 0-9, ., _, ~, - oraz długość od 1 do 20 znaków. Zarezerwowane separatory adresów URL są odrzucane, aby link kanoniczny pozostał możliwy do rozwiązania.
Negocjacja zawartości
Ten sam resolver dostarcza różne reprezentacje w zależności od nagłówka Accept:
| Accept | Odpowiedź |
|---|---|
text/html | HTML dla konsumenta |
application/ld+json | JSON-LD |
application/json | Surowy DPP-JSON |
application/linkset+json | Zbiór linków (Linkset) z alternatywami |
Trasy widoczne publicznie
GET /01/...to kanoniczny resolverGET /dpp/:gtin/:serial?lot=...to alias HTMLGET /v1/dpp/:id/qr.svgzwraca SVGGET /v1/dpp/:id/qr.pngzwraca PNGGET /v1/dpp/:id/qr.pdfzwraca PDFGET /v1/dpp/:id/qr.epszwraca EPS
Widoczność zasobów QR zależy od statusu DPP:
livejest publicznie dostępny bez uwierzytelnianiadraftiarchivedwymagają ważnego kontekstu uwierzytelniania oraz dostępu do obszaru roboczego (Workspace)- Nieprawidłowe uwierzytelnienie zwraca
401 - Niewidoczne lub należące do innych podmiotów obszary robocze (Workspaces) zwracają
404
Fallback
Jeśli nie ma lokalnego dopasowania, resolver GS1 przekierowuje ze statusem 307 do https://id.gs1.org. Dla aliasu GTIN /dpp/:gtin/:serial?lot=... dotyczy to również nieprawidłowej cyfry kontrolnej GTIN: gtin, lot i serial są kodowane oddzielnie jako segmenty ścieżki URL, także zarezerwowane separatory. Przekierowanie nie potwierdza poprawności GTIN ani dostępności danych w GS1.
Wyjątek: jeśli zdekodowany identyfikator to wyłącznie . lub .., alias bez lokalnego dopasowania odpowiada statusem 422, formatem application/problem+json, typem https://docs.qr3.app/errors/validation i wskazuje pole w errors[], bez przekierowania. Parsery URL normalizują te segmenty nawet w zakodowanej postaci. Wartości takie jak LOT.1 i ... nadal można przekazywać. Wyjątek dotyczy tylko tego aliasu bez dopasowania; walidacja przy tworzeniu, resolver kanoniczny i istniejące dopasowania pozostają bez zmian.
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+jsonW praktyce
- Utwórz DPP w panelu nawigacyjnym (Dashboard).
- Użyj identyfikatora URI GS1 jako celu kodu QR.
- Skieruj systemy konsumujące na żądany format za pomocą nagłówka
Accept.