Швидкий старт
-
Отримайте інстанс
Зареєструйтеся на railhook.io/register. Тариф Free дає 10 000 подій на місяць, 3 проєкти, 5 ендпоінтів на проєкт і 7 днів історії.
Базова адреса API:
https://railhook.io.На машині з Docker:
Terminal window curl -fsSL https://railhook.io/install.sh | bashІнсталятор перевіряє машину, створює в
~/railhookCompose-файл і.envзі згенерованими секретами та запускає стек. Відкрийтеhttp://localhostі зареєструйтеся. Без поштового сервера перший обліковий запис активний одразу.Базова адреса API:
http://localhostабоhttp://localhost:<port>, якщо ви встановлювали з--port. -
Створіть проєкт і API-ключ
У панелі керування створіть проєкт, відкрийте API-ключі й створіть ключ із рівнем доступу
READ_WRITE. Ключ показується один раз (зберігається лише його хеш). -
Додайте ендпоінт і підпишіть його на подію
Відкрийте Ендпоінти й додайте URL, на який має надходити вебхук. Потім відкрийте Підписки та підпишіть цей ендпоінт на тип події
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; будь-яку іншу відповідь буде повторено, а доставка без спроб, що лишилися, потрапляє до Недоставлених повідомлень.