Webhook Kurulum Kılavuzu
Botonom agent event'lerini kendi kurumsal yazılımlarınıza bağlamak için webhook abonelikleri oluşturun.
Webhook endpoint'i oluşturma
Aşağıdaki API çağrısıyla bir webhook endpoint'i kaydedebilirsiniz:
curl -X POST "https://api.botonom.com/en/api/v1/webhooks/create/" \
-H "X-Botonom-Api-Key: bk_live_..." \
-H "Content-Type: application/json" \
-d '{
"url": "https://hooks.sirketiniz.com/botonom",
"events": ["agent.command.completed", "agent.command.failed"]
}'
Yanıt, imza doğrulama için kullanacağınız whsec_... imza secret'ını yalnızca bir kez döndürür. Güvenlik gereği hedef URL mutlaka https olmalıdır.
Webhook imzalarını doğrulama
Her webhook teslimatı X-Botonom-Signature header'ı taşır: t=<unix_zaman>,v1=<hex_imza>. İmzanın doğruluğunu secret anahtarınızla HMAC-SHA256 kullanarak teyit edebilirsiniz:
const crypto = require("crypto");
function verifyBotonomWebhook(rawBody, signatureHeader, secret) {
const parts = Object.fromEntries(
signatureHeader.split(",").map((p) => p.split("="))
);
const expected = crypto
.createHmac("sha256", secret)
.update(parts.t + "." + rawBody)
.digest("hex");
return crypto.timingSafeEqual(Buffer.from(parts.v1), Buffer.from(expected));
}

