GS1-identifierare & onboarding
GS1-identifierare & onboarding
qr3.app bygger på en BYO-GTIN/BYO-GLN-modell (Bring Your Own): Du tar med dina befintliga GS1-identifierare — qr3 hanterar det digitala produktlagret ovanpå.
Vad gör GS1?
GS1 tilldelar globalt unika identifierare för produkter och platser:
| Identifierare | Beskrivning | Exempel |
|---|---|---|
| GTIN-14 | Global Trade Item Number (produkt-ID) | 04012345678901 |
| GLN-13 | Global Location Number (plats/företag) | 4012345000009 |
| Company Prefix | Företagsprefix (7–12 tecken), från vilket GTINs härleds | 4012345 |
För att få GTINs behöver du ett GS1-medlemskap hos din nationella GS1-organisation (t.ex. GS1 Austria, GS1 Germany).
Vad gör qr3.app?
qr3.app använder dina befintliga GS1-identifierare och erbjuder:
- GS1-kompatibel resolver —
/01/{GTIN}/21/{Serial}med content negotiation - EU Digital Product Passport — DPP-skapande, validering, konsumentvy
- Tryckfärdiga QR-resurser — SVG, PNG, vektor-PDF, EPS
- JSON-LD, DCAT-AP — Maskinläsbara produktdata
Onboarding-flöde
1. Registrera GS1-identifierare
Innan du kan skapa DPPs måste du registrera dina GTINs (eller ditt 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 dashboarden:
- Navigera till Dashboard → GS1
- Välj typ (GTIN, GLN eller Company Prefix)
- Ange värdet — kontrollsiffervalideringen sker automatiskt
- Klicka på Lägg till identifierare
Din organisation har varje identifierare bara en gång, i ett av sina workspaces. Registrerar du en borttagen identifierare igen kommer den tillbaka (201, samma id) som egen deklaration och overifierad, även om den var verifierad innan den togs bort; låg den i ett annat workspace flyttas den hit. Är den fortfarande registrerad blir svaret 409 med reason already_registered (i det här workspacet) eller registered_in_other_workspace (i ett annat; workspace namnger det om du får öppna det). Arkiveras workspacet under tiden är reason workspace_archived; inget registreras.
2. Skapa DPPs
Så snart ett GTIN är registrerat (direkt eller via ett Company Prefix) kan du skapa DPPs med det:
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. Ägarskapskontroll
qr3.app kontrollerar vid varje DPP-skapande om det använda GTIN-numret tillhör din organisation:
- Direkt registrering — GTIN-numret är registrerat som
identifier_type: "gtin" - Prefix-matchning — GTIN-numret börjar med ett registrerat Company Prefix (position 2..N i GTIN-14)
Utan en matchande registrering returneras ett 422-fel med ett meddelande om att registrera GTIN-numret först.
Samma kontroll gäller för POST /v1/dpp/batch och POST /v1/dpp/import, synkront och som köat jobb: ett GTIN-nummer utan registrering avvisar hela begäran med 422 (titel GTIN Not Registered, de avvisade GTIN-numren i gtins, deras antal i total); inget skapas eller köas. Befintliga pass påverkas inte. Inlämning av ett pass till EU-produktregistret (POST /v1/dpp/:id/register) kräver dessutom att passets organisation innehar GTIN-numret (se avsnitt 4); annars blir svaret 409 (titel GTIN Held by Another Organization).
4. Verifiering
En registrering via API:et eller dashboarden är en egen försäkran (verified_by: "self", verified_at: null). En verifierad identifierare har verified_at (verified_by: "gs1_registry" eller "admin"); det sätter qr3 efter att ha kontrollerat en ansökan med bevis (se nedan). Ett verifierat GTIN eller Company Prefix:
- binder den offentliga GS1-resolvern för dessa GTIN till din organisation, även om en annan organisation har skapat ett pass tidigare;
- spärrar alla andra organisationer: att skapa ett DPP för ett sådant GTIN, även via batch eller import, ger
409(errors/conflict, titelGTIN Verified by Another Organization, de avvisade GTIN-numren igtins). Batch och import avvisas i sin helhet.
Utan verifiering tillhör ett GTIN den organisation som har haft det längst utan avbrott (detaljer: GS1-resolver). Om ditt GTIN löses upp till en annan organisations pass, ansök om att få det verifierat.
Ansöka om verifiering
I dashboarden under GS1, avsnittet Ansök om verifiering: ange typen (GTIN eller Company Prefix) och värdet, ladda upp ett bevis och skicka ansökan. Beviset visar att din organisation har GTIN:et eller Company Prefix från GS1, till exempel licensbekräftelsen från din GS1-organisation (PDF, PNG, JPEG eller WebP). Det sparas privat; bara din organisation och qr3-teamet kan se det. Någon automatisk förfrågan hos GS1 finns inte.
qr3-teamet kontrollerar beviset och godkänner ansökan eller avslår den med en motivering. Efter godkännandet är identifieraren verifierad (verified_by: "admin") och verkar som beskrivet ovan. Du får ett mejl om varje beslut till din organisations aviseringsadress, annars till ägarens adress.
- Vem: bara organisationens administratörer (
org_admineller ägaren). Andra roller och direkta API-nycklar får403. Inte heller qr3-supporten kan skicka en ansökan i ditt namn. - Status:
pending(under granskning),approved,rejected,withdrawn(tillbakadragen av dig) ellerrevoked(verifieringen återkallad senare). En ansökan under granskning kan du dra tillbaka. 409:reasonärrequest_pending(din organisation har redan en ansökan för den här identifieraren),already_verifiedellerverified_elsewhere(en annan organisation har verifierat den; den namnges inte). Om din organisation har GS1-licensen för den, skriv till [email protected]: qr3 kontrollerar båda sidor och kan återkalla en verifiering. Ändras beviset medan ansökan skickas ärreasonproof_changed; skicka då ansökan igen.- Annat workspace: vid
request_pendingnamngerworkspace(id,name) ochrequest_idden öppna ansökan om du får öppna dess workspace; dra tillbaka den där. Annars är bådanull. Arkiveras workspacet medan du skickar ansökan ärreasonworkspace_archived; inget skickas. - Arkivering: när ett workspace arkiveras dras dess ansökningar under granskning tillbaka (
withdrawn, i granskningsloggen med orsakenworkspace archived). Beviset är sedan fritt igen, och du kan ansöka om identifieraren igen från ett annat workspace. - Bevis: så länge ansökan är under granskning eller godkänd kan filen varken ersättas eller raderas (
409,reason: "gs1_verification_proof"). Efter avslag, tillbakadragande eller återkallelse är den fri igen. - Ta bort: en verifierad identifierare kan inte tas bort (
409,reason: "verified"). Bara qr3 häver verifieringen, genom att återkalla den.
När behöver jag båda?
| Uppgift | GS1 | qr3.app |
|---|---|---|
| Erhålla egna GTINs/GLNs | ✅ Medlemskap krävs | — |
| Validera GTIN-kontrollsiffra | — | ✅ API + Dashboard |
| Generera QR-kod för produkt | — | ✅ |
| Skapa DPP enligt EU-förordning | — | ✅ |
| Resolva GS1 Digital Link | — | ✅ Resolver + /.well-known/gs1resolver |
| Registrera i EU-registret | Planerat (Q4 2026) | Planerat (Fas 4c) |
API-referens
POST /v1/gs1/identifiers— RegistreraGET /v1/gs1/identifiers— ListaDELETE /v1/gs1/identifiers/:id— Ta bortPOST /v1/gs1/validate— Validera (utan registrering, ingen autentisering)POST /v1/gs1/verifications— Ansök om verifiering (organisationens administratörer)GET /v1/gs1/verifications— Lista ansökningarGET /v1/gs1/verifications/:id— Hämta en ansökanPOST /v1/gs1/verifications/:id/withdraw— Dra tillbaka en ansökan
Se API-dokumentationen för mer information.