BZZHR

Servicio de alojamiento de archivos rápido y fiable.

Notificaciones por webhook

Entérate cuando a tus archivos les pase alguna mierda. Enviaremos peticiones HTTP POST a tu URL cada vez que ocurra algo importante.

Configuración

  1. Ve a los ajustes de tu cuenta
  2. Añade la URL de tu webhook (solo HTTPS)
  3. Reintentamos las peticiones fallidas 3 veces
  4. Los webhooks de Discord se formatean automáticamente con sus embeds correspondientes

Cabeceras

Cabecera Descripción Ejemplo
X-Buzzheavier-Signature Firma HMAC SHA256 buzzheavier.com
X-Buzzheavier-Event Tipo de evento de Buzzheavier FILE_EXPIRY
User-Agent User agent del cliente HTTP de Buzzheavier Buzzheavier-Webhook/1.0

Eventos

Tipo de evento Cuándo se envía
FILE_EXPIRY Cuando un archivo caduca

Ejemplo de payload

{
  "event_type": "FILE_EXPIRY",
  "timestamp": "2024-02-20T15:04:05Z",
  "data": {
    "id": "abc123def456",
    "name": "document.pdf",
    "expired_at": "2024-02-20T15:04:05Z",
    "directory_id": "xyz789"
  }
}

Verificar las peticiones

Cada petición de webhook incluye una firma. Así es como se verifica:

// Your webhook secret from settings page
secret = "your_webhook_secret"

// Get signature from header
signature = request.headers["X-Buzzheavier-Signature"]

// Calculate expected signature
payload = request.body
expected = hmac_sha256(secret, payload)

// Compare (use constant time comparison)
if signature == expected {
    // Request is from Buzzheavier
}

Límites

  • Solo URLs HTTPS
  • 3 reintentos para peticiones fallidas
  • Timeout de 5 segundos por petición
  • Tamaño máximo del payload: 64KB