Uptimeify Docs

Benachrichtigungskanal erstellen

Erstellt einen neuen Benachrichtigungskanal. Geheimnisse in config werden serverseitig verschlüsselt.

POST /api/notification-channels

Anfrage (Request Body)

FieldTypeRequiredDefaultDescription
typestringJaKanaltyp (vollständige Liste unten)
namestringJaAnzeigename
configobject|stringJaKanalkonfiguration (siehe Typtabelle). Als JSON-Objekt oder JSON-String übergeben.
organizationIdnumberNeinaus SessionOrganisations-Scope
customerIdnumberNeinnullKunden-Scope
websiteIdnumberNeinnullWebsite-Scope. Erfordert sourceChannelId.
sourceChannelIdnumber|stringBedingtnullÜbergeordnete Kanal-ID für Website-Overrides
categorystringNeindirectdirect oder integration
prioritynumberNein1Niedriger = höhere Priorität
delaySecondsnumberNein0Verzögerung vor dem Senden des Alerts
conditionsobject|stringNeinnullAlert-Bedingungen (z. B. {"onlyFullService": true, "minIncidentDuration": 300})
isActivebooleanNeintrueOb der Kanal aktiv ist

Kanaltypen

Direkt (category: "direct"): email, sms, webhook.

Integrationen (category: "integration"): slack, discord, teams, pagerduty, opsgenie, allquiet, telegram, googlechat, mattermost, rocketchat, matrix, lark, dingtalk, wecom, ilert, grafanaoncall, squadcast, incidentio, pushover, ntfy, gotify, jira, github, gitlab, linear, servicenow.

Die config-Felder hängen vom Typ ab — siehe Integrationen, was jeder Kanal benötigt. Du kannst einen Kanal vor dem Speichern mit dem Endpunkt Benachrichtigungskanal testen validieren.

Beispiel (cURL) — E-Mail-Kanal

curl -X POST "$BASE_URL/api/notification-channels" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "email",
    "name": "Ops Email",
    "config": { "email": "ops@example.com", "to": "Ops Team" },
    "organizationId": 1
  }'

Beispiel (cURL) — Slack-Kanal

curl -X POST "$BASE_URL/api/notification-channels" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "slack",
    "name": "Alerts Slack Channel",
    "config": { "secret": "https://hooks.slack.com/services/T00/B00/xxx" },
    "organizationId": 1
  }'

Beispiel (cURL) — Webhook-Kanal

curl -X POST "$BASE_URL/api/notification-channels" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "webhook",
    "name": "Custom Webhook",
    "config": {
      "url": "https://example.com/webhook",
      "method": "POST",
      "headers": { "X-Custom-Header": "value" },
      "bodyTemplate": "{\"text\": \"{{websiteName}} is {{status}}\"}",
      "timeout": 30,
      "retryAttempts": 3,
      "retryDelay": 60,
      "expectedStatusCodes": "200,201,204"
    },
    "organizationId": 1
  }'

Häufige Fehler

  • 401 Unauthorized wenn du nicht authentifiziert bist
  • 403 Forbidden wenn du Kanäle für eine Organisation erstellst, für die du keine Schreibrechte hast
  • 409 Conflict wenn bereits ein doppelter Website-Override existiert

Antwort (Response)

Gibt das erstellte Benachrichtigungskanal-Objekt zurück. Siehe Fehlercodes für Fehlerantworten.

Auf dieser Seite