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.