Hoppa till innehåll

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:

IdentifierareBeskrivningExempel
GTIN-14Global Trade Item Number (produkt-ID)04012345678901
GLN-13Global Location Number (plats/företag)4012345000009
Company PrefixFöretagsprefix (7–12 tecken), från vilket GTINs härleds4012345

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:

Terminal window
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:

  1. Navigera till Dashboard → GS1
  2. Välj typ (GTIN, GLN eller Company Prefix)
  3. Ange värdet — kontrollsiffervalideringen sker automatiskt
  4. 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:

Terminal window
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:

  1. Direkt registrering — GTIN-numret är registrerat som identifier_type: "gtin"
  2. 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, titel GTIN Verified by Another Organization, de avvisade GTIN-numren i gtins). 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_admin eller ägaren). Andra roller och direkta API-nycklar får 403. Inte heller qr3-supporten kan skicka en ansökan i ditt namn.
  • Status: pending (under granskning), approved, rejected, withdrawn (tillbakadragen av dig) eller revoked (verifieringen återkallad senare). En ansökan under granskning kan du dra tillbaka.
  • 409: reason är request_pending (din organisation har redan en ansökan för den här identifieraren), already_verified eller verified_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 är reason proof_changed; skicka då ansökan igen.
  • Annat workspace: vid request_pending namnger workspace (id, name) och request_id den öppna ansökan om du får öppna dess workspace; dra tillbaka den där. Annars är båda null. Arkiveras workspacet medan du skickar ansökan är reason workspace_archived; inget skickas.
  • Arkivering: när ett workspace arkiveras dras dess ansökningar under granskning tillbaka (withdrawn, i granskningsloggen med orsaken workspace 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?

UppgiftGS1qr3.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-registretPlanerat (Q4 2026)Planerat (Fas 4c)

API-referens

  • POST /v1/gs1/identifiers — Registrera
  • GET /v1/gs1/identifiers — Lista
  • DELETE /v1/gs1/identifiers/:id — Ta bort
  • POST /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ökningar
  • GET /v1/gs1/verifications/:id — Hämta en ansökan
  • POST /v1/gs1/verifications/:id/withdraw — Dra tillbaka en ansökan

Se API-dokumentationen för mer information.