Référence API
Un seul endpoint, une seule requête POST. Envoyez du JSON à l'URL de webhook de votre canal et nous gérons les notifications, la mise en forme et la distribution.
Envoyer une alerte
Déclenchez une nouvelle alerte dans un canal spécifique. C'est l'endpoint principal pour envoyer des notifications depuis votre application.
curl -X POST https://zenhook.dev/api/webhook/abc123def456 \
-H "Content-Type: application/json" \
-d '{
"title": "New User Signup",
"level": "success",
"emoji": "🎉",
"source": "My App",
"message": "[email protected] just joined your workspace.",
"linkUrl": "https://myapp.com/admin/users/42",
"linkText": "View Profile"
}' Paramètres de chemin
Corps de la requête
info, success, warning, error. Par défaut info.
"🚀"), un
nom ("rocket"),
ou un shortcode (":rocket:").
Les noms et shortcodes sont convertis à l'ingestion. Les noms inconnus sont
ignorés plutôt qu'affichés comme texte littéral. Noms reconnus : rocket · siren · warning · check · cross · fire · bug · zap · bell · tada · sparkles · envelope · chat · phone · megaphone · wave · eyes · heart · thumbsup · office · door · house · factory · lock · unlock · key · link · package · gear · wrench · shield · money · chart · clock · hourglass · flag · star · target · pin · tag · computer · server · database · cloud · bulb · gem · anchor · pick · bank.
label et value.
linkUrl est défini.
url et, en option, un
type
(image,
video ou
audio) et une légende
name. Zenhook récupère chaque URL
et réhéberge le fichier sur son propre CDN — vos médias se
chargent vite et vos URLs sources restent privées. Formats acceptés :
PNG, JPEG, GIF, WebP, AVIF, MP4, WebM, MP3, WAV, M4A, Ogg (le SVG est
refusé). Max 10 Mo par image, 25 Mo audio, 50 Mo vidéo.
Réponses
Alerte reçue et mise en file d'attente pour distribution.
{
"success": true,
"alertId": "clx1234567890abcdef",
"queuedAt": "2024-03-22T12:00:00Z"
} Données structurées
Utilisez le tableau fields pour inclure des métadonnées riches
affichées dans le tableau de bord et les alertes par e-mail.
{
"title": "Build Failed",
"level": "error",
"fields": [
{ "label": "Branch", "value": "main" },
{ "label": "Commit", "value": "abc123f" },
{ "label": "Author", "value": "John Smith" },
{ "label": "Error", "value": "npm install timed out after 300s" }
],
"attachments": [
{ "url": "https://ci.example.com/runs/123/screenshot.png", "type": "image" }
],
"linkUrl": "https://github.com/org/repo/actions/runs/123",
"linkText": "View Logs"
} Relire les alertes
L'endpoint de webhook ci-dessus est public et en écriture seule — toute personne disposant du jeton du canal peut y publier. Pour lister les alertes, les marquer comme lues ou construire une intégration qui les consomme, utilisez l' API de lecture authentifiée avec un jeton Bearer.