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

Прийміть перший вебхук

Railhook приймає вебхуки від сервісу, перевіряє їх і пересилає у ваші сервіси. Потрібні ідентифікатор проєкту та API-ключ; у панелі керування те саме робиться в розділі Вхідні.

Terminal window
export RAILHOOK_URL=https://railhook.io # or your own instance
export RAILHOOK_API_KEY=...
export PROJECT_ID=...
  1. Створіть джерело

    Джерело це підключений сервіс разом із тим, що потрібно Railhook для перевірки його запитів.

    Terminal window
    curl -X POST "$RAILHOOK_URL/api/v1/projects/$PROJECT_ID/incoming-sources" \
    -H "X-API-Key: $RAILHOOK_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{"name":"Stripe","providerType":"STRIPE","verificationMode":"PROVIDER","hmacSecret":"whsec_..."}'

    Типи провайдерів: GENERIC, GITHUB, GITLAB, STRIPE, SHOPIFY, SLACK, TWILIO. Режими перевірки:

    Режим Що перевіряється
    PROVIDER Власна схема підпису провайдера, обрана за його типом
    HMAC_GENERIC HMAC-підпис необробленого тіла запиту; Railhook бере його із заголовка з префіксом, які ви налаштували
    NONE Нічого. Вмикайте лише на час підключення провайдера
  2. Передайте провайдеру ingress-адресу

    Відповідь містить ingressUrl у вигляді https://your-host/ingress/<token>. Вставте її в налаштування вебхуків на боці провайдера.

  3. Додайте призначення

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

    Terminal window
    curl -X POST "$RAILHOOK_URL/api/v1/projects/$PROJECT_ID/incoming-sources/$SOURCE_ID/destinations" \
    -H "X-API-Key: $RAILHOOK_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{"url":"https://api.example.com/webhooks/stripe","authType":"BEARER","authConfig":"{\"token\":\"...\"}","enabled":true}'

    authType — одне зі значень NONE, BASIC, BEARER, CUSTOM_HEADER. Джерело пересилає кожен перевірений вебхук на кожне своє увімкнене призначення.

  4. Надішліть тестовий вебхук і простежте, як він надійде

    Надішліть тестовий вебхук із панелі провайдера. Він з’явиться в розділі Вхідні → Отримані, з одним пересиланням на кожне призначення. Пересилання, у якого закінчилися повторні спроби, потрапляє до розділу Недоставлені пересилання.

Статус Значення
202 Прийнято й збережено
401 Перевірку налаштовано, а підпис не збігся. Нічого не збережено
403 Організацію призупинено
404 Жодне джерело не має такого токена або його проєкт видалено
410 Джерело існує, але його вимкнено
413 Тіло запиту перевищує ліміт розміру для вхідних вебхуків
429 Вичерпано ліміт запитів джерела на секунду