GS1 identifikatori i onboarding
GS1 identifikatori i onboarding
qr3.app se oslanja na BYO-GTIN/BYO-GLN model (Bring Your Own): donosite svoje postojeće GS1 identifikatore — qr3 preuzima digitalni sloj proizvoda (Product-Layer) iznad njih.
Što radi GS1?
GS1 dodjeljuje globalno jedinstvene identifikatore za proizvode i lokacije:
| Identifikator | Opis | Primjer |
|---|---|---|
| GTIN-14 | Global Trade Item Number (ID proizvoda) | 04012345678901 |
| GLN-13 | Global Location Number (lokacija/tvrtka) | 4012345000009 |
| Company Prefix | Prefiks tvrtke (7-12 znamenki) iz kojeg se izvode GTIN-ovi | 4012345 |
Kako biste dobili GTIN-ove, potrebno vam je članstvo u GS1 kod vaše nacionalne GS1 organizacije (npr. GS1 Croatia, GS1 Germany).
Što radi qr3.app?
qr3.app koristi vaše postojeće GS1 identifikatore i nudi:
- GS1 kompatibilan resolver —
/01/{GTIN}/21/{Serial}s Content-Negotiation - EU Digital Product Passport — izrada DPP-a, validacija, korisnički prikaz (Consumer-Ansicht)
- QR materijali spremni za tisak — SVG, PNG, vektorski PDF, EPS
- JSON-LD, DCAT-AP — strojno čitljivi podaci o proizvodu
Onboarding proces
1. Registracija GS1 identifikatora
Prije nego što možete izraditi DPP-ove, morate registrirati svoje GTIN-ove (ili svoj Company Prefix):
Per API:
curl -X POST https://qr3.app/v1/gs1/identifiers \ -H "Authorization: Bearer qr3_sk_..." \ -H "Content-Type: application/json" \ -d '{"identifier_type": "company_prefix", "value": "4012345", "label": "GreenPower GmbH"}'Putem nadzorne ploče (Dashboard):
- Idite na Nadzorna ploča → GS1
- Odaberite vrstu (GTIN, GLN ili Company Prefix)
- Unesite vrijednost — provjera kontrolne znamenke (Check-Digit) vrši se automatski
- Kliknite Dodaj identifikator
Vaša organizacija ima svaki identifikator samo jednom, u jednom od svojih radnih prostora. Ako uklonjeni identifikator ponovno registrirate, vraća se (201, isti id) kao vlastita izjava i nepotvrđen, čak i ako je prije uklanjanja bio potvrđen; ako je bio u drugom radnom prostoru, premješta se u ovaj. Ako je još registriran, odgovor je 409 s reason already_registered (u ovom radnom prostoru) ili registered_in_other_workspace (u drugom; workspace ga navodi ako ga smijete otvoriti). Ako se radni prostor u međuvremenu arhivira, reason je workspace_archived; ništa se ne registrira.
2. Izrada DPP-ova
Nakon što je GTIN registriran (izravno ili putem Company Prefixa), možete kreirati DPP-ove s njim:
curl -X POST https://qr3.app/v1/dpp \ -H "Authorization: Bearer qr3_sk_..." \ -H "Content-Type: application/json" \ -d '{"gtin": "04012345678901", "product_name": "EcoMax Battery", ...}'3. Provjera vlasništva (Ownership)
qr3.app prilikom svake izrade DPP-a provjerava pripada li korišteni GTIN vašoj organizaciji:
- Izravna registracija — GTIN je registriran kao
identifier_type: "gtin" - Podudaranje prefiksa (Prefix-Match) — GTIN počinje s registriranim Company Prefixom (pozicija 2..N u GTIN-14)
Bez odgovarajuće registracije pojavit će se pogreška 422 s napomenom da najprije morate registrirati GTIN.
Ista provjera vrijedi za POST /v1/dpp/batch i POST /v1/dpp/import, sinkrono i kao zadatak u redu: jedan GTIN bez registracije odbija cijeli zahtjev s 422 (naslov GTIN Not Registered, odbijeni GTIN-ovi u gtins, njihov broj u total); ništa se ne izrađuje niti stavlja u red. Postojeće putovnice ostaju nepromijenjene. Prijava putovnice u EU registar proizvoda (POST /v1/dpp/:id/register) dodatno zahtijeva da organizacija putovnice drži GTIN (vidi odjeljak 4); inače je odgovor 409 (naslov GTIN Held by Another Organization).
4. Potvrda
Registracija putem API-ja ili nadzorne ploče je vlastita izjava (verified_by: "self", verified_at: null). Potvrđeni identifikator ima verified_at (verified_by: "gs1_registry" ili "admin"); postavlja ga qr3 nakon što provjeri zahtjev s dokazom (vidi dolje). Potvrđeni GTIN ili Company Prefix:
- veže javni GS1 resolver za te GTIN-ove uz vašu organizaciju, čak i ako je druga organizacija ranije izradila putovnicu;
- blokira svaku drugu organizaciju: izrada DPP-a za takav GTIN, i putem skupne obrade ili uvoza, vraća
409(errors/conflict, naslovGTIN Verified by Another Organization, odbijeni GTIN-ovi ugtins). Skupna obrada i uvoz odbijaju se u cijelosti.
Bez potvrde GTIN pripada organizaciji koja ga drži najdulje bez prekida (detalji: GS1-Resolver). Ako se vaš GTIN razrješava u putovnicu druge organizacije, zatražite njegovu potvrdu.
Zatražiti potvrdu
Na nadzornoj ploči pod GS1, odjeljak Zatraži potvrdu: unesite vrstu (GTIN ili Company Prefix) i vrijednost, učitajte dokaz i pošaljite zahtjev. Dokaz pokazuje da vaša organizacija ima GTIN ili Company Prefix od GS1, na primjer potvrdu licence vaše GS1 organizacije (PDF, PNG, JPEG ili WebP). Sprema se privatno; vide ga samo vaša organizacija i tim qr3. Automatskog upita prema GS1 nema.
Tim qr3 provjerava dokaz te odobrava zahtjev ili ga odbija uz obrazloženje. Nakon odobrenja identifikator je potvrđen (verified_by: "admin") i djeluje kako je opisano gore. O svakoj odluci dobivate e-poruku na adresu za obavijesti vaše organizacije, inače na adresu vlasnika.
- Tko: samo administratori organizacije (
org_adminili vlasnik). Ostale uloge i izravni API ključevi dobivaju403. Ni podrška qr3 ne može poslati zahtjev u vaše ime. - Status:
pending(u provjeri),approved,rejected,withdrawn(povukli ste ga) ilirevoked(potvrda kasnije opozvana). Zahtjev u provjeri možete povući. 409:reasonjerequest_pending(vaša organizacija već ima zahtjev za ovaj identifikator),already_verifiediliverified_elsewhere(potvrdila ga je druga organizacija; ne navodi se). Ako vaša organizacija ima GS1 licencu za njega, pišite na [email protected]: qr3 provjerava obje strane i može opozvati potvrdu. Ako se dokaz promijeni dok se zahtjev šalje,reasonjeproof_changed; pošaljite zahtjev ponovno.- Drugi radni prostor: kod
request_pendingworkspace(id,name) irequest_idnavode otvoreni zahtjev ako smijete otvoriti njegov radni prostor; povucite ga ondje. Inače su obanull. Ako se radni prostor arhivira dok šaljete zahtjev,reasonjeworkspace_archived; ništa se ne šalje. - Arhiviranje: kada se radni prostor arhivira, njegovi zahtjevi u provjeri se povlače (
withdrawn, u revizijskom zapisniku s razlogomworkspace archived). Dokaz je zatim ponovno slobodan i identifikator možete ponovno zatražiti iz drugog radnog prostora. - Dokaz: dok je zahtjev u provjeri ili odobren, datoteka se ne može ni zamijeniti ni izbrisati (
409,reason: "gs1_verification_proof"). Nakon odbijanja, povlačenja ili opoziva ponovno je slobodna. - Uklanjanje: potvrđeni identifikator ne može se ukloniti (
409,reason: "verified"). Potvrdu ukida samo qr3 opozivom.
Kada mi treba oboje?
| Zadatak | GS1 | qr3.app |
|---|---|---|
| Dobivanje vlastitih GTIN-ova/GLN-ova | ✅ Potrebno članstvo | — |
| Validacija GTIN kontrolne znamenke | — | ✅ API + nadzorna ploča |
| Generiranje QR koda za proizvod | — | ✅ |
| Izrada DPP-a prema EU uredbi | — | ✅ |
| Razlučivanje GS1 Digital Linka | — | ✅ Resolver + /.well-known/gs1resolver |
| Registracija u EU registru | Planirano (Q4 2026) | Planirano (Faza 4c) |
API referenca
POST /v1/gs1/identifiers— RegistracijaGET /v1/gs1/identifiers— PopisivanjeDELETE /v1/gs1/identifiers/:id— UklanjanjePOST /v1/gs1/validate— Validacija (bez registracije, bez autorizacije)POST /v1/gs1/verifications— Zatražiti potvrdu (administratori organizacije)GET /v1/gs1/verifications— Popis zahtjevaGET /v1/gs1/verifications/:id— Dohvat zahtjevaPOST /v1/gs1/verifications/:id/withdraw— Povlačenje zahtjeva
Pogledajte API dokumentaciju za detalje.