Швидкий старт
Приблизно за десять хвилин у вас будуть проєкт, API-ключ і подія, доставлена на вашу адресу, а кожна спроба залишиться в журналі.
-
Отримайте інстанс
Зареєструйтеся на railhook.io/register. Зараз це безплатно за планом Free: 10 000 подій на місяць, 3 проєкти, 5 ендпоінтів на проєкт і 7 днів історії. Платні плани з підтримкою та вищими лімітами з’являться згодом.
Базова адреса API —
https://railhook.io.На машині з Docker:
Terminal window curl -fsSL https://railhook.io/install.sh | bashІнсталятор перевіряє машину, записує до
~/railhookфайл Compose і.envзі згенерованими секретами та запускає стек. Відкрийтеhttp://localhostі зареєструйтеся. Поштовий сервер ще не налаштовано, тому перший обліковий запис активний одразу.Базова адреса API —
http://localhost, абоhttp://localhost:<port>, якщо ви встановлювали з--port. -
Створіть проєкт і API-ключ
У панелі керування створіть проєкт, відкрийте API Ключі й створіть ключ з областю дії
READ_WRITE. Ключ показується лише один раз, бо зберігається тільки його хеш. Скопіюйте його одразу. -
Додайте ендпоінт і підпишіть його
Відкрийте Ендпоінти й додайте адресу, яка має приймати вебхук. Потім відкрийте Підписки та підпишіть цей ендпоінт на тип події
order.completed. -
Надішліть подію
Terminal window export RAILHOOK_URL=https://railhook.io # or your own instance, e.g. http://localhost or https://hooks.example.comexport RAILHOOK_API_KEY=...curl -X POST "$RAILHOOK_URL/api/v1/events" \-H "X-API-Key: $RAILHOOK_API_KEY" \-H "Content-Type: application/json" \-H "Idempotency-Key: order-12345-completed" \-d '{"type":"order.completed","data":{"orderId":"ord_12345","amount":99.99}}'import { Railhook } from '@railhook/node';const client = new Railhook({apiKey: process.env.RAILHOOK_API_KEY,baseUrl: process.env.RAILHOOK_URL,});const event = await client.events.send({type: 'order.completed',data: { orderId: 'ord_12345', amount: 99.99 },});console.log(event.eventId, event.deliveriesCreated);import osfrom railhook import Railhook, Eventclient = Railhook(api_key=os.environ["RAILHOOK_API_KEY"],base_url=os.environ["RAILHOOK_URL"],)event = client.events.send(Event(type="order.completed", data={"order_id": "ord_12345", "amount": 99.99}))print(event.event_id, event.deliveries_created)<?phpuse Railhook\Railhook;$client = new Railhook(apiKey: getenv('RAILHOOK_API_KEY'),baseUrl: getenv('RAILHOOK_URL'),);$event = $client->events->send(type: 'order.completed',data: ['orderId' => 'ord_12345', 'amount' => 99.99],);echo $event['eventId'];Railhook відповідає
201зeventIdіdeliveriesCreated: по одній доставці на кожну підписку, що збіглася. Саме надсилання відбувається згодом, а не під час вашого запиту. -
Перевірте доставку
Відкрийте Доставки. Для кожної доставки видно її спроби, статус-код і тіло відповіді вашого ендпоінта. Відповідь
2xxпозначає доставку якSUCCESS. Будь-яка інша відповідь повторюється, а доставка, якій забракло спроб, переходить до Невдалих повідомлень.