---
title: "JSON-LD digitaalsete tootepasside jaoks (ja kus on EPCIS 2.0 koht) — qr3.app Blog"
description: "DPP on masinatele kasulik üksnes siis, kui see on masinloetav. See juhend näitab tegelikku JSON-LD-d, mille qr3 pass avaldab live-resolveri kaudu, kuidas üksainus URL teenindab sisuläbirääkimiste (content negotiation) abil nii inimesi kui ka masinaid ning kus on täiendava EPCIS 2.0 sündmusstandardi koht."
canonical: "https://qr3.app/et/blog/dpp-json-ld-epcis/"
lang: "et"
robots: "index,follow,max-image-preview:large,max-snippet:-1"
---

# JSON-LD digitaalsete tootepasside jaoks (ja kus on EPCIS 2.0 koht) — qr3.app Blog

> DPP on masinatele kasulik üksnes siis, kui see on masinloetav. See juhend näitab tegelikku JSON-LD-d, mille qr3 pass avaldab live-resolveri kaudu, kuidas üksainus URL teenindab sisuläbirääkimiste (content negotiation) abil nii inimesi kui ka masinaid ning kus on täiendava EPCIS 2.0 sündmusstandardi koht.

Canonical: <https://qr3.app/et/blog/dpp-json-ld-epcis/>

[← Blogi](/et/blog/) [Õpetused](/et/blog/category/tutorials/)

30. mai 2026 5 min lugemist [Õpetused](/et/blog/category/tutorials/) [dpp](/et/blog/tag/dpp/)[json-ld](/et/blog/tag/json-ld/)[epcis](/et/blog/tag/epcis/)[gs1-digital-link](/et/blog/tag/gs1-digital-link/)[interoperability](/et/blog/tag/interoperability/)

# JSON-LD digitaalsete tootepasside jaoks (ja kus on EPCIS 2.0 koht)

DPP on masinatele kasulik üksnes siis, kui see on masinloetav. See juhend näitab tegelikku JSON-LD-d, mille qr3 pass avaldab live-resolveri kaudu, kuidas üksainus URL teenindab sisuläbirääkimiste (content negotiation) abil nii inimesi kui ka masinaid ning kus on täiendava EPCIS 2.0 sündmusstandardi koht.

autor **QR3 Redaktion**

![JSON-LD digitaalsete tootepasside jaoks (ja kus on EPCIS 2.0 koht)](https://qr3-blog-agent.meistern.workers.dev/cdn/blog/dpp-json-ld-epcis/hero.png)

Digitaalne tootepass on mõeldud lugemiseks nii inimestele *kui ka* masinatele: ringlusseandja vastuvõtusüsteemile, tolli API-le, kauplemisplatvormi indekseerijale, jätkusuutlikkuse audiitori skriptile. Ainult inimesele mõeldud HTML-leht ei piisa. Pass peab olema **masinloetav** — struktureeritud andmehulk, mida programm saab parsida, linkida ja mille üle arutleda ilma kraapimiseta.

See juhend on mõeldud arendajatele, kes esitavad ilmselge järgmise küsimuse: *kui mul on DPP olemas, siis kuidas masin seda tegelikult loeb?* qr3 vastus on JSON-LD avaliku resolveri kaudu. Näitame tegelikku vastust, selgitame, kuidas üksainus URL teenindab inimesi ja masinaid, ning seejärel asetame konteksti EPCIS 2.0 — täiendava GS1 sündmusstandardi.

## Mida masinloetavus DPP jaoks tähendab

Masinloetavus on enamat kui "tagastab JSON-i". Tootepassi puhul tähendab see kolme asja:

- **Struktureeritud** — väljad, mille poole parser saab pöörduda (`gtin`, `name`, …), mitte kraabitav proosa.

- **Tüübitatud ja lingitud** — terminid, mis on ankurdatud jagatud sõnastikega, nii et `Product` tähendab kõigi jaoks sama. See on JSON-LD *lingitud andmete (Linked Data)* osa.

- **Stabiilne pärida** — üks püsiv URL toote kohta, mida skript saab kogu toote eluea jooksul `GET`-ida.

JSON-LD (JSON for Linking Data) pakub kõiki kolme. See on tavaline JSON, millele lisandub `@context`, mis kaardistab iga võtme terminiks avalikus sõnastikus — siin [schema.org](https://schema.org) ja [GS1 Web Vocabulary](https://gs1.org/voc/). Indekseerija, kes juba mõistab schema.org-i, mõistab passi ilma igasuguse kohandatud lõimimiseta.

## DPP kui JSON-LD (tegelik curl + kontrollitud vastus)

Iga qr3 pass laheneb GS1 Digital Linki URL-il: `https://qr3.app/dpp/{gtin}/{serial}`. Lingitud-andmete vaate küsimiseks lisa `?format=jsonld`. Live-aku demo vastu:

```
curl -s "https://qr3.app/dpp/09520000000011/DEMO-BAT-01?format=jsonld"
```

tagastab:

```
{
  "@context": ["https://schema.org", "https://gs1.org/voc/"],
  "@type": "Product",
  "gtin": "09520000000011",
  "name": "EcoMax 5000 (Demo)"
}
```

Kolm tähelepanekut:

- `@context` on kahe sõnastiku **massiiv** — schema.org üldveebi jaoks ja `gs1.org/voc/` GS1 tooteterminite jaoks. Võtmed lahenevad mõlema vastu.

- `@type: "Product"` ütleb igale lingitud-andmete tarbijale täpselt, mis tüüpi olemiga on tegemist.

- Väärtused (`gtin`, `name`) on tegelikud ja live — see on tegelik andmehulk, mitte makett.

Selles ongi kogu mõte: ringlusseandja skript ei vaja qr3-spetsiifilist klienti. See teeb HTTP `GET`-i, parsib JSON-LD-d, mida ta juba mõistab, ja loeb GTIN-i ning tootenime otse välja.

## Üks URL, kaks sihtrühma: sisuläbirääkimised

Sama `https://qr3.app/dpp/{gtin}/{serial}` URL teenindab inimsõbralikku HTML-passi *ja* masinvaadet — server otsustab, mida tagastada, selle põhjal, mida helistaja küsib. Küsida saab kahel viisil:

| Mida soovid | Päringuparameeter | Või Accept-päis |
| --- | --- | --- |
| Inimesele mõeldud HTML-leht | *(vaikimisi)* | `Accept: text/html` |
| JSON-LD (lingitud andmed) | `?format=jsonld` | `Accept: application/ld+json` |
| Tavaline JSON | `?format=json` | — |
| Linkset (seotud ressursid) | `?format=linkset` | — |
| DCAT-AP (andmestiku metaandmed) | `?format=dcat-ap` | — |

Nii jõuab telefonikaamera, mis QR-i avab, loetavale HTML-passile, samal ajal kui skript küsib *identselt* URL-ilt `application/ld+json`-i ja saab struktureeritud andmed:

```
# Masinvaade päiseläbirääkimiste kaudu — sama URL, ilma päringustringita
curl -s -H "Accept: application/ld+json" \
  "https://qr3.app/dpp/09520000000011/DEMO-BAT-01"
```

Üks identifikaator, üks URL, palju esitusi. GTIN/seerianumber jääb stabiilseks; *vaade* kohandub helistajale. Just see teebki DPP korraga püsivaks ja koostalitlusvõimeliseks.

## Kus on EPCIS 2.0 koht (sündmused vs. pass)

Levinud järelküsimus: *aga EPCIS — kas see pole mitte GS1 standard selle jaoks?* Oluline eristus:

- **DPP** on **ühe tooteüksuse staatiline kirjeldus** — selle identiteet, materjalid, süsinikujalajälg, ringlussevõetavus. See vastab küsimusele *"mis asi see on?"* Ülaltoodud JSON-LD ongi see hetktõmmis.

- **EPCIS 2.0** on GS1 standard **tarneahela sündmuste** jaoks — nähtavusandmed selle kohta, *mis juhtus, kus, millal ja miks*: üksus võeti kasutusele, saadeti teele, võeti vastu, suunati ringlusse. See vastab küsimusele *"mis juhtus selle asjaga ja kus see asub?"*

Need on **täiendavad, mitte konkureerivad**. Pass ütleb sulle, et toode on 5,2 kWh aku, milles on 35% ringlusmaterjali; EPCIS-i sündmuste jälg ütleks sulle, et see toodeti Hamburgis kindlal kuupäeval, saadeti teele läbi jaotuskeskuse ja jõudis ringlusseandjani. EPCIS 2.0 ise on JSON/JSON-LD-sõbralik, nii et need kaks jagavad sama lingitud-andmete maailmapilti ja samu GS1 identifikaatoreid (GTIN + seerianumber) ühendusvõtmena.

> **qr3 ulatus (ole täpne):** qr3 **väljastab DPP JSON-LD-na** — just seda see postitus demonstreerib. qr3 **ei** paku EPCIS-i sündmuste hõivet ega EPCIS-i lõpp-punkte. Käsitle EPCIS 2.0-d siin kui *kontseptuaalset, täiendavat* standardit, mille võtaksid täieliku tarneahela jälgitavuse saavutamiseks kasutusele DPP kõrval, mitte kui qr3 funktsiooni.

Mõtteline mudel on seega selline: DPP (qr3, JSON-LD) on toote *identiteedileht*; EPCIS 2.0 (eraldi süsteem) on selle *reisipäevik*. Samad identifikaatorid, kaks vastatud küsimust.

## DPP genereerimine, mis avaldab JSON-LD-d

Sa ei tee JSON-LD "lubamiseks" midagi erilist — loo pass ja resolver teenindab kõiki esitusi automaatselt:

```
import { QR3 } from "@qr3/sdk";

const client = new QR3({ apiKey: process.env.QR3_API_KEY! });

const passport = await client.dpp.create({
  gtin: "09520000000011",
  serial: "SN-00012345",
  product_name: "PowerCell 5 kWh LFP",
  manufacturer: "ExampleTech GmbH",
  origin_country: "DE",
  category: "battery",
  market_countries: ["DE", "FR", "AT"],
  status: "live",
  battery_data: {
    capacity_kwh: 5,
    carbon_footprint_kg: 62,
    recycled_content_pct: 12,
    recyclability_pct: 95,
  },
});

// The passport now resolves at https://qr3.app/dpp/09520000000011/SN-00012345
// Humans get HTML; machines append ?format=jsonld (or send Accept: application/ld+json).
console.log(passport.qr.svg); // QR encodes the GS1 Digital Link to the resolver
```

Pärast loomist vastab üksuse URL mõlemale sihtrühmale kohe — masinvaate jaoks pole vaja eraldi avaldamise sammu.

## KKK

**Miks JSON-LD, mitte tavaline JSON?**
Tavaline JSON on struktureeritud, kuid mitte *iseennast kirjeldav*: tarbija peab sinu väljanimed ära õppima. JSON-LD lisab `@context`-i, mis kaardistab iga võtme schema.org / GS1 terminitega, nii et iga lingitud-andmete tarbija mõistab seda ilma kohandatud lõimimiseta. Kui vajad ainult kiiret lugemist, on `?format=json` endiselt saadaval.

**Kas qr3 rakendab EPCIS 2.0-d?**
Ei. qr3 väljastab DPP JSON-LD-na. EPCIS 2.0 on eraldi, täiendav GS1 standard tarneahela *sündmuste* jaoks; sa käitaksid seda kõrvuti, ühendatuna jagatud GTIN-i + seerianumbri kaudu.

**Kuidas ma masinvaate kätte saan?**
Lisa resolveri URL-ile `?format=jsonld` või saada `Accept: application/ld+json`. Mõlemad tagastavad sama lingitud-andmete andmehulga.

**Kas `@context` on stabiilne?**
See fikseerib schema.org-i pluss GS1 Web Vocabulary (`gs1.org/voc/`) — mõlemad on avalikud, versioonitud sõnastikud, nii et tarbijad saavad terminite tähendustele tugineda.

## Allikad

- [JSON-LD 1.1 (W3C Recommendation)](https://www.w3.org/TR/json-ld11/)

- [GS1 Web Vocabulary](https://www.gs1.org/voc/)

- [GS1 EPCIS and CBV 2.0](https://www.gs1.org/standards/epcis)

- [schema.org Product](https://schema.org/Product)

- [ESPR — Regulation (EU) 2024/1781](https://eur-lex.europa.eu/eli/reg/2024/1781/oj)

**Alusta tasuta** ja loo DPP, mis avaldab JSON-LD-d: [app.qr3.app/sign-up](https://app.qr3.app/sign-up)

Need on toimivad demod väljamõeldud tooteandmete ja GS1 prefiksi 952 näidis-GTINidega. Need ei tõenda määratud tootetunnuseid, registrikannet ega sertifitseerimist.

## Seotud artiklid

- [![](https://qr3-blog-agent.meistern.workers.dev/cdn/blog/gs1-digital-link-resolver/hero.png) Õpetused GS1 Digital Linki lahendaja (resolver) selgitatuna (koos elava näitega) DPP QR-kood ei ole link veebilehele — see on GS1 Digital Link ja lahendaja muudab ühe identifikaatori paljudeks kontekstiteadlikeks vastusteks. Vaata, kuidas see toimib, koos elava passiga, mida saad kohe curl'iga pärida.](/et/blog/gs1-digital-link-resolver/)
- [![](https://qr3-blog-agent.meistern.workers.dev/cdn/blog/gs1-resolver-test-suite-dpp-links/hero.png) Õpetused GS1 Resolveri testikomplekt: DPP-linkide töökindluse kontroll enne kasutuselevõttu Stabiilne GS1-testikomplekt võimaldab Resolver 1.2 kontrollimist. Nii testite ümbersuunamisi, lingikogumeid, CORS-i, keeli ja veajuhtumeid enne kasutuselevõttu.](/et/blog/gs1-resolver-test-suite-dpp-links/)
- [![](https://qr3-blog-agent.meistern.workers.dev/cdn/blog/dpp-battery-passport-2027-20260715/hero.png) Valdkonnauudised BatteryPass-Ready käivitas digitaalse akupassi testikeskkonna BatteryPass-Ready konsortsium käivitas 24. juunil 2026 digitaalse akupassi avaliku testikeskkonna, pidades silmas 2027. aasta veebruarist kehtima hakkavat ELi kohustust.](/et/blog/dpp-battery-passport-2027-20260715/)
- [![](https://qr3-blog-agent.meistern.workers.dev/cdn/blog/sector-20260713/hero.png) Valdkonnauudised Digitaalne akupass 2027: mida tootjad peavad nüüd teadma Veebiseminarid, avatud lähtekoodiga tööriistad ja uued standardid: ELi akupass kogub hoogu. Ülevaade 2026. aasta juuli seisust ja 2027. aasta veebruarini lahendamist vajavatest küsimustest.](/et/blog/sector-20260713/)

[← Kõik artiklid](/et/blog/) [Alusta tasuta](https://app.qr3.app/sign-up)
