API dla programistów

Nie odpytuj, my damy znać

Zarejestruj URL i wybierz zdarzenia. Wysyłamy podpisany POST w ciągu kilku sekund od każdej zmiany i ponawiamy próby przez maksymalnie 24 godziny, jeśli się nie uda.

Zdarzenia

rate.updatedZmienił się kurs waluty w którymś banku
rate.best_changedZmieniła się najtańsza sprzedaż lub najwyższe kupno
rate.threshold_crossedKurs przekroczył ustawiony przez Ciebie próg
cbe.rate_changedZmienił się kurs Banku Centralnego
gold.updatedZmieniły się ceny złota
silver.updatedZmieniły się ceny srebra
transfer.quotes_updatedZmieniły się ceny dostawców przelewów
certificate.createdBank wprowadził nowy certyfikat
certificate.rate_changedZmieniło się oprocentowanie certyfikatu
tbill.auction_resultWynik przetargu bonów skarbowych
fund.price_updatedZaktualizowano cenę jednostki funduszu
status.incidentAwaria usługi zaczęła się lub zakończyła

Co wysyłamy

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 }
  }
}

Sprawdź podpis

Każde zapytanie jest podpisane sekretem Twojego endpointu za pomocą HMAC SHA-256. Odrzucaj wszystko starsze niż 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));
}

Dostarczanie i ponowienia

Limit czasu
Odpowiedz kodem 2xx w ciągu 10 sekund
Ponowienia
8 prób w ciągu 24 godzin, z coraz dłuższymi odstępami
Duplikaty
Zdarzenie może dotrzeć dwa razy, więc pomijaj powtórzenia na podstawie id
Kolejność
Porównuj created_at, bo kolejność nie jest gwarantowana
Wstrzymanie
Po 3 dniach błędów wstrzymujemy endpoint i wysyłamy Ci e-mail, a pominięte zdarzenia możesz wysłać ponownie

Twoje endpointy

Webhooki są w drodzeEndpointy dodasz tutaj, gdy webhooki ruszą. Są dostępne od planu Pro wzwyż.
Wkrótce

Pokazane kursy mają charakter informacyjny, a kurs w oddziale lub przy płatności może być inny. Potwierdź go w banku lub u dostawcy, zanim kupisz, sprzedasz lub wyślesz pieniądze. Geneh nie sprzedaje walut ani złota i nie udziela porad inwestycyjnych.

Pobierz z Google PlayPobierz z App Store
© 2026 GenehTworzy i prowadzi