API pro vývojáře
Přestaňte se dotazovat, dáme vám vědět
Zaregistrujte URL a vyberte události. Během několika sekund po každé změně pošleme podepsaný POST, a když selže, zkoušíme to znovu až 24 hodin.
Události
rate.updatedKurz měny se změnil v některé bancerate.best_changedZměnil se nejlevnější prodej nebo nejvyšší nákuprate.threshold_crossedKurz překročil vámi nastavený limitcbe.rate_changedZměnil se kurz centrální bankygold.updatedZměnily se ceny zlatasilver.updatedZměnily se ceny stříbratransfer.quotes_updatedZměnily se ceny poskytovatelů převodůcertificate.createdBanka spustila nový certifikátcertificate.rate_changedZměnil se výnos certifikátutbill.auction_resultVýsledek aukce pokladničních poukázekfund.price_updatedByla aktualizována cena podílu fondustatus.incidentVýpadek služby začal nebo skončilCo posíláme
POST https://example.com/geneh
Geneh-Event: rate.best_changed
Geneh-Signature: t=1792118220,v1=5f2b9c1e7a
{
"id": "evt_01JB7Q2K",
"type": "rate.best_changed",
"created_at": "2026-10-16T00:37:00Z",
"data": {
"currency": "USD",
"side": "sell",
"previous": { "bank": "nbe", "rate": 53.52 },
"current": { "bank": "credit_agricole", "rate": 53.47 }
}
}Ověřte podpis
Každý požadavek je podepsán tajným klíčem vašeho endpointu pomocí HMAC SHA-256. Odmítněte vše starší než 5 minut.
import crypto from "node:crypto";
function verify(rawBody, header, secret) {
const [t, v1] = header.split(",").map(p => p.split("=")[1]);
const mac = crypto.createHmac("sha256", secret)
.update(t + "." + rawBody).digest("hex");
const fresh = Math.abs(Date.now() / 1000 - t) < 300;
return fresh && crypto.timingSafeEqual(Buffer.from(mac), Buffer.from(v1));
}Doručení a opakování
- Časový limit
- Odpovězte kódem 2xx do 10 sekund
- Opakování
- 8 pokusů během 24 hodin s rostoucím odstupem
- Duplicity
- Událost může dorazit dvakrát, proto podle jejího id přeskakujte opakování
- Pořadí
- Porovnávejte created_at, protože pořadí není zaručeno
- Pozastavení
- Po 3 dnech selhání endpoint pozastavíme a pošleme vám e-mail, a vše zmeškané si můžete nechat poslat znovu
Vaše endpointy
Webhooky jsou na cestěJakmile webhooky spustíme, přidáte si endpointy zde. Jsou součástí tarifu Pro a vyšších.
Již brzy