Перейти до вмісту

SDK

SDK огортають ті частини API, які ви викликаєте з коду застосунку: події, ендпоінти, підписки, доставки, вхідні джерела й вхідні події, а також перевірку підпису. Для автентифікації достатньо API-ключа.

Мова Пакет Встановлення
Node.js / TypeScript @railhook/node npm install @railhook/node
Python railhook pip install railhook
PHP 8.1+ railhook/php composer require railhook/php

SDK для Node.js не має залежностей під час виконання. SDK для PHP потребує ext-json і ext-curl.

import { Railhook } from '@railhook/node';
const client = new Railhook({
apiKey: process.env.RAILHOOK_API_KEY,
baseUrl: 'https://railhook.io', // or your instance
});
const event = await client.events.send(
{ type: 'order.completed', data: { orderId: 'ord_12345', amount: 99.99 } },
'order-12345-completed', // idempotency key, optional
);

Передайте сире тіло запиту, заголовок X-Signature і секрет ендпоінта. Перевірка кидає виняток, якщо підпис не збігається або позначка часу застаріла.

import { verifySignature } from '@railhook/node';
verifySignature(rawBody, req.headers['x-signature'], process.env.WEBHOOK_SECRET);

Кожен SDK також має constructEvent (construct_event у Python), що перевіряє й розбирає подію одним викликом. Якщо ваш ендпоінт використовує заголовки Standard Webhooks, застосовуйте verifyStandardWebhook (verify_standard_webhook) із секретом ендпоінта у форматі whsec_.