Integration API

Überblick

Eine Integration ist eine konfigurierte Verbindung, die Warnmeldungen von Uptrends an externe Systeme sendet, zum Beispiel E-Mail, Slack, PagerDuty oder einen benutzerdefinierten Webhook.

Wenn ein Monitor ein Problem erkennt, verwendet Uptrends die in deinen Meldedefinitionen verknüpften Integrationen, um Benachrichtigungen an Operatoren oder Fremdanbieter-Systeme zuzustellen.

Verwende die Integration API, um Standardintegrationen, benutzerdefinierte Integrationen oder Fremdanbieter-Integrationen von Uptrends in deinem Account zu verwalten.

Anwendungsfälle

  • Integrationsdetails abrufen, um Alarmierung und Status nachzuverfolgen — Integrationen in deinem Account auflisten, die Konfiguration prüfen und Integrationstyp sowie aktiven Status prüfen.
  • Integrationen nach Typ verwalten:
    • Benutzerdefinierte Integrationen erstellen, aktualisieren und löschen
    • Fremdanbieter-Integrationen abrufen oder löschen
    • Standardintegrationen abrufen
    • Zugriff für Operatoren und Operator-Gruppen steuern

Voraussetzungen

Bevor du die Integration API verwendest, stelle sicher, dass du Folgendes hast:

Integration API-Endpunkte

Die Integration API stellt die folgenden Endpunkte zur Verwaltung von Integrationsinformationen bereit.

Integrationen

Verwende die folgenden Endpunkte, um Standardintegrationen (SMS, E-Mail und Telefon) und Fremdanbieter-Integrationen (Slack, PagerDuty und StatusHub) zu verwalten.

Methode Endpunkt Beschreibung
GET /Integration Gibt eine Liste aller Integrationen im Account zurück.
DELETE /Integration/{integrationGuid} Löscht die angegebene Integration. Standardintegrationstypen, darunter E-Mail, Telefon und SMS, können nicht gelöscht werden.
GET /Integration/{integrationGuid}/Authorizations Gibt eine Liste von Operatoren und Operator-Gruppen zurück, die Zugriffsberechtigungen für die Integration haben. Wenn keine Berechtigungen festgelegt sind, gibt der Antworttext eine leere Liste zurück.
POST /Integration/{integrationGuid}/Authorizations Erstellt Berechtigungen für die angegebene Integration. Das Gewähren einer Berechtigung umfasst automatisch alle erforderlichen abhängigen Berechtigungen. Wenn du zum Beispiel die Berechtigung EditIntegration gewährst, wird auch UseIntegration gewährt.
DELETE /Integration/{integrationGuid}/Authorizations/{authorizationGuid} Löscht die angegebene Berechtigung für die Integration.

Benutzerdefinierte Integrationen

Benutzerdefinierte Integrationen sind Fremdanbieter-Integrationen des Typs GenericWebhook. Du kannst ihre allgemeinen Informationen, zum Beispiel Integrations-ID, Name, Status und Typ, über den Endpunkt GET /Integration abrufen.

Um die vollständigen Konfigurationsdetails einer benutzerdefinierten Integration abzurufen und zu verwalten, verwende die folgenden Custom-Endpunkte.

Hinweis

Nur der Endpunkt /Integration/Custom ermöglicht das Erstellen und Aktualisieren der Integration.

Methode Endpunkt Beschreibung
GET /Integration/Custom Gibt eine Liste aller benutzerdefinierten Integrationen im Account zurück. Die Antwort enthält den Integrationstyp und für benutzerdefinierte Integrationen eine IntegrationDetailUrl, die auf den typspezifischen Detailendpunkt verweist.
POST /Integration/Custom Erstellt eine neue benutzerdefinierte Integration.
GET /Integration/Custom/{integrationGuid} Gibt die angegebene benutzerdefinierte Integration zurück.
PUT /Integration/Custom/{integrationGuid} Aktualisiert die angegebene benutzerdefinierte Integration.
DELETE /Integration/Custom/{integrationGuid} Löscht die angegebene benutzerdefinierte Integration.

Für Endpunktparameter, Anfrage- und Antwortschemata sowie interaktives Testen verwende die Uptrends Integration API.

API-Beispiele

Standardintegrationen und Fremdanbieter-Integrationen

GET-Antwort

Beispiel für einen GET /Integration-Antworttext:

[
  {
    "IntegrationGuid": "1a23b4e5-6f78-423f-8a1f-f2a8cc399f4b",
    "Name": "Alerting by SMS",
    "Type": "Sms",
    "IsActive": true,
    "DefaultSmsProvider": "SmsProviderInternational",
    "DefaultUseNumericSender": false
  },
  {
    "IntegrationGuid": "ab123c45-a28c-47b5-bbc8-645c3b93da59",
    "Name": "Statuspage",
    "Type": "GenericWebhook",
    "IntegrationDetailUrl": "Integration/Custom/ab123c45-d28e-47b5-fgh8-645i3b93da59",
    "IsActive": true
  },
  {
    "IntegrationGuid": "12a345b6-d061-405f-9b48-c72f34461218",
    "Name": "Alerting by email",
    "Type": "Email",
    "IsActive": true,
    "UseHtmlMail": true,
    "UseCustomEmailSubjectConfirmedError": false,
    "UseCustomEmailSubjectConfirmedErrorPlural": false,
    "UseCustomEmailSubjectReminderConfirmedError": false,
    "UseCustomEmailSubjectReminderConfirmedErrorPlural": false,
    "UseCustomEmailSubjectOK": false,
    "UseCustomEmailSubjectOKPlural": false,
    "EmailSubjectConfirmedError": "Uptrends Alert! Monitor: \"{{@monitor.name}}\" is not working properly.",
    "EmailSubjectConfirmedErrorPlural": "Uptrends Alert! Multiple Monitors are not working properly: \"{{@monitor.name}}\".",
    "EmailSubjectReminderConfirmedError": "Uptrends Reminder! Monitor: \"{{@monitor.name}}\" is still not working properly.",
    "EmailSubjectReminderConfirmedErrorPlural": "Uptrends Reminder! Multiple Monitors are still not working properly: \"{{@monitor.name}}\".",
    "EmailSubjectOK": "Uptrends Alert! Monitor: \"{{@monitor.name}}\" is OK.",
    "EmailSubjectOKPlural": "Uptrends Alert! Multiple Monitors are now OK:  \"{{@monitor.name}}\"."
  }
]

Beispiel für einen GET /Integration/{integrationGuid}/Authorizations-Antworttext:

  {
    "AuthorizationId": "12a348ce-385a-4316-9341-a0a22ff3cbcc",
    "AuthorizationType": "UseIntegration",
    "OperatorGroupGuid": "1234ab52-168e-4d54-bd1c-9e65226e82cb"
  }

Benutzerdefinierte Integrationen

Hinweis

Benutzerdefinierte Integrationen basieren auf Vorlagen. Die genaue JSON-Struktur kann je nach Implementierung unterschiedlich sein. Das in diesem Dokument gezeigte Schema stellt eine Referenzstruktur dar, kein striktes Schema, das für alle Integrationen erzwungen wird.

Rufe GET /Integration auf und finde Integrationen, bei denen Type den Wert GenericWebhook hat. Verwende den Wert IntegrationDetailUrl als Referenz, wenn du GET /Integration/Custom/ aufrufst. Du kannst auch GET /Integration/Custom/{integrationGuid} direkt aufrufen, um die vollständige Konfiguration abzurufen.

Das folgende Beispiel zeigt eine Struktur einer GET /Integration/Custom-Antwort:

[
  {
    "IntegrationGuid": "ab123c45-a28c-47b5-bbc8-645c3b93da59",
    "Name": "Statuspage",
    "IsActive": true,
    "Notes": "This integration updates the Statuspage component for Uptrends alert status.",
    "HttpStepDefinitions": [
      {
        "HttpStepDefinitionUsageGuid": "ab1234c5-8427-489d-eda6-1923e17c870e",
        "Steps": [
          {
            "Url": "https://api.example.io/v1/pages/{{PageId}}/components/{{ComponentId}}",
            "Method": "PATCH",
            "Body": "{\r\n  \"component\": {\r\n    \"status\": \"{{MapTypeToStatusPageStatus({{@alert.type}})}}\"\r\n  }\r\n}",
            "BodyType": "Raw",
            "MultiPartForm": [],
            "RequestHeaders": [
              {
                "Key": "Content-Type",
                "Value": "application/json"
              },
              {
                "Key": "Authorization",
                "Value": "OAuth {{ApiKey}}"
              }
            ],
            "Variables": [
              {
              "Source": "ResponseBodyJson",
              "Property": "[0].ProductId",
              "Name": "ProductId",
              "Arguments": []
              }
            ],
            "Assertions": [
              {
                "Source": "ResponseStatusCode",
                "Property": "",
                "Comparison": "Equal",
                "TargetValue": "200"
              }
            ],
            "UseFixedClientCertificate": false,
            "Authentication": {
              "Id": "a123b5b6-3c59-4c9d-9335-587e68f3f58f",
              "AuthenticationType": "None",
              "UserName": "",
              "PasswordSpecified": false
            },
            "IgnoreCertificateErrors": false,
            "Delay": 0,
            "StepType": "HttpRequest",
            "RetryUntilSuccessful": false,
            "MaxAttempts": 2,
            "RetryWaitMilliseconds": 1000,
            "PreRequestScript": "",
            "PostResponseScript": "",
            "CalculatedContentType": "",
            "AllowedTlsVersions": []
          }
        ],
        "UserDefinedFunctions": [
          {
            "Name": "MapTypeToStatusPageStatus",
            "Type": "Mapping",
            "Mappings": [
              {
                "Key": "Ok",
                "Value": "operational"
              },
              {
                "Key": "Alert",
                "Value": "major_outage"
              }
            ]
          }
        ],
        "Usages": [
          "Alert",
          "Ok"
        ]
      }
    ],
    "IntegrationVariables": [
      {
        "Name": "ApiKey",
        "Value": "a",
        "IsValueSetInEscalationLevel": false
      },
      {
        "Name": "PageId",
        "Value": "b",
        "IsValueSetInEscalationLevel": false
      },
      {
        "Name": "ComponentId",
        "Value": "c",
        "IsValueSetInEscalationLevel": false
      }
    ]
  },
  {
    "IntegrationGuid": "8f7c9fd0-8473-40f2-88bd-6d9ccbf40434",
    "Name": "Opsgenie",
    "IsActive": true,
    "Notes": "This integration sends alerts to Opsgenie.",
    "HttpStepDefinitions": [
      {
        "HttpStepDefinitionUsageGuid": "1abcdef2-345g-496e-9d65-802686fc1245",
        "Steps": [
          {
            "Url": "https://api.example.com/v2/alerts",
            "Method": "POST",
            "Body": "{\r\n  \"message\": \"[Uptrends] {{@monitor.name}}\",\r\n  \"alias\": \"{{@incident.key}}\",\r\n  \"description\": \"{{@JsonEncode({{@alert.description}})}}\",\r\n  \"details\": {\r\n    \"alertGuid\": \"{{@alert.alertGuid}}\",\r\n    \"type\": \"{{@alert.type}}\",\r\n    \"timestampUtc\": \"{{@alert.timestampUtc}}\",\r\n    \"timestamp\": \"{{@alert.timestamp}}\",\r\n    \"firstErrorUtc\": \"{{@alert.firstErrorUtc}}\",\r\n    \"firstError\": \"{{@alert.firstError}}\",\r\n    \"firstErrorCheckUrl\": \"{{@alert.firstErrorCheckUrl}}\",\r\n    \"firstErrorCheckId\": \"{{@alert.firstErrorCheckId}}\",\r\n    \"serverIpv4\": \"{{@alert.serverIpv4}}\",\r\n    \"serverIpv6\": \"{{@alert.serverIpv6}}\",\r\n    \"numberOfConsecutiveErrors\": \"{{@alert.numberOfConsecutiveErrors}}\",\r\n    \"checkpointName\": \"{{@alert.checkpointName}}\"\r\n  },\r\n  \"priority\": \"{{Priority}}\"\r\n}",
            "BodyType": "Raw",
            "MultiPartForm": [],
            "RequestHeaders": [
              {
                "Key": "Content-Type",
                "Value": "application/json"
              },
              {
                "Key": "Authorization",
                "Value": "GenieKey {{ApiKey}}"
              }
            ],
            "Variables": [
              {
                "Source": "ResponseBodyJson",
                "Property": "[0].ProductId",
                "Name": "ProductId",
                "Arguments": []
              }
            ],
            "Assertions": [
              {
              "Source": "ResponseStatusCode",
              "Property": "",
              "Comparison": "Equal",
              "TargetValue": "200"
              }
            ],
            "UseFixedClientCertificate": false,
            "Authentication": {
              "Id": "12a3b4c5-261c-4e90-a5c0-fa2b11bc54da",
              "AuthenticationType": "None",
              "UserName": "",
              "PasswordSpecified": false
            },
            "IgnoreCertificateErrors": false,
            "Delay": 0,
            "StepType": "HttpRequest",
            "RetryUntilSuccessful": false,
            "MaxAttempts": 2,
            "RetryWaitMilliseconds": 1000,
            "PreRequestScript": "",
            "PostResponseScript": "",
            "CalculatedContentType": "",
            "AllowedTlsVersions": []
          }
        ],
        "UserDefinedFunctions": [
          {
            "Name": "MapTypeToStatusPageStatus",
            "Type": "Mapping",
            "Mappings": [
              {
                "Key": "Ok",
                "Value": "operational"
              },
              {
                "Key": "Alert",
                "Value": "major_outage"
              }
            ]
          }
        ],
        "Usages": [
          "Alert",
          "Reminder"
        ]
      }
    ],
    "IntegrationVariables": [
      {
        "Name": "ApiKey",
        "Value": "a",
        "IsValueSetInEscalationLevel": false
      },
      {
        "Name": "Priority",
        "Value": "P1",
        "IsValueSetInEscalationLevel": false
      }
    ]
  }
]

POST- und PUT-Anfrage

Verwende dieselbe Struktur für die Anfragetexte von POST /Integration/Custom und PUT /Integration/Custom/{integrationGuid}. Lasse IntegrationGuid weg, wenn du eine neue Integration erstellst, da diese automatisch generiert wird.

Du kannst die Uptrends Webanwendung als Ausgangspunkt verwenden, um eine benutzerdefinierte Integration zu erstellen. Rufe die Konfiguration mit GET /Integration/Custom/{integrationGuid} ab und aktualisiere sie anschließend über die API.

{
    "IntegrationGuid": "1c234567-846d-44b4-8991-b8eedc1c68c9",
    "Name": "Uptrends Test API",
    "IsActive": true,
    "Notes": "This integration implementation contains a predefined (but customizable) JSON-formatted message containing the full range of available alerting parameters. ",
    "HttpStepDefinitions": [
      {
        "HttpStepDefinitionUsageGuid": "ab1c9d38-a4ca-4a5b-926f-62228f7b5a68",
        "Steps": [
          {
            "Url": "https://api-test.example.net/Account",
            "Method": "GET",
            "BodyType": "Raw",
            "MultiPartForm": [
              {
                "Type": "VaultFile",
                "Key": "file",
                "Value": "b84daa9c-cdf3-4ba8-90fa-49aa70dc80c0"
              }
            ],
            "RequestHeaders": [
              {
                "Key": "Content-Type",
                "Value": "application/json"
              }
            ],
            "Variables": [
              {
              "Source": "ResponseBodyJson",
              "Property": "[0].ProductId",
              "Name": "ProductId",
              "Arguments": []
              }
            ],
            "Assertions": [
              {
              "Source": "ResponseStatusCode",
              "Property": "",
              "Comparison": "Equal",
              "TargetValue": "200"
              }
            ],
            "UseFixedClientCertificate": false,
            "Authentication": {
              "Id": "12342229d-68cf-4328-b90c-ecb3094b9eac",
              "AuthenticationType": "Basic",
              "UserName": "{{Username}}",
              "PasswordSpecified": false
            },
            "IgnoreCertificateErrors": false,
            "Delay": 0,
            "StepType": "HttpRequest",
            "RetryUntilSuccessful": false,
            "MaxAttempts": 2,
            "RetryWaitMilliseconds": 1000,
            "PreRequestScript": "",
            "PostResponseScript": "",
            "CalculatedContentType": "application/json",
            "AllowedTlsVersions": []
          }
        ],
        "UserDefinedFunctions": [
          {
            "Name": "MapTypeToStatusPageStatus",
            "Type": "Mapping",
            "Mappings": [
              {
                "Key": "Ok",
                "Value": "operational"
              },
              {
                "Key": "Alert",
                "Value": "major_outage"
              }
            ]
          }
        ],
        "Usages": [
          "Alert",
          "Ok",
          "Reminder"
        ]
      }
    ],
    "IntegrationVariables": [
      {
        "Name": "ApiUrl",
        "Value": "https://example.site/1ab23bcde",
        "IsValueSetInEscalationLevel": false
      },
      {
        "Name": "Password",
        "Value": "pass",
        "IsValueSetInEscalationLevel": false
      },
      {
        "Name": "Username",
        "Value": "uname",
        "IsValueSetInEscalationLevel": false
      }
    ]
} 

API-Parameter

Feldname Beschreibung
integrationGuid Pfadparameter. Die GUID der Integration.
authorizationGuid Pfadparameter. Die GUID der mit der Integration verknüpften Berechtigung.

Allgemeine API-Felder

Integrationsressourcen verwenden die folgenden Eigenschaften in Anfrage- und Antworttexten:

Feldname Beschreibung
IntegrationGuid Der eindeutige Bezeichner der Integration. Wird automatisch zugewiesen, wenn die Integration erstellt wird.
Name Der Name der Integration.
Type
Der Integrationstyp. Beispiele sind Email, Sms, Phone und GenericWebhook.
IsActive Wenn true, ist die Integration aktiv. Andernfalls ist die Integration inaktiv und wird in keiner Meldedefinition verwendet.
IntegrationDetailUrl Die URL zum typspezifischen Detailendpunkt der Integration, falls verfügbar.

Zusätzliche Felder unten können je nach Integrationstyp ebenfalls verfügbar sein.

Felder für E-Mail-Integrationen

Die folgenden Felder sind verfügbar, wenn du eine E-Mail-Integration anpasst:

Feldname Beschreibung
ExtraEmailAddresses Zusätzliche E-Mail-Adressen, die Warnmeldungen erhalten, wie in der Eskalationsstufe der Meldedefinition konfiguriert.
UseHtmlMail Wenn true, sendet Uptrends Alarm-E-Mails im HTML-Format, einschließlich anklickbarer Links und Formatierung. Wenn false, werden E-Mails als Reintext gesendet.
UseCustomEmailSubjectConfirmedError Wenn true, verwenden E-Mail-Alarme für bestätigte Fehler einen benutzerdefinierten Betreff. Wenn false, verwenden sie den Standard-E-Mail-Betreff.
UseCustomEmailSubjectConfirmedErrorPlural Wenn true, verwenden E-Mail-Alarme für bestätigte Fehler bei mehreren Monitoren einen benutzerdefinierten Betreff. Wenn false, verwenden sie den Standard-E-Mail-Betreff.
UseCustomEmailSubjectReminderConfirmedError Wenn true, verwenden E-Mail-Erinnerungen für bestätigte Fehler einen benutzerdefinierten Betreff. Wenn false, verwenden sie den Standard-E-Mail-Betreff.
UseCustomEmailSubjectReminderConfirmedErrorPlural Wenn true, verwenden E-Mail-Erinnerungen für mehrere Monitore mit bestätigten Fehlern einen benutzerdefinierten Betreff. Wenn false, verwenden sie den Standard-E-Mail-Betreff.
UseCustomEmailSubjectOK Wenn true, verwenden OK-E-Mail-Alarme einen benutzerdefinierten Betreff. Wenn false, verwenden sie den Standard-E-Mail-Betreff.
UseCustomEmailSubjectOKPlural Wenn true, verwenden OK-E-Mail-Alarme für mehrere Monitore einen benutzerdefinierten Betreff. Wenn false, verwenden sie den Standard-E-Mail-Betreff.
EmailSubjectConfirmedError Der benutzerdefinierte E-Mail-Betreff, der für Alarme bei bestätigten Fehlern verwendet wird.
EmailSubjectConfirmedErrorPlural Der benutzerdefinierte E-Mail-Betreff, der für Alarme bei bestätigten Fehlern bei mehreren Monitoren verwendet wird.
EmailSubjectReminderConfirmedError Der benutzerdefinierte E-Mail-Betreff, der für Erinnerungs-Alarme bei bestätigten Fehlern verwendet wird.
EmailSubjectReminderConfirmedErrorPlural Der benutzerdefinierte E-Mail-Betreff, der für Erinnerungs-Alarme bei bestätigten Fehlern bei mehreren Monitoren verwendet wird.
EmailSubjectOK Der benutzerdefinierte E-Mail-Betreff, der für OK-Alarme verwendet wird.
EmailSubjectOKPlural Der benutzerdefinierte E-Mail-Betreff, der für OK-Alarme bei mehreren Monitoren verwendet wird.

Felder für SMS-Integrationen

Feldname Beschreibung
DefaultSmsProvider

Der SMS-Anbieter, der zum Senden von Alarm-Textnachrichten verwendet wird:

  • SmsProviderEurope — SMS Gateway mit Sitz in Europa
  • SmsProviderEurope2 — SMS Gateway mit Sitz in Europa
  • SmsProviderUSA — SMS Gateway mit Sitz in den USA
  • SmsProviderInternational — Internationales SMS Gateway
DefaultUseNumericSender Wenn true, verwendet Uptrends eine numerische Absender-ID. Wenn false, verwendet Uptrends die standardmäßige textuelle Absender-ID (zum Beispiel Uptrends).

Felder für Telefon-Integrationen

Feldname Beschreibung
DefaultOutgoingPhoneNumber

Die ausgehende Telefonnummer, über die Alarmanrufe erfolgen:

  • System default
  • +4921195987963 — Deutsche Telefonnummer
  • +441584322044 — Telefonnummer im Vereinigten Königreich (UK)
  • +14243224154 — Telefonnummer in den Vereinigten Staaten von Amerika (USA)
  • +31858887978 — Niederländische Telefonnummer
  • +33970730750 — Französische Telefonnummer

Weitere Informationen findest du unter OutgoingPhoneNumber API.

PhoneMessageCulture

Die Sprache, die der Telefon-Operator verwendet, wenn du den Anruf erhältst. Unterstützte Sprachen sind:

  • Deutsch
  • English (UK formatting)
  • English (US formatting)
  • Français
  • Nederlands
UseSpeechFriendlyMonitorNames
Wenn true, verwendet der Telefon-Operator bei Telefonanrufen die alternativen Monitornamen, die im Tab Allgemein deines Monitor Editors festgelegt sind. Weitere Informationen findest du unter Sprachfreundliche Monitornamen.

Felder für benutzerdefinierte Integrationen

Felder für benutzerdefinierte Integrationen definieren die Konfiguration zum Senden von Warnmeldungen für die Alarmtypen Fehler, OK und Erinnerung. Jeder Alarmtyp verwendet HTTP-Schrittdefinitionen, die das Anfrage- und Antwortverhalten steuern, einschließlich Nachrichteninhalt und zusätzlicher Workflow-Schritte, zum Beispiel Authentifizierung und benutzerdefinierte Funktionen.

Feldname Beschreibung
Notes Freitextfeld zum Hinzufügen interner Kommentare oder Details zur benutzerdefinierten Integration.
HttpStepDefinitions

Definiert die HTTP-Struktur der benutzerdefinierten Integration. Wichtige verschachtelte Felder:

  • Steps — die einzelnen HTTP-Anfrageschritte für jede Warnmeldung. Weitere Informationen zu diesen Feldern findest du unter Steps-Feld.
  • UserDefinedFunctions — Funktionen, die Schrittvariablenwerte durch Mapping, Parsen mit regulären Ausdrücken und andere unterstützte Vorgänge transformieren. Weitere Informationen findest du unter Benutzerdefinierte Funktionen.
  • Usages — die Warnmeldungstypen, auf die diese Schrittdefinition angewendet wird: Alert, Reminder oder Ok.
IntegrationVariables Variablen, die in der Integration für Anmeldedaten oder wiederverwendbare Werte verwendet werden.

Andere API-Felder

API-Felder, die spezifisch für bestimmte Integrationen sind, darunter StatusHub und PagerDuty.

Feldname Beschreibung
IntegrationServices Gilt für die StatusHub Integration. Liste der Integrationsdienst-IDs, die mit der Integration verknüpft sind.
IntegrationServiceGuid Der eindeutige Bezeichner eines StatusHub Integrationsdienstes.
StatusHubServiceList Gilt für die StatusHub Integration. Liste der StatusHub-Dienste, einschließlich MonitorGuid und IntegrationServiceGuid.
UseSilentMode Gilt für die StatusHub Integration. Wenn true, protokolliert die Integration die Aktualisierungen nur auf der Statusseite. Wenn false, erhalten Nutzer eine Warnmeldung über die Aktualisierungen.
IntegrationKey Gilt für die PagerDuty Integration. Der Integrationsschlüssel. Wird nur zurückgegeben, wenn der authentifizierte Nutzer Bearbeitungsberechtigung für die Integration hat.

Berechtigungsfelder

Feldname Beschreibung
AuthorizationId Die eindeutige ID der Berechtigung.
AuthorizationType

Der Berechtigungstyp, der mit der Integration verknüpft ist. Optionen sind:

  • UseIntegration — Berechtigung, die Integration in den Eskalationsstufen der Meldedefinition zu verwenden.
  • EditIntegration — Berechtigung, die Integrationskonfiguration zu aktualisieren. Weitere Informationen findest du unter Uptrends Integrationsberechtigungen.

Problembehebung

Dieser Abschnitt behandelt häufige HTTP-Fehler und Schritte zur Problembehebung für die Integration API.

Häufige Fehler

Häufige HTTP-Statuscodes und ihre Beschreibungen:

Statuscode Beschreibung
200 OK — Anfrage erfolgreich.
201 Created — die Ressource wurde erfolgreich erstellt (zum Beispiel eine benutzerdefinierte Integration oder Berechtigung).
204 No content — die Anfrage wurde erfolgreich abgeschlossen und es wurde kein Antworttext zurückgegeben. Dies gilt für erfolgreiche PUT- und DELETE-Anfragen.
400 Bad request — ungültige Anfrageparameter oder fehlende Pflichtfelder.
401 Unauthorized — ungültige oder fehlende Authentifizierungsdaten.
403 Forbidden — ein oder mehrere Validierungsfehler sind aufgetreten. Dies kann mit Account-Berechtigungen zusammenhängen.
404 Not Found — die angegebene authorizationGuid oder integrationGuid wurde nicht gefunden.
500 Internal Server Error — ein serverseitiger Fehler ist aufgetreten.

Allgemeiner Leitfaden zur Problembehebung

Stelle sicher, dass du:

  • Deine Anfragedaten immer validierst, bevor du API-Aufrufe sendest.
  • Geeignete HTTP-Methoden für jeden Vorgang verwendest.

Für weitere Unterstützung wende dich bitte an unser Support-Team.

Verwandte Artikel

Weitere Details findest du in den folgenden Artikeln:

Durch die Nutzung dieser Website stimmen Sie der Verwendung von Cookies gemäß unserer Cookie-Richtlinien zu.