GS1 Identifiers & Onboarding
GS1 Identifiers & Onboarding
qr3.app follows a BYO-GTIN/BYO-GLN model (Bring Your Own): you bring your existing GS1 identifiers — qr3 provides the digital product layer on top.
What does GS1 do?
GS1 issues globally unique identifiers for products and locations:
| Identifier | Description | Example |
|---|---|---|
| GTIN-14 | Global Trade Item Number (product ID) | 04012345678901 |
| GLN-13 | Global Location Number (location/company) | 4012345000009 |
| Company Prefix | Company prefix (7-12 digits) from which GTINs are derived | 4012345 |
To obtain GTINs, you need a GS1 membership from your national GS1 organization (e.g. GS1 Austria, GS1 Germany).
What does qr3.app do?
qr3.app uses your existing GS1 identifiers and provides:
- GS1-compliant resolver —
/01/{GTIN}/21/{Serial}with content negotiation - EU Digital Product Passport — DPP creation, validation, consumer view
- Print-ready QR assets — SVG, PNG, vector PDF, EPS
- JSON-LD, DCAT-AP — Machine-readable product data
Onboarding Flow
1. Register GS1 Identifiers
Before creating DPPs, register your GTINs (or your Company Prefix):
Via 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"}'Via Dashboard:
- Navigate to Dashboard → GS1
- Select the type (GTIN, GLN, or Company Prefix)
- Enter the value — check digit validation happens automatically
- Click Add identifier
2. Create DPPs
Once a GTIN is registered (directly or via Company Prefix), you can create DPPs:
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. Ownership Check
qr3.app verifies GTIN ownership on every DPP creation:
- Direct registration — The GTIN is registered as
identifier_type: "gtin" - Prefix match — The GTIN starts with a registered Company Prefix (positions 2..N of GTIN-14)
Without a matching registration, you’ll receive a 422 error asking you to register the GTIN first.
When do I need both?
| Task | GS1 | qr3.app |
|---|---|---|
| Obtain your own GTINs/GLNs | ✅ Membership required | — |
| Validate GTIN check digits | — | ✅ API + Dashboard |
| Generate QR code for product | — | ✅ |
| Create DPP per EU regulation | — | ✅ |
| Resolve GS1 Digital Links | — | ✅ Resolver + /.well-known/gs1resolver |
| Register in EU Registry | Planned (Q4 2026) | Planned (Phase 4c) |
API Reference
POST /v1/gs1/identifiers— RegisterGET /v1/gs1/identifiers— ListDELETE /v1/gs1/identifiers/:id— RemovePOST /v1/gs1/validate— Validate (no registration, no auth required)
See the API documentation for details.