Csomagolási kötelezettségek figyelője
Nyelv: Magyar

Csomagolási kötelezettségek figyelője · FEJLESZTŐI HOZZÁFÉRÉS

API és webhookok

Az alábbi példákban a terméked URL-jét használd. Az API-kulcsokat a szervereden tárold. Interaktív API-dokumentáció megnyitása ↗

Nyilvános bejegyzések olvasása

curl 'https://verpackung.getregisters.com/api/v1/feeds/de-packaging-compliance/records?limit=50&offset=0'

A nyilvános válaszok nyilvántartásonként csak a három legújabb bejegyzést tartalmazzák. A régebbi bejegyzések tartalmához PRO szükséges; a közvetlen URL-ek korlátozott előnézetet adnak. Kövesd a next_offset értékét, amíg null nem lesz, akkor is, ha egy szűrt oldal üres. Hivatkozz minden eredeti source_url címre. A közzététel és az észlelés dátuma eltérő eseményt jelöl.

PRO-bejegyzések olvasása

curl 'https://verpackung.getregisters.com/api/v1/feeds/de-packaging-compliance/records?limit=50&offset=0' \
  -H 'Authorization: Bearer YOUR_SCOPED_KEY'

Kulcs létrehozása vagy cseréje a fiókodban. A kulcs csak ehhez a termékhez használható, és csak aktív fizetős hozzáférés mellett.

Exportformátumok

A PRO CSV, Excel (.xlsx), XML, RSS és Atom formátumot tartalmaz. Minden formátumhoz ugyanazt a termék-API-kulcsot és szűrőket használd. Például legfeljebb 100 bejegyzést tölthetsz le Excel-munkafüzetként:

curl 'https://verpackung.getregisters.com/api/v1/feeds/de-packaging-compliance/records/export.xlsx?limit=100&offset=0' \
  -H 'Authorization: Bearer YOUR_SCOPED_KEY' \
  -D export-headers.txt -o records.xlsx

Az xlsx helyére írj csv, xml, rss vagy atom értéket. Adj hozzá szűrőket, például document_type=adopted vagy facility_id=YOUR_FACILITY_ID. Kövesd a válasz Link fejlécének rel="next" hivatkozását, amíg el nem tűnik, és minden kérésben tartsd meg az Authorization fejlécet. Egy oldal legfeljebb 100 bejegyzést tartalmaz; egy szűrt oldal akkor is lehet üres, ha van későbbi oldal.

RSS és Atom esetén állíts be olyan olvasót, amely támogatja az Authorization fejlécet. Az olvasó URL-jeiben nincs kulcs. Az elemek azonosítója állandó, és a lapozást nem követő olvasók a legújabb oldalt kapják. Ha minden bejegyzésre szükséged van, használd a lapozott API-t.

Bejegyzés előzményeinek olvasása

curl 'https://verpackung.getregisters.com/api/v1/records/RECORD_ID/history?limit=50&offset=0' \
  -H 'Authorization: Bearer YOUR_SCOPED_KEY'

A RECORD_ID helyére egy visszaadott bejegyzésazonosítót írj. Az előzmények a legújabb verzióval kezdődő listát adnak vissza. Növeld az offset értékét az oldal hosszával, amíg az oldal rövidebb nem lesz a kért limit értéknél. A verziók forrásváltozásokat vagy az adatkinyerés javításait tükrözhetik.

Csatlakozás MCP-vel

curl 'https://verpackung.getregisters.com/api/v1/mcp' \
  -H 'Content-Type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"read_register","arguments":{"feed_id":"de-packaging-compliance"}}}'

A PRO-mezőkhöz add meg ugyanazt az Authorization fejlécet. A végpont az initialize, tools/list és notifications/initialized műveleteket is támogatja. A teljes nyilvántartás olvasásához használd a fenti REST-lapozást.

Webhook-aláírások ellenőrzése

Az aláírás fejléce: X-Register-Signature: t=TIMESTAMP,v1=HEX_DIGEST. A JSON feldolgozása előtt ellenőrizd a nyers üzenettörzset. A sikeresen kezelt X-Register-Event azonosítókat tartósan tárold, hogy az újrapróbálkozások ne ismételjék meg a mellékhatásokat.

import { createHmac, timingSafeEqual } from 'node:crypto';

export function verify(rawBody, header, secret) {
  const fields = Object.fromEntries(header.split(',').map(x => x.split('=')));
  const timestamp = Number(fields.t);
  if (!Number.isFinite(timestamp) || Math.abs(Date.now()/1000 - timestamp) > 300) return false;
  if (!/^[a-f0-9]{64}$/.test(fields.v1 || '')) return false;
  const expected = createHmac('sha256', secret).update(fields.t + '.').update(rawBody).digest();
  const supplied = Buffer.from(fields.v1, 'hex');
  return supplied.length === expected.length && timingSafeEqual(supplied, expected);
}

Csak az esemény tartós rögzítése után adj sikeres választ. A kézbesítési újrapróbálkozások száma korlátozott; a legutóbb rögzített eredmény a fiókodban látható. A kézbesítés visszaigazolása nem jelenti azt, hogy az alkalmazásod feldolgozta az eseményt.