Zarzadzanie webhookami
Zarzadzaj swoimi endpointami webhook, aby otrzymywac powiadomienia o zdarzeniach w czasie rzeczywistym. Mozesz zarejestrować do 10 endpointow webhook na organizacje.
Utworz webhook
POST /webhooks
Tresc zapytania
{
"url": "https://yourapp.com/webhooks/vignetim",
"events": ["order.completed", "order.failed"],
"description": "Production order notifications"
}
| Pole | Typ | Wymagane | Opis |
|---|---|---|---|
url | string | Tak | URL endpointu HTTPS do otrzymywania dostarczek webhook |
events | string[] | Tak | Tablica typow zdarzen do subskrypcji (lub ["*"] dla wszystkich) |
description | string | Nie | Czytelny opis tego endpointu |
Odpowiedz (201 Created)
{
"id": "wh-a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"url": "https://yourapp.com/webhooks/vignetim",
"events": ["order.completed", "order.failed"],
"description": "Production order notifications",
"active": true,
"signingSecret": "whs_a1b2c3d4e5f6789012345678901234567890abcdef",
"createdAt": "2026-03-20T14:30:00.000Z"
}
Wazne:
signingSecretjest zwracany tylko przy pierwszym utworzeniu webhooka. Przechowuj go bezpiecznie -- bedziesz go potrzebowal do weryfikacji przychodzacych podpisow webhook. Nie mozna go ponownie pobrac.
Ochrona przed SSRF
URL-e webhook musza byc publicznie dostepnymi endpointami HTTPS. Nastepujace sa odrzucane:
- Prywatne/wewnetrzne adresy IP (10.x.x.x, 172.16-31.x.x, 192.168.x.x)
- Adresy localhost i loopback
- URL-e bez HTTPS
Lista webhookow
GET /webhooks
Odpowiedz
{
"data": [
{
"id": "wh-a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"url": "https://yourapp.com/webhooks/vignetim",
"events": ["order.completed", "order.failed"],
"description": "Production order notifications",
"active": true,
"consecutiveFailures": 0,
"createdAt": "2026-03-20T14:30:00.000Z",
"updatedAt": "2026-03-20T14:30:00.000Z"
}
]
}
Aktualizuj webhook
PUT /webhooks/:id
Parametry sciezki
| Nazwa | Typ | Wymagane | Opis |
|---|---|---|---|
id | string | Tak | ID webhooka |
Tresc zapytania
{
"url": "https://yourapp.com/webhooks/vignetim-v2",
"events": ["*"],
"description": "Updated to receive all events"
}
Wszystkie pola sa opcjonalne. Aktualizowane sa tylko podane pola.
Odpowiedz
Zwraca zaktualizowany obiekt webhooka.
Usun webhook
DELETE /webhooks/:id
Parametry sciezki
| Nazwa | Typ | Wymagane | Opis |
|---|---|---|---|
id | string | Tak | ID webhooka |
Odpowiedz
Zwraca 204 No Content w przypadku sukcesu.
Testuj webhook
Wyslij zdarzenie testowe, aby zweryfikowac, czy Twoj endpoint jest osiagalny i poprawnie przetwarza dostarczenia webhook.
POST /webhooks/:id/test
Parametry sciezki
| Nazwa | Typ | Wymagane | Opis |
|---|---|---|---|
id | string | Tak | ID webhooka |
Odpowiedz
{
"success": true,
"statusCode": 200,
"responseTime": 145,
"message": "Test webhook delivered successfully"
}
Jesli dostarczenie testowe nie powiedzie sie:
{
"success": false,
"statusCode": 500,
"responseTime": 10000,
"message": "Webhook endpoint returned non-2xx status code"
}