NimbusNexus
Webhooks

Запускайте вебхуки,
за якими не треба наглядати.

Керована платформа вебхуків в обидва боки: приймайте події від Stripe, GitHub і всього іншого, що підписує свої payload-и, та надсилайте власні своїм клієнтам — підписані, з повторами, з реплеєм і тарифікацією за подіями, а не за ендпоінтами.

Як це працює

Чотири рухомі частини — і жодна з них не ваша.

Опублікуйте подію один раз. Ми збережемо її, зіставимо з кожним ендпоінтом, підписаним на цей тип, підпишемо кожну доставку і повторюватимемо спроби за вас, доки вона не дійде або доки не вичерпається бюджет спроб.

  1. Приймаємо

    POST-запит із подією до API — і вона зберігається ще до того, як ми відповімо: саме той збережений рядок є джерелом істини, а не запис у черзі, який може випаруватися. Надішліть Idempotency-Key — і повторна публікація поверне ту саму подію замість дубліката; той самий ключ з іншим тілом буде відхилено, а не тихо прийнято.

  2. Розгалужуємо

    Одна подія зіставляється з кожним увімкненим ендпоінтом, чия підписка покриває цей тип — точний збіг, префікс, суфікс або взагалі все. Кожен збіг стає окремою доставкою з власним бюджетом повторів. Розгалуження однієї події на десять ендпоінтів усе одно коштує як одна подія.

  3. Підписуємо й надсилаємо

    Конверт payload-у формується один раз під час публікації і зберігається байт у байт, тож кожен повтор везе ідентичне тіло. Кожна спроба підписується наново зі свіжим timestamp — а отже, ваші підписники можуть тримати вузьке replay-вікно, і доставка, що вдалася через дві години, усе одно пройде перевірку.

  4. Повторюємо, потім відкладаємо

    Експоненційний backoff із бюджетом спроб на кожен ендпоінт і, якщо хочете, власною кривою повторів. Усе, що вичерпало бюджет, потрапляє в dead-letter чергу — її можна відфільтрувати й масово переграти, коли інша сторона знову жива.

Ендпоінти, які стабільно падають, вимикаються автоматично, а власнику надходить лист — із причиною, а не просто з лічильником помилок. Щойно ендпоінт відновиться, його вмикають назад.

Що ви отримуєте

Те, що всі пишуть заново, уже написано.

Нічого з цього не замкнено за тарифом. Кожна можливість нижче доступна на всіх планах, включно з безкоштовним — плани відрізняються обсягом і стелями, а не набором функцій.

Вхідні джерела

Дайте провайдеру URL — і ми перевіримо його підпис (Stripe, GitHub або узагальнена HMAC-схема), а тоді зведемо тип події із заголовка, JSON-шляху чи значення за замовчуванням.

Підпис HMAC

SHA-256 по timestamp і тілу, у заголовку X-Webhook-Signature. Секрети шифруються at rest і ротуються з вікном перекриття, щоб підписники встигли перейти без жодної провальної доставки.

Реплей із dead-letter

Відфільтруйте DLQ за статусом чи ендпоінтом і переграйте масово. Повторна доставка — це compare-and-set по завершених рядках, тож доставку, яка ще в дорозі, неможливо зарядити двічі.

Операційні вебхуки

Підпишіться на наші події про ваші події — ендпоінт вимкнено, деградував, відновився, спроби вичерпано. Вони йдуть окремою смугою, тож сповіщення ніколи не застрягне за тим самим завалом, про який попереджає.

Каталог типів подій

Зареєструйте типи, які ви надсилаєте, і додайте JSON Schema. Невідомий тип відхиляється ще на публікації, а не тихо ні з чим не збігається і зникає.

Захист вихідних запитів

Кожен вихідний запит іде лише через HTTPS, блокує приватні та metadata-адреси, закріплює зʼєднання за перевіреною IP, щоб DNS не перепривʼязали під ним, і ніколи не йде за редіректами.

API-ключі з областю дії

Ключі хешуються, показуються один раз і обмежені областю publish або admin — тож ключ, зашитий у сервіс-продюсер, не прочитає вашу історію доставок і не перепише ендпоінти.

Ізоляція тенантів

Забезпечується в Postgres через row-level security і роль, яка не може її обійти, а не тим, що хтось памʼятає про WHERE у кожному запиті.

Журнал аудиту

Кожна адміністративна зміна записується і доступна для запитів у межах тенанта — хто, який ендпоінт і коли змінив.

SDK

Python, TypeScript, Go, Java і PHP, і в кожному — хелпер перевірки підпису, тобто саме та частина, яку вручну майже всі роблять ледь помітно неправильно.

Єдиний вхід

Консоль автентифікується через NimbusNexus Identity, тож доступ до вебхуків живе за тими самими акаунтами й ролями, що й решта вашої інфраструктури.

Живе споживання

Стан ендпоінтів, глибина черги, результати доставок і поточне споживання відносно стелі плану — у консолі та через API.

Для ваших підписників

Перевірка — це девʼять рядків, і ми пишемо їх за вас.

Кожна доставка несе заголовки, наведені нижче. Оскільки підписане тіло зберігається один раз, а підпис оновлюється на кожній спробі, підписник може спокійно відхиляти все, старше за пʼять хвилин, і не зламати цим повтори.

# Перевірка вебхука NimbusNexus (Python)
import hashlib, hmac, time
signed = f"{ts}.{raw_body.decode()}"
expected = hmac.new(
"whsec_…".encode(),
signed.encode(),
hashlib.sha256,
).hexdigest()
# порівняння за сталий час, далі — межі replay-вікна
assert hmac.compare_digest(f"sha256={expected}", sig)
assert abs(time.time() - int(ts)) < 300
Надсилається з кожною спробою
X-Webhook-Signaturesha256=…
X-Webhook-Timestampunix-секунди
X-Webhook-Delivery-Idна кожну спробу
X-Webhook-Event-Idнезмінний
X-Webhook-Event-Typeorder.created
Плани

Ціна за події, а не за ендпоінти.

Ви платите за події, які публікуєте. Розгалуження однієї події на всі ендпоінти, яким вона потрібна, входить у ціну — тож новий підписник не коштує вам нічого.

Free

Достатньо, щоб запустити щось справжнє.

$0

 

  • 50,000 подій / місяць
  • 25 ендпоінтів
  • 600 запитів / хв, burst 100
  • 5 спроб доставки
  • Жорсткий ліміт — жодного несподіваного рахунку
Почати

Starter

Продукт, у якого вже є клієнти.

$29/ місяць

$278.40 / рік — економія 20%

  • 500,000 подій / місяць
  • 50 ендпоінтів
  • 6,000 запитів / хв, burst 1,000
  • 8 спроб доставки
  • Далі $1.00 за кожні наступні 10,000
Обрати Starter

Pro

Найпопулярніший

Продакшн-трафік, багато сервісів.

$149/ місяць

$1,430.40 / рік — економія 20%

  • 5,000,000 подій / місяць
  • 500 ендпоінтів
  • 30,000 запитів / хв, burst 5,000
  • 10 спроб доставки
  • Далі $0.75 за кожні наступні 10,000
Обрати Pro

Custom

Обсяг, умови і договір.

Індивідуально

 

  • Обсяг понад стелю Pro
  • 2,500 ендпоінтів
  • 60,000 запитів / хв, burst 10,000
  • Річне виставлення рахунків
  • Підтримка й умови за договором
Звʼязатися з відділом продажів

Подія, розгалужена на багато ендпоінтів, рахується один раз. У спроб доставки є власна стеля понад це — удвічі більша за включені події.

На кожному плані, включно з Free
  • Доставки з підписом HMAC і ротацією секретів
  • Повтори, backoff і реплей із dead-letter
  • Вхідні джерела з перевіркою підпису провайдера
  • Операційні вебхуки окремою смугою
  • Каталог типів подій із валідацією схеми
  • API-ключі з областю дії та журнал аудиту на тенант
  • Єдиний вхід через NimbusNexus Identity
  • Консоль, API і всі пʼять SDK

Плани підключає наша команда — самостійної оплати поки що немає. Скажіть, який вам потрібен, і ми переведемо вас на нього, зазвичай того ж дня.

Запитання

Те, що варто запитати, перш ніж зважитись.

Одна прийнята публікація. Якщо ця подія збігається з десятьма ендпоінтами, ми зробимо десять спроб доставки і все одно виставимо рахунок за одну подію — ендпоінти не є одиницею тарифікації. У спроб доставки справді є власна стеля, удвічі більша за включені події, і саме її консоль показує відносно вашого плану.
Почати

Розкажіть, що саме ви надсилаєте, і ми все налаштуємо.

Онбординг зараз ручний — здебільшого це означає, що хтось прочитає, що ви будуєте, ще до того, як ви напишете перший рядок коду. Безкоштовні плани теж.