Monitor povinností týkajících se obalů · PŘÍSTUP PRO VÝVOJÁŘE
API a webhooky
V následujících příkladech použijte adresu URL svého produktu. Klíče API uchovávejte na svém serveru. Otevřít interaktivní dokumentaci API ↗
Číst veřejné záznamy
curl 'https://verpackung.getregisters.com/api/v1/feeds/de-packaging-compliance/records?limit=50&offset=0' Veřejné odpovědi obsahují pouze tři nejnovější záznamy z každého registru. Starší obsah vyžaduje PRO; přímé adresy URL nabízejí omezený náhled. Sledujte next_offset, dokud nebude mít hodnotu null, i když filtrovaná stránka neobsahuje žádné záznamy. Uvádějte původní source_url každého záznamu. Datum zveřejnění a datum pozorování označují různé události.
Číst záznamy PRO
curl 'https://verpackung.getregisters.com/api/v1/feeds/de-packaging-compliance/records?limit=50&offset=0' \
-H 'Authorization: Bearer YOUR_SCOPED_KEY' Vytvořit nebo vyměnit klíč ve svém účtu. Klíč funguje pouze pro tento produkt a jen při aktivním placeném přístupu.
Formáty exportu
PRO zahrnuje CSV, Excel (.xlsx), XML, RSS a Atom. Pro každý formát použijte klíč API svého produktu a stejné filtry. Například stáhněte až 100 záznamů jako sešit Excel:
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 Nahraďte xlsx za csv, xml, rss nebo atom. Přidejte filtry, například document_type=adopted nebo facility_id=YOUR_FACILITY_ID. Sledujte hlavičku Link v odpovědi s rel="next", dokud nezmizí, a u každého požadavku zachovejte hlavičku Authorization. Jedna stránka obsahuje nejvýše 100 záznamů; filtrovaná stránka může být prázdná, i když existuje další.
Pro RSS a Atom nastavte čtečku podporující hlavičku Authorization. Adresy URL čteček neobsahují klíč. Položky mají stálá ID záznamů; čtečky bez stránkování obdrží nejnovější stránku. Pokud potřebujete všechny záznamy, použijte stránkované API.
Číst historii záznamu
curl 'https://verpackung.getregisters.com/api/v1/records/RECORD_ID/history?limit=50&offset=0' \
-H 'Authorization: Bearer YOUR_SCOPED_KEY' Nahraďte RECORD_ID ID vráceného záznamu. Historie vrací pole od nejnovější verze. Zvyšujte offset o délku stránky, dokud nedostanete stránku kratší než požadovaný limit. Verze mohou odrážet změny zdroje nebo opravy vytěžení údajů.
Připojit přes MCP
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"}}}' Pro pole PRO přidejte stejnou hlavičku Authorization. Koncový bod podporuje také initialize, tools/list a notifications/initialized. Pro přečtení celého registru použijte výše uvedené stránkování REST.
Ověřit podpisy webhooků
Podpisová hlavička má podobu X-Register-Signature: t=TIMESTAMP,v1=HEX_DIGEST. Před zpracováním JSON ověřte nezměněné tělo požadavku. Trvale uchovávejte ID X-Register-Event úspěšně zpracovaných událostí, aby opakované pokusy znovu nevyvolaly jejich následky.
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);
} Úspěšnou odpověď vraťte až po trvalém zaznamenání události. Počet opakovaných pokusů o doručení je omezený; účet ukazuje poslední zaznamenaný výsledek. Potvrzení doručení nedokazuje, že vaše aplikace dokončila zpracování události.