Gestion des notifications d’événement Ouvrir l’API

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 6 minutes de lecture
  • L’API ouverte Gestion des notifications d’événement fournit un point de terminaison pour créer, mettre à jour et supprimer des événements de la table Événements [em_event].

    L’API ouverte Event Notification Management (sn_ind_tmf688) est une ServiceNow implémentation de la spécification de l’API ouverte TM Forum. Cette API est basée sur le Guide de l’utilisateur de l’API TMF688 Event Management v4.0.0. Vous trouverez des informations supplémentaires sur les alarmes dans le Guide de l’utilisateur de l’API de gestion des alarmes TMF642.

    Cette API peut être étendue pour effectuer des personnalisations autour des paramètres requis, de la validation du corps de la demande, des opérations REST supplémentaires et des mappages de champs. Pour plus d'informations, voir le Guide du développeur de la gestion des notifications d’événement Open API.

    Gestion des notifications d’événement Open API – POST instance_name/scope_id/GUID

    Place la charge utile de la demande associée dans la file d’attente NowMQ. Cette file d’attente est ensuite traitée en arrière-plan pour créer, mettre à jour et supprimer des événements dans la table Événements [em_event].

    Ce point de terminaison est différent des autres points de terminaison de la ServiceNow plateforme. Au lieu d’avoir un point de terminaison pour chaque tâche spécifique, telle que créer, mettre à jour et supprimer, il n’y a qu’un seul point de terminaison pour toutes les fonctionnalités. Le paramètre eventType de la charge utile de l’appel détermine la tâche à effectuer en fonction de sa valeur transmise AlarmCreateEvent, AlarmUpdateEvent ou AlarmDeleteEvent.

    Le format de l’appel REST est également différent de celui des implémentations REST standard. Chaque système externe qui utilisera cette API, tel que Kafka, les moniteurs de base de données ou d’autres applications, doit d’abord s’enregistrer auprès de la ServiceNow plateforme. Ils doivent également avoir leur propre webhook en place qui utilise les informations fournies lors de l’inscription pour générer la signature requise pour appeler ce point de terminaison, y compris le instance_name, le scope_id d’application et le GUID unique. Le GUID identifie le système de réseau externe d’où provient la demande.

    La charge utile que vous transmettez pour ce point de terminaison doit être corrélée avec la charge utile définie dans l’include de script TMFAlarmAPIConstants pour la valeur de paramètre correspondante eventType . Tous les paramètres transmis dans la charge utile et non définis dans le schéma sont ignorés par le point de terminaison.
    • AlarmCreateEvent : ALARM_CREATE_EVENT_SCHEMA
    • AlarmUpdateEvent : ALARM_CHANGE_EVENT_SCHEMA
    • AlarmDeleteEvent : ALARM_DELETE_EVENT_SCHEMA

    Format d'URL

    URL par défaut : <instance_name>/<scope_id>/<GUID>

    Paramètres de demande pris en charge

    Tableau 1. Paramètres de chemin d'accès
    Nom Description
    Aucun
    Tableau 2. Paramètres de requête
    Nom Description
    Aucun
    Tableau 3. Paramètres du corps de la demande
    Nom Description
    event Détails sur l’événement qui s’est produit.

    Type de données : objet

    "event": {
      "alarm": {Object}
    }
    événement.alarme Requis lorsque eventType est AlarmCreateEvent.

    Détails sur l’alarme associée.

    Type de données : objet

    "alarm": {
      "affectedService": [Array],
      "alarmedObject": {Object},
      "alarmType": "String",
      "crossedThresholdInformation": {Object},
      "externalAlarmId": "String",
      "href": "String",
      "id": "String",
      "perceivedSeverity": "String",
      "probableCause": "String",
      "sourceSystemId": "String",
      "specificProblem": "String",
    }
    événement.alarme.affectedService Liste d’un ou plusieurs services affectés par l’alarme.

    Type de données : tableau d’objets

    "affectedService":[
      {
        "href": "String",
        "id": "String"
      },
    ]
    événement.alarme.affectedService.href Référence d’URL qui fournit les détails du service affecté.

    Type de données : chaîne

    event.alarm.affectedService.id
    Identificateur du service affecté par l’alarme. Cette valeur est mappée à l’élément de configuration (CI) affecté sur l’alerte.

    Type de données : chaîne

    événement.alarme.alarmedObjet Requis lors de la création d’un événement.
    Détails de l’objet d’alarme.

    Type de données : objet

    "alarmedObject":
    {
      "href": "String",
      "id": "String"
    }
    événement.alarme.alarmedObjet.href Requis lors de la création d’un événement.
    Référence URL pour obtenir les détails de l’objet d’alarme.

    Type de données : chaîne

    event.alarm.alarmedObject.id Requis lorsque eventType est AlarmCreateEvent.
    Identificateur unique de l’objet d’alarme. Cette valeur est mappée à un CI dans le système.

    Type de données : chaîne

    event.alarm.alarmType Requis lorsque eventType est AlarmCreateEvent.

    Type d’alarme. Utilisé pour classer l’alarme.

    Par exemple : « QualityOfServiceAlarm »

    Type de données : chaîne

    event.alarm.crossedThresholdInfomation Détails sur le seuil franchi.

    Type de données : objet

    "crossedThresholdInformation":
    {
      "thresholdId": "String"
    }
    event.alarm.crossedThresholdInfomation.thresholdId
    Identificateur unique du seuil à l’origine de l’alarme.

    Type de données : chaîne

    event.alarm.externalAlarmId Requis lorsque eventType est AlarmCreateEvent. Requis lorsque eventType le paramètre est AlarmDeleteEvent ou AlarmChangeEvent si le paramètre n’est Id pas spécifié.

    Identificateur unique pour l’alarme provenant du système source qui publie l’alarme.

    Type de données : chaîne

    événement.alarme.href Référence URL de l’alarme.

    Par exemple : « http://api/alarm/ROUTER_IF@Cisco-0000-0-0-0-0-00-00-0-- Xz0/00@00 »

    Type de données : chaîne

    event.alarm.id Requis lorsque eventTypeAlarmDeleteEvent ou AlarmChangeEvent n’estexternalAlarmId pas spécifié.

    Identificateur unique de l’alarme. Spécifié par le système propriétaire de l’alarme.

    Par exemple : « 8675399 »

    Type de données : chaîne

    événement.alarme.perceptiondgravité Requis lorsque eventType est AlarmCreateEvent.

    Gravités possibles associées à l’alarme. Les valeurs sont conformes à la Recommandation UIT-T X.733. Une fois qu’une alarme a été effacée, sa gravité perçue est définie sur « EFFACER » et ne peut plus être réglée.

    Valeurs valides :
    • CLAIR
    • CRITIQUE
    • MAJEUR
    • MINEUR
    • AVERTISSEMENT

    Type de données : chaîne

    événement.alarme.probableCause Requis lorsque eventType est AlarmCreateEvent.

    Situation la plus susceptible de déclencher l’alarme. Utilisez avec alarmType pour qualifier l’alarme.

    Les valeurs possibles sont conformes à la Recommandation X.733 de l’UIT-T ou à l’Annexe B de la norme 3GPP TS 32.111-2.

    Par exemple : « Seuil franchi »

    Type de données : chaîne

    événement.alarme.sourceSystemId Requis lorsque eventType est AlarmCreateEvent.

    Identificateur unique du système source de l’alarme.

    Par exemple : « SOURCE_SYSTEM_vManage_00000_000_00 »

    Type de données : chaîne

    événement.alarme.spécifiqueProblème Problème spécifique qui déclenche l’alarme. Utiliser avec le probableCause paramètre t pour qualifier l’alarme.

    Par exemple : « Seuil du trafic entrant dépassé »

    Type de données : chaîne

    eventType Requis. Type d’événement à traiter.
    Valeurs valides :
    • Notification de changement d’alarme
    • AlarmCreateNotification
    • Notification de suppression d’alarme

    Type de données : chaîne

    En-têtes

    Les en-têtes de demande et de réponse suivants s'appliquent à cette action HTTP uniquement ou s'appliquent à cette action d'une manière distincte. Pour obtenir la liste des en-têtes généraux utilisés dans l’API REST, consultez En-têtes d’API REST pris en charge.

    Tableau 4. En-têtes de demandes
    En-tête Description
    Accepter Format de données du corps de la réponse. Prend uniquement en charge application/json.
    Tableau 5. En-têtes de réponses
    En-tête Description
    Aucun

    Codes d'état

    Les codes d'état suivants s'appliquent à cette action HTTP. Pour obtenir la liste des codes d’état possibles utilisés dans l’API REST, consultez Codes de réponse HTTP de l’API REST.

    Tableau 6. Codes d'état
    Code d'état Description
    200 Renvoyé pour chaque appel, quel que soit l’état de traitement réel de l’appel. Indique uniquement que le point de terminaison a reçu la demande.

    Paramètres du corps de réponse

    Nom Description
    Aucun Ce point de terminaison est asynchrone et ne renvoie donc aucune donnée de réponse.

    Demande cURL

    L’élément suivant montre la charge utile possible pour un événement de création d’alarme. Cet exemple reflète les paramètres qui se trouvent dans l’implémentation par défaut (AlarmCreateEventSchema).

    
    --data "{
      "eventType": "AlarmCreateNotification",
      "event": {
        "alarm": {
          "id": "",
          "externalAlarmId": "ext123456",
          "alarmType": "QualityOfServiceAlarm",
          "perceivedSeverity": "MINOR",
          "alarmedObject": {
            "id": "vManage_000000",
            "href": " http://api/alarmedobject/000000"
          },
          "probableCause": "Threshold crossed",
          "sourceSystemId": "SOURCE_SYSTEM_vManage_00000_000_00",
          "href": "http://api/alarm/ROUTER_IF@Cisco-0000-0-0-0-0-00-00-0-- Xz0/00@00",
          "specificProblem": "Inbound Traffic threshold crossed",
          "crossedThresholdInformation": {
            "thresholdId": "12fasdfasdfasd"
          },
          "affectedService": [
            {
              "id": "SD WAN Enterprise Solutions",
              "href": "http://api/service/vlan_dot0_dot0"
            }
          ]
        }
      }
    }

    Aucune réponse n’a été renvoyée.

    Demande cURL

    L’élément suivant montre la charge utile possible pour un événement d’alarme de changement. Cet exemple reflète les paramètres qui se trouvent dans l’implémentation par défaut (AlarmChangeEventSchema).

    
    --data "{
      "eventType": "AlarmChangeEventSchema",
      "event": {
        "alarm": {
          "id": "",
          "externalAlarmId": "ext123456",
          "perceivedSeverity": "MAJOR",
          "probableCause": "Threshold crossed",
          "crossedThresholdInformation": {
            "thresholdId": "12fasdfasdfasd"
          },
          "affectedService": [
            {
              "id": "SD WAN Enterprise Solutions",
              "href": "http://api/service/vlan_dot0_dot0"
            }
          ]
        }
      }
    }
    

    Aucune réponse n’a été renvoyée.

    Demande cURL

    Ce qui suit montre la charge utile possible pour un événement d’alarme de suppression (effacement). Cet exemple reflète les paramètres qui se trouvent dans l’implémentation par défaut (AlarmDeleteEventSchema).

    
    --data "{
      "eventType": "AlarmDeleteEventSchema",
      "event": {
        "alarm": {
          "id": "",
          "externalAlarmId": "ext123456",
          "perceivedSeverity": "MAJOR",
          "probableCause": "Threshold crossed",
          "crossedThresholdInformation": {
            "thresholdId": "12fasdfasdfasd"
          }
        }
      }
    }

    Aucune réponse n’a été renvoyée.