Programozott hozzáférés a termékútlevelekhez — webshop/ERP-szinkronhoz, tömeges automatizáláshoz.
Pro csomagtól
A nyílt béta alatt az API minden béta-fióknak elérhető — a Pro-korlát a béta után lép életbe.
Minden kérés API-kulccsal hitelesít, Authorization fejlécben:
Authorization: Bearer vk_<a kulcsod>
Kulcsot a Beállítások → Fejlesztői API alatt hozol létre. A nyílt kulcsot csak egyszer, létrehozáskor mutatjuk meg — tárold biztonságos helyen. A kulcs a teljes fiókod termékeihez ad írási/olvasási hozzáférést, ezért kezeld titkosan.
A kulcs kizárólag az Authorization fejlécben megy — biztonsági okból nem URL-paraméterként (az bekerülne a böngésző-előzménybe és a szerver-logokba). Próbáld ki például curl-lel:
curl -H "Authorization: Bearer vk_<a kulcsod>" https://veridyn.eu/api/v1/categories
Kulcs létrehozásakor hatókört választasz: Teljes (olvasás + írás) vagy Csak olvasás (read-only). A read-only kulcs kizárólag GET-et hívhat — POST/PATCH/DELETE esetén a válasz 403 read_only. ERP- vagy megjelenítő-integrációhoz használj read-only kulcsot.
Kulcsonként, csomagtól függően 120–600 kérés / perc (Pro 120 · Business 300 · Enterprise 600; a nyílt béta alatt 300). Minden válasz tartalmazza az X-RateLimit-Limit, X-RateLimit-Remaining és X-RateLimit-Reset (unix idő) fejléceket. A limit átlépésekor a válasz 429 rate_limited, Retry-After fejléccel — várd meg a jelzett időt, majd próbáld újra.
A POST kérésekhez adhatsz egy egyedi Idempotency-Key fejlécet. Ha ugyanazzal a kulccsal újraküldöd (pl. hálózati hiba után), a korábbi választ kapod vissza — nem jön létre duplikátum. A visszajátszott választ az Idempotency-Replayed: true fejléc jelzi.
Gépi olvasható API-leírás (OpenAPI 3.1) — Postman-importhoz, SDK-/kód-generáláshoz:
https://veridyn.eu/api/v1/openapi.json
Böngészhető, kereshető végpont-referencia — közvetlenül a fenti specből renderelve.
A publikus útlevél gépi változata JSON-LD: a szabványos mezők schema.org-ról jönnek, a DPP-specifikus mezők pedig a dpp: névtérből. Ez a névtér feloldható — megnyitva megnézheted, mit jelent minden mező, Accept: application/ld+json fejléccel pedig a gépi @context dokumentumot adja.
https://veridyn.eu/ns/dpp/v1/
Egy útlevél gépi változata: a publikus URL ?format=jsonld paraméterrel (vagy Accept: application/ld+json fejléccel).
Kész, importálható gyűjtemény (előre beállított változókkal + példa-kérésekkel). Import után csak töltsd ki a base_url és api_key gyűjtemény-változókat.
Az OpenAPI-specből bármely nyelvre generálhatsz hivatalos klienst az openapi-generator-ral — nincs kézzel karbantartott SDK, mindig naprakész. Pl. PHP:
npx @openapitools/openapi-generator-cli generate \
-i https://veridyn.eu/api/v1/openapi.json \
-g php -o ./veridyn-sdk
A -g értéke lehet typescript-fetch, python, java és sok más.
PHP
$ch = curl_init('https://veridyn.eu/api/v1/products?limit=5');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer vk_...'],
]);
$products = json_decode(curl_exec($ch), true)['data'];
JavaScript (fetch)
const res = await fetch('https://veridyn.eu/api/v1/products?limit=5', {
headers: { 'Authorization': 'Bearer vk_...' }
});
const { data } = await res.json();
https://veridyn.eu/api/v1
A válaszok application/json formátumúak, UTF-8 kódolással.
| Metódus | Útvonal | Leírás |
|---|---|---|
| GET | /categories | Elérhető termékkategóriák. |
| GET | /schema/{category} | A kategória teljes mezőlistája — kötelező + opcionális, típus, enum, nyelvi mezők. |
| GET | /products | Termékek listája (összefoglaló). Paraméterek: q, status, page, limit. |
| POST | /products | Új termékútlevél. Törzs: { category, data }. |
| GET | /products/{id} | Egy termék teljes adata + passport-URL. |
| PATCH | /products/{id} | Frissítés (részleges) — új verziót hoz létre. Törzs: { data, change_type? }. A change_type opcionális: correction (a modellen volt rossz adat → a már kiadott tétel-/darab-útlevelek elavulnak, frissíthetők) vagy change (a termék változott adott dátumtól → a korábbi darabok adata helyes marad, nem írjuk felül). |
| GET | /products/{id}/qr | QR-kód (SVG) a publikus passporthoz. |
| GET | /products/{id}/children | A tétel/egység gyerek-útlevelek listája. |
| POST | /products/{id}/children | Tétel/egység útlevél. Egy: { level, lot|serial, data } · tömeges: { level, items:[…] } (max 500). Örökli a szülő adatait. |
| GET | /products/{id}/scans | Termék-szintű beolvasás-összegző: total, unique, byCountry, byDevice. Paraméter: days=7|30|90|365. |
| GET | /scans | Bérlő-szintű beolvasás-összegző: a fentiek + byCategory, byLevel. |
Minden kategóriának van egy kötelező magja — enélkül a séma-validáció elutasít (422). Minden más mező opcionális, de bármikor beküldheted ugyanabban a data objektumban (több adat = jobb passport + jövőbiztosabb megfelelés). A pontos, gépi mezőlistát a /schema/{category} adja — required: true/false, típus, enum és localized jelöléssel.
curl https://veridyn.eu/api/v1/schema/textile \
-H "Authorization: Bearer vk_<kulcs>"
✓ = kötelező · — = opcionális · ↳ beágyazott al-mező · 🌐 nyelvenkénti (localized) · 🔒 csak hatósági szinten látszik. Ez a lista a sémából generálódik — mindig naprakész.
| Mező | Típus | Köt. | Leírás |
|---|---|---|---|
productName | string | ✓ | Terméknév — A termék neve, ahogy a vásárló a passporton látni fogja. |
sku | string | ✓ | SKU — Belső cikkszám / azonosító — a te rendszeredből. |
brandName | string | ✓ | Márkanév |
gtin | string | — | GTIN (opcionális) — A vonalkód száma (GTIN-8/12/13/14). Az ellenőrzőszámot a rendszer validálja. Ha nincs, hagyd üresen. |
commodityCode | string | — | Árukód (CN/HS, opcionális) — Vám-/tarifális besorolás: Kombinált Nómenklatúra (CN, 8 számjegy) vagy HS-kód. Az EU DPP-regiszter kötelező metaadata a regisztrációkor — a szállítói/vámpapírokon szerepel. |
economicOperator | object | ✓ | Gazdasági szereplő |
↳ role | string (enum) | ✓ | Szerep — Ki teszi a terméket az EU-piacra és felel érte. A legtöbb gyártónál: Gyártó. (manufacturer · importer · authorized_representative · distributor · dealer · fulfilment_service_provider) |
↳ legalName | string | ✓ | Jogi név |
↳ address | string | ✓ | Cím |
↳ country | string | ✓ | Ország (ISO 3166-1 alpha-2) — Kétbetűs ISO országkód, nagybetűvel — pl. HU, DE, IT |
↳ contactEmail | string | ✓ | Kapcsolati e-mail — Ide fordulhat a vásárló vagy a hatóság. |
↳ operatorId | string | — | Egyedi szereplő-azonosító (GS1 GLN) — 13 jegyű GS1 GLN — EU DPP egyedi gazdasági szereplő-azonosító. Ha nincs, hagyd üresen. |
↳ eori 🔒 | string | — | EORI-szám — A gazdasági szereplő EORI-száma (vám / EU DPP-nyilvántartási azonosító) — a registry ez alapján azonosít. Csak hatósági hozzáférési szinten látszik. Ha nincs, hagyd üresen. |
languages | array[string] | ✓ | Nyelvek (BCP-47) — Mely nyelveken jelenjen meg a passport. A lokalizált mezőket (ápolás, életciklus) minden itt felsorolt nyelven ki kell tölteni. pl. hu, en |
fiberComposition | array[object] | ✓ | Rost-összetétel — Miből készült a termék. A százalékok összege pontosan 100 legyen. pl. pamut 95 + elasztán 5 |
↳ fiber | string | ✓ | Rost |
↳ percentage | number | ✓ | Százalék |
recycledContentPercentage | number | — | Újrahasznosított tartalom (%) — Az újrahasznosított anyag aránya a termékben. Ha nem releváns, hagyd üresen. |
countryOfManufacture | string | ✓ | Gyártás országa (ISO) — Ahol a végtermék készült. Kétbetűs ISO kód, pl. PT, TR, HU |
supplyChainStages | array[object] | — | Ellátási lánc állomásai — Hol készült melyik munkafázis (fonás, szövés, festés, összeszerelés…). Opcionális, de növeli a bizalmat. A fázis és az ország nyilvános; az üzem neve és azonosítója védett — csak jogos érdekű fél (és hatóság) látja, token-linkkel. |
↳ stage | string (enum) | ✓ | Fázis (spinning · weaving · knitting · dyeing · finishing · assembly) |
↳ country | string | ✓ | Ország (ISO) |
↳ facilityName 🔒 | string | — | Üzem neve |
↳ facilityId 🔒 | string | — | Egyedi telephely-azonosító (GS1 GLN) |
careInstructions 🌐 | object | ✓ | Ápolási útmutató — Mosás, szárítás, vasalás — nyelvenként egy-egy szöveg. |
repair | object | ✓ | Javíthatóság — Javítható-e, és hogyan. A „javítható” és „alkatrész elérhető” mezők kötelezőek. |
↳ repairable | boolean | ✓ | Javítható |
↳ instructions 🌐 | object | — | Javítási útmutató — Hogyan javítható — nyelvenként (opcionális). |
↳ sparePartsAvailable | boolean | ✓ | Alkatrész elérhető (pl. gomb, cipzár) |
substancesOfConcern | array[object] | — | Aggályos anyagok — Aggályos anyagok (pl. REACH SVHC), ha a termékben jelen vannak. A legtöbb terméknél üresen hagyható. |
↳ name | string | ✓ | Megnevezés |
↳ casNumber | string | — | CAS-szám |
↳ concentrationRange | string | — | Koncentráció-tartomány |
durability | object | — | Tartósság — Tartóssági adatok, ha van mérésed (opcionális). |
↳ testResults | string | — | Teszteredmények |
↳ pefScore | number | — | PEF pontszám — Product Environmental Footprint pontszám, ha van. (opcionális) |
carbonFootprint | number | — | Szénlábnyom (kg CO₂e) — A termék teljes szénlábnyoma kg CO₂-egyenértékben. Az „Impact” témában „≈ km autóval” összevetéssel jelenik meg. |
waterFootprint | number | — | Vízlábnyom (liter) — A gyártáshoz felhasznált víz mennyisége literben. Opcionális. |
weightGrams | number | — | Tömeg (gramm) — A termék tömege grammban. Opcionális. |
endOfLife | object | ✓ | Életciklus vége — Mi legyen a termékkel a használat után — nyelvenként kitöltve. |
↳ recyclingInstructions 🌐 | object | ✓ | Újrahasznosítási útmutató — Hogyan hasznosítható újra — nyelvenként. |
↳ disposalInstructions 🌐 | object | ✓ | Ártalmatlanítási útmutató — Ha nem újrahasznosítható — nyelvenként. |
complianceDocuments | array[object] | — | Megfelelőségi dokumentumok — Tanúsítványok, megfelelőségi dokumentumok linkjei (opcionális). pl. OEKO-TEX, GOTS. |
↳ type | string | ✓ | Típus |
↳ url | string | ✓ | URL |
| Mező | Típus | Köt. | Leírás |
|---|---|---|---|
productName | string | ✓ | Terméknév — Az akkumulátor neve, ahogy a vásárló a passporton látni fogja. |
sku | string | ✓ | SKU — Belső cikkszám / azonosító — a te rendszeredből. |
brandName | string | ✓ | Márkanév |
gtin | string | — | GTIN (opcionális) — A vonalkód száma (GTIN-8/12/13/14). Az ellenőrzőszámot a rendszer validálja. Ha nincs, hagyd üresen. |
commodityCode | string | — | Árukód (CN/HS, opcionális) — Vám-/tarifális besorolás: Kombinált Nómenklatúra (CN, 8 számjegy) vagy HS-kód. Az EU DPP-regiszter kötelező metaadata a regisztrációkor — a szállítói/vámpapírokon szerepel. |
economicOperator | object | ✓ | Gazdasági szereplő |
↳ role | string (enum) | ✓ | Szerep — Ki teszi a terméket az EU-piacra és felel érte. A legtöbb gyártónál: Gyártó. (manufacturer · importer · authorized_representative · distributor · dealer · fulfilment_service_provider) |
↳ legalName | string | ✓ | Jogi név |
↳ address | string | ✓ | Cím |
↳ country | string | ✓ | Ország (ISO 3166-1 alpha-2) — Kétbetűs ISO országkód, nagybetűvel — pl. HU, DE, IT |
↳ contactEmail | string | ✓ | Kapcsolati e-mail — Ide fordulhat a vásárló vagy a hatóság. |
↳ operatorId | string | — | Egyedi szereplő-azonosító (GS1 GLN) — 13 jegyű GS1 GLN — EU DPP egyedi gazdasági szereplő-azonosító. Ha nincs, hagyd üresen. |
↳ eori 🔒 | string | — | EORI-szám — A gazdasági szereplő EORI-száma (vám / EU DPP-nyilvántartási azonosító) — a registry ez alapján azonosít. Csak hatósági hozzáférési szinten látszik. Ha nincs, hagyd üresen. |
languages | array[string] | ✓ | Nyelvek (BCP-47) — Mely nyelveken jelenjen meg a passport. A lokalizált mezőket (biztonság, életciklus) minden itt felsorolt nyelven ki kell tölteni. pl. hu, en |
batteryCategory | string (enum) | ✓ | Akkumulátor-kategória — Az (EU) 2023/1542 szerinti kategória. A kötelező útlevél elsőként az EV, az ipari (>2 kWh) és az LMT akkukra vonatkozik (2027. február 18.). (portable · lmt · ev · industrial · sli) |
cellChemistry | string (enum) | ✓ | Cellakémia — Az akkumulátor cellakémiai típusa. (nmc · nca · lfp · lmo · lto · nimh · lead_acid · sodium_ion …) |
weightKg | number | ✓ | Tömeg (kg) — Az akkumulátor tömege kilogrammban. |
countryOfManufacture | string | ✓ | Gyártás országa (ISO) — Ahol az akku készült. Kétbetűs ISO kód, pl. DE, HU, CN |
manufacturingDate | string | ✓ | Gyártás dátuma / éve — A gyártás éve vagy év-hónapja, ISO formátumban: ÉÉÉÉ, ÉÉÉÉ-HH vagy ÉÉÉÉ-HH-NN. |
ratedCapacity | number | ✓ | Névleges kapacitás (Ah) — Névleges kapacitás amperóra (Ah). |
energyWh | number | — | Energia (Wh) — Teljes energiatartalom wattórában (Wh). Opcionális. |
nominalVoltage | number | — | Névleges feszültség (V) — Névleges feszültség voltban. Opcionális. |
expectedLifetimeCycles | number | — | Várható élettartam (töltési ciklus) — A garantált / várható teljes töltési ciklusok száma. Opcionális. |
stateOfHealth 🔒 | number | — | Állapot — State of Health (%) — Az akku egészségi állapota az eredeti kapacitás %-ában (új akkunál 100). DARAB-SPECIFIKUS és dinamikus — ideális helye az egység-szint (nem a modell-template). Opcionális. |
carbonFootprint | number | — | Szénlábnyom (kg CO₂e / kWh) — Az akku teljes életciklusra vetített szénlábnyoma, kg CO₂-egyenérték per kWh teljes energia. |
carbonFootprintClass | string | — | Szénlábnyom-teljesítményosztály (A–G) — A rendelet szerinti CF-teljesítményosztály, ha rendelkezésre áll. Opcionális. |
carbonFootprintStudyUrl | string | — | Szénlábnyom-tanulmány (URL) — A szénlábnyom-számítás alapjául szolgáló tanulmány / dokumentáció linkje (a CF-delegált aktus szerint). Opcionális. |
carbonFootprintBreakdown | array[object] | — | Szénlábnyom életciklus-szakaszonként — A szénlábnyom megbontása életciklus-szakaszokra (kg CO₂e / kWh) — a CF-delegált aktus ezt várja. Opcionális. |
↳ stage | string (enum) | ✓ | Életciklus-szakasz (raw_material · main_production · distribution · recycling) |
↳ value | number | ✓ | Érték (kg CO₂e / kWh) |
recycledContent | array[object] | — | Újrahasznosított nyersanyag-tartalom — Az újrahasznosított kritikus nyersanyagok aránya anyagonként (kobalt, lítium, nikkel, ólom). Opcionális, de a rendelet egyre szigorúbban várja. |
↳ material | string (enum) | ✓ | Anyag (cobalt · lithium · nickel · lead) |
↳ percentage | number | ✓ | Újrahasznosított arány (%) |
hazardousSubstances | array[object] | — | Veszélyes anyagok — Az akkuban jelen lévő veszélyes anyagok (a higany, kadmium, ólom felett). A legtöbb adatlapnál releváns. |
↳ name | string | ✓ | Megnevezés |
↳ casNumber | string | — | CAS-szám |
↳ concentrationRange | string | — | Koncentráció-tartomány |
safetyInformation 🌐 | object | — | Biztonsági információ — Kezelési, tárolási és vészhelyzeti tudnivalók — nyelvenként egy-egy szöveg. |
dueDiligenceUrl 🔒 | string | — | Ellátási lánc átvilágítási jelentés (URL) — A rendelet szerinti due diligence (átvilágítási) szabályzat/jelentés linkje. Jogos érdekű felek hozzáférési szint (Art. 77(4)) — nem publikus. Opcionális. |
endOfLife | object | ✓ | Életciklus vége — Gyűjtés, újrahasznosítás, szétszerelés — nyelvenként kitöltve. |
↳ recyclingInstructions 🌐 | object | ✓ | Gyűjtés / újrahasznosítás — Hová vihető vissza, hogyan hasznosítható újra — nyelvenként. |
↳ disposalInstructions 🌐 | object | ✓ | Ártalmatlanítás / figyelmeztetés — Tilalmak, veszélyek — nyelvenként. |
complianceDocuments | array[object] | — | Megfelelőségi dokumentumok — Tanúsítványok, megfelelőségi és teszt-dokumentumok linkjei (opcionális). pl. CE, UN 38.3. |
↳ type | string | ✓ | Típus |
↳ url | string | ✓ | URL |
| Mező | Típus | Köt. | Leírás |
|---|---|---|---|
productName | string | ✓ | Terméknév — A termék neve, ahogy a vásárló a passporton látni fogja. |
sku | string | ✓ | SKU — Belső cikkszám / azonosító — a te rendszeredből. |
brandName | string | ✓ | Márkanév |
gtin | string | — | GTIN (opcionális) — A vonalkód száma (GTIN-8/12/13/14). Az ellenőrzőszámot a rendszer validálja. Ha nincs, hagyd üresen. |
commodityCode | string | — | Árukód (CN/HS, opcionális) — Vám-/tarifális besorolás: Kombinált Nómenklatúra (CN, 8 számjegy) vagy HS-kód. Az EU DPP-regiszter kötelező metaadata a regisztrációkor — a szállítói/vámpapírokon szerepel. |
economicOperator | object | ✓ | Gazdasági szereplő |
↳ role | string (enum) | ✓ | Szerep — Ki teszi a terméket az EU-piacra és felel érte. A legtöbb gyártónál: Gyártó. (manufacturer · importer · authorized_representative · distributor · dealer · fulfilment_service_provider) |
↳ legalName | string | ✓ | Jogi név |
↳ address | string | ✓ | Cím |
↳ country | string | ✓ | Ország (ISO 3166-1 alpha-2) — Kétbetűs ISO országkód, nagybetűvel — pl. HU, DE, IT |
↳ contactEmail | string | ✓ | Kapcsolati e-mail — Ide fordulhat a vásárló vagy a hatóság. |
↳ operatorId | string | — | Egyedi szereplő-azonosító (GS1 GLN) — 13 jegyű GS1 GLN — EU DPP egyedi gazdasági szereplő-azonosító. Ha nincs, hagyd üresen. |
↳ eori 🔒 | string | — | EORI-szám — A gazdasági szereplő EORI-száma (vám / EU DPP-nyilvántartási azonosító) — a registry ez alapján azonosít. Csak hatósági hozzáférési szinten látszik. Ha nincs, hagyd üresen. |
languages | array[string] | ✓ | Nyelvek (BCP-47) — Mely nyelveken jelenjen meg a passport. A lokalizált mezőket (ápolás, összeszerelés, életciklus) minden itt felsorolt nyelven ki kell tölteni. pl. hu, en |
materialComposition | array[object] | ✓ | Anyag-összetétel — Miből készült a bútor. A százalékok összege pontosan 100 legyen. pl. tömör tölgy 80 + fém 20 |
↳ material | string (enum) | ✓ | Anyag (wood · engineeredWood · metal · plastic · glass · textile · foam · leather …) |
↳ percentage | number | ✓ | Százalék |
woodCertification | object | — | Fa származása és tanúsítás — A felhasznált fa fenntartható származása és tanúsítása, ha releváns (opcionális). |
↳ scheme | string (enum) | — | Tanúsítási rendszer — A fa fenntartható erdőgazdálkodási tanúsítása. (fsc · pefc · none) |
↳ country | string | — | Származási ország (ISO) — A fa származási országa. Kétbetűs ISO kód, pl. AT, SE, RO. Opcionális. |
dimensions | object | — | Méretek és tömeg — A bútor befoglaló méretei és tömege (opcionális). |
↳ width | number | — | Szélesség (cm) |
↳ depth | number | — | Mélység (cm) |
↳ height | number | — | Magasság (cm) |
↳ weightKg | number | — | Tömeg (kg) |
countryOfManufacture | string | ✓ | Gyártás országa (ISO) — Ahol a végtermék készült. Kétbetűs ISO kód, pl. PL, RO, HU |
careInstructions 🌐 | object | ✓ | Ápolási útmutató — Tisztítás, ápolás, felület-karbantartás — nyelvenként egy-egy szöveg. |
assemblyInstructions 🌐 | object | — | Összeszerelési útmutató — Hogyan szerelhető össze a bútor — nyelvenként (opcionális). Link is megadható. |
repair | object | ✓ | Javíthatóság — Javítható-e, és hogyan. A „javítható” és „alkatrész elérhető” mezők kötelezőek. |
↳ repairable | boolean | ✓ | Javítható |
↳ instructions 🌐 | object | — | Javítási útmutató — Hogyan javítható — nyelvenként (opcionális). |
↳ sparePartsAvailable | boolean | ✓ | Alkatrész elérhető (pl. vasalat, láb) |
↳ sparePartsUrl | string | — | Alkatrész-rendelés (URL) — Hol rendelhetők pótalkatrészek (opcionális). |
warrantyMonths | number | — | Garancia (hónap) — A gyártói garancia időtartama hónapban. Opcionális. |
substancesOfConcern | array[object] | — | Aggályos anyagok — Aggályos anyagok (pl. REACH SVHC / SCIP), ha a termékben jelen vannak. A legtöbb terméknél üresen hagyható. |
↳ name | string | ✓ | Megnevezés |
↳ casNumber | string | — | CAS-szám |
↳ note | string | — | Megjegyzés |
flameRetardants | string (enum) | — | Égésgátló anyagok — Tartalmaz-e a termék (különösen a kárpit / hab) égésgátló vegyi anyagokat. Opcionális. (present · absent · unknown) |
complianceDocuments | array[object] | — | Megfelelőségi dokumentumok — Tanúsítványok, megfelelőségi dokumentumok linkjei (opcionális). pl. EN 12520, EN 1728, tűzvédelmi tanúsítvány. |
↳ type | string | ✓ | Típus |
↳ url | string | ✓ | URL |
packaging | string (enum) | — | Csomagolás újrahasznosíthatósága — A termék csomagolásának újrahasznosíthatósága. Opcionális. (recyclable · partiallyRecyclable · notRecyclable) |
endOfLife | object | ✓ | Életciklus vége — Mi legyen a bútorral a használat után — nyelvenként kitöltve. |
↳ recyclingInstructions 🌐 | object | ✓ | Újrahasznosítási útmutató — Hogyan bontható szét és hasznosítható újra — nyelvenként. |
↳ disposalInstructions 🌐 | object | ✓ | Ártalmatlanítási útmutató — Ha nem újrahasznosítható — nyelvenként. |
A languages (pl. ["hu","en"]) deklarálja, mely nyelveken van szabad-szöveges tartalom. A lokalizált mezőket (ápolás, életciklus… — a /schema-ban "localized": true) csak az első (elsődleges) nyelven kötelező kitölteni; a többi opcionális, hiánynál egy elérhető nyelvre esik vissza. A passport UI-címkéi ettől függetlenül automatikusan 24 nyelvre fordulnak.
curl -X POST https://veridyn.eu/api/v1/products \
-H "Authorization: Bearer vk_<kulcs>" \
-H "Content-Type: application/json" \
-d '{
"category": "textile",
"data": {
"productName": "Bio pamut póló",
"sku": "TEE-001",
"brandName": "Lumora",
"languages": ["hu","en"],
"fiberComposition": [{"fiber":"pamut","percentage":100}],
"countryOfManufacture": "PT",
"careInstructions": {"hu":"Mosás 30 °C","en":"Wash at 30 °C"},
"repair": {"repairable": true, "sparePartsAvailable": false},
"endOfLife": {
"recyclingInstructions": {"hu":"Textilgyűjtő","en":"Textile bin"},
"disposalInstructions": {"hu":"Ne a kukába","en":"Not household waste"}
},
"economicOperator": {
"role":"manufacturer","legalName":"Lumora Kft.","address":"Budapest",
"country":"HU","contactEmail":"[email protected]"
}
}
}'
Válasz (201):
{
"data": {
"id": "a1993ef7-7562-43bb-92ff-eb63f02dcde9",
"category": "textile",
"status": "active",
"version_no": 1,
"passport_url": "https://veridyn.eu/<fiók>/p/a1993ef7-…",
"qr_url": "https://veridyn.eu/api/v1/products/a1993ef7-…/qr",
"data": { "productName": "Bio pamut póló", … }
}
}
curl https://veridyn.eu/api/v1/products?limit=25 \
-H "Authorization: Bearer vk_<kulcs>"
curl https://veridyn.eu/api/v1/products/{id} \
-H "Authorization: Bearer vk_<kulcs>"
curl -X PATCH https://veridyn.eu/api/v1/products/{id} \
-H "Authorization: Bearer vk_<kulcs>" \
-H "Content-Type: application/json" \
-d '{"data": {"recycledContentPercentage": 30}}'
A megadott mezők ráolvasnak a meglévő adatra (részleges frissítés), majd validálunk, és új, megőrzött verzió jön létre — a teljes változás-történet megmarad.
Egy modell alá tétel- vagy egyed-útlevelet készítesz; a gyerek örökli a szülő adatait — csak a példány-specifikus mezőket (lot/serial) adod meg. Egyszerre több is (items[], max 500), a válasz soronként jelzi a sikert/hibát.
curl -X POST https://veridyn.eu/api/v1/products/{id}/children \
-H "Authorization: Bearer vk_<kulcs>" \
-H "Content-Type: application/json" \
-d '{"level":"item","items":[{"serial":"SN-0001"},{"serial":"SN-0002"}]}'
A QR-beolvasások összesített statisztikája — termékenként vagy az egész fiókra —, országra és eszközre bontva. Adatvédelem: nyers IP nincs, az egyedi látogató anonim hash-becslés.
curl "https://veridyn.eu/api/v1/products/{id}/scans?days=30" \
-H "Authorization: Bearer vk_<kulcs>"
{
"data": {
"product_id": "a1993ef7-…",
"range_days": 30,
"total": 189, "unique": 142,
"byCountry": { "HU": 142, "DE": 38, "AT": 9 },
"byDevice": { "mobile": 168, "tablet": 9, "desktop": 12 }
}
}
Siker: a hasznos adat a data kulcs alatt. Hiba esetén:
{ "error": "Érvénytelen adatok.", "code": "validation", "errors": [ … ] }
| HTTP | code | Jelentés |
|---|---|---|
| 401 | unauthorized | Hiányzó/érvénytelen API-kulcs. |
| 403 | plan_required | Az API a Pro csomagtól érhető el (a nyílt béta alatt minden béta-fiók használhatja). |
| 404 | not_found | Nincs ilyen termék / útvonal. |
| 409 | gtin_taken | A GTIN már foglalt. |
| 403 | plan_limit | Elérted a szint keretét (csomag + extra). Tömeges hívásnál a túllógó elemek errors-ba kerülnek. |
| 422 | validation | Érvénytelen adat (részletek az errors-ban). |
A Beállítások → Webhookok alatt regisztrálsz egy HTTPS URL-t. Amikor egy termékútlevél létrejön / frissül / archiválódik, a Veridyn egy aláírt JSON-t POST-ol arra az URL-re — így a rendszered valós időben értesül, kérdezgetés nélkül.
product.created · product.updated · product.archived · product.restored · scan.milestone · scan.clone_suspected
A scan.milestone akkor jön, amikor egy termékútlevél beolvasás-száma átlép egy mérföldkövet (10, 50, 100, 250, 500, 1000, …) — pl. „az útleveledet 1000-szer nyitották meg". Adata: { product_id, count, milestone }.
A scan.clone_suspected lehetséges hamisítást jelez: egy egyedi (sorszámos) útlevelet szokatlanul sokszor és sok különböző országból/eszközről olvastak be — ez másolt QR-kódra utalhat. Adata: { product_id, count, countries, unique_devices }.
POST https://your-system.example/veridyn-webhook
Content-Type: application/json
X-Veridyn-Event: product.updated
X-Veridyn-Signature: sha256=<hmac>
{
"event": "product.updated",
"data": { "id": "a1993ef7-…", "category": "textile", "version_no": 2 },
"sent_at": "2026-07-02T13:19:11+00:00"
}
Az X-Veridyn-Signature a nyers törzs HMAC-SHA256 aláírása a webhook secret-jével (a Beállításokban látod). Így ellenőrzöd — pl. PHP-ban:
$body = file_get_contents('php://input');
$expected = 'sha256=' . hash_hmac('sha256', $body, $secret);
if (!hash_equals($expected, $_SERVER['HTTP_X_VERIDYN_SIGNATURE'] ?? '')) {
http_response_code(401); exit; // érvénytelen aláírás}
Válaszolj 2xx státusszal. Ha a kézbesítés sikertelen (nem 2xx / időtúllépés), automatikusan újrapróbáljuk exponenciális backoff-fal (kb. 1 perc → 5 perc → 30 perc → 2 óra → 6 óra, max 6 próbálkozás), tartós hiba esetén feladjuk. Az utolsó kézbesítés státusza a Beállításokban látszik.
/schema/{category} végponton látszanak. Jelenleg elérhető: textile, battery és furniture. A séma bővül, ahogy az EU véglegesíti a kategóriákat.