API для разработчиков

Не опрашивайте, мы сообщим сами

Зарегистрируйте URL и выберите события. Мы отправим подписанный POST через несколько секунд после каждого изменения и будем повторять до 24 часов при сбое.

События

rate.updatedКурс валюты изменился в одном из банков
rate.best_changedИзменилась самая низкая цена продажи или самая высокая цена покупки
rate.threshold_crossedКурс пересёк заданный вами порог
cbe.rate_changedИзменился курс Центробанка
gold.updatedИзменились цены на золото
silver.updatedИзменились цены на серебро
transfer.quotes_updatedИзменились цены сервисов переводов
certificate.createdБанк выпустил новый сертификат
certificate.rate_changedИзменилась доходность сертификата
tbill.auction_resultИтог аукциона казначейских векселей
fund.price_updatedОбновилась цена пая фонда
status.incidentСбой в работе сервиса начался или закончился

Что мы отправляем

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

Проверка подписи

Каждый запрос подписан секретом вашего адреса по HMAC SHA-256. Отклоняйте всё, что старше 5 минут.

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

Доставка и повторы

Тайм-аут
Ответьте кодом 2xx в течение 10 секунд
Повторы
8 попыток за 24 часа с растущим интервалом
Дубликаты
Событие может прийти дважды, поэтому пропускайте повторы по его id
Порядок
Сравнивайте created_at, потому что порядок не гарантирован
Приостановка
После 3 дней сбоев мы приостанавливаем адрес и пишем вам на почту, а пропущенное можно отправить повторно

Ваши адреса

Вебхуки уже в путиЗдесь можно будет добавить адреса, когда откроются вебхуки. Они входят в Pro и выше.
Скоро