Otrzymuj powiadomienia w czasie rzeczywistym, gdy dane ulegają zmianie. Brutlers wysyła żądania HTTP POST na twój zarejestrowany URL.
Zarejestruj URL mogący odbierać żądania HTTP POST. Otrzymasz sekret do weryfikacji podpisu.
/api/vendor/webhooksZarejestruj nowy webhook. Sekret jest wyświetlany tylko raz.
curl -X POST https://brutlers.com/api/vendor/webhooks \
-H "X-Api-Key: brut_your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"url": "https://meine-app.de/webhooks/brutlers",
"events": ["order.created", "order.status_changed"]
}'Maksymalnie 5 webhooków na usługodawcę
| Event | Description |
|---|---|
| order.created | Nowe zlecenie zostało utworzone |
| order.status_changed | Status zlecenia został zmieniony |
| inquiry.received | Nowe zapytanie zostało odebrane |
| appointment.confirmed | Termin został potwierdzony |
| appointment.cancelled | Termin został anulowany |
| customer.created | Nowy klient został utworzony |
Każde żądanie webhook zawiera treść JSON z typem zdarzenia i powiązanymi danymi.
{
"event": "order.status_changed",
"data": {
"id": "clx1234567890abcdef",
"status": "FITTING_READY",
"previousStatus": "IN_PRODUCTION",
"customerId": "clx0987654321fedcba",
"updatedAt": "2026-04-15T10:00:00.000Z"
},
"timestamp": "2026-04-15T10:00:01.234Z"
}Każde żądanie zawiera nagłówek podpisu HMAC-SHA256. Zweryfikuj podpis, aby upewnić się, że żądanie pochodzi od Brutlers.
Header
X-Brutlers-Signatureimport { createHmac } from "crypto";
function verifySignature(body, signature, secret) {
const expected = createHmac("sha256", secret)
.update(body)
.digest("hex");
return signature === expected;
}
// Express/Next.js example
app.post("/webhooks/brutlers", (req, res) => {
const signature = req.headers["x-brutlers-signature"];
const body = JSON.stringify(req.body);
if (!verifySignature(body, signature, process.env.WEBHOOK_SECRET)) {
return res.status(401).send("Invalid signature");
}
const { event, data } = req.body;
console.log(`Event: ${event}`, data);
res.status(200).send("OK");
});W przypadku błędów (status ≠ 2xx lub timeout) webhook jest ponawiany do 3 razy:
/api/vendor/webhooksZarejestruj nowy webhook. Sekret jest wyświetlany tylko raz.
/api/vendor/webhooks/:idZaktualizuj URL, zdarzenia lub status webhooka.
/api/vendor/webhooks/:idUsuń webhook i wszystkie powiązane logi dostarczania.