---
sourceDocument: オーストラリア API リファレンス
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/api-reference

 Release :

    - australia

ft:locale :

    - ja-JP

ft:publication_title :

    - オーストラリア API リファレンス

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# イベント通知管理 Open API 開発者ガイド

# イベント通知管理 Open API 開発者ガイド {#ariaid-title1}

* リリースバージョン: Australia
* 
* 更新日 2026年03月12日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：10分

イベント通知管理オープン API を使用して、イベント \[em_event\] テーブルのイベントレコードを作成、更新、および削除します。

この開発者ガイドでは、 イベント通知管理 Open API を拡張してさまざまなカスタマイズを行う方法について説明します。

## イベント通知管理オープン API の拡張 {#ariaid-title2}

関連するスクリプトインクルードファイルを編集することで、 イベント通知管理 Open API の機能を拡張および変更できます。  
以下は、 イベント通知管理 Open API が API に渡されたイベント通知要求を処理するために使用するスクリプトインクルードです。

* AlarmAPIProcessorOOB:TMFTopicEventAPIUtil スクリプトインクルードの関数をサポートするヘルパー関数が含まれています。AlarmAPIProcessorOOB スクリプトインクルードの詳細については、[アラーム管理オープン API 開発者ガイド](https://servicenow-prod.fluidtopics.net/mC5cS30fhYICskMNOwjb7g#alarm-mgmt_dev-guide "アラーム管理オープン API を使用して、イベント [em_event] テーブルのデータを作成および更新します。")を参照してください。
* AlarmAPIProcessor:空のスクリプトインクルードファイル。このファイルを更新して、 AlarmAPIProcessorOOB スクリプトインクルードで上書きする関数を定義します。
* JSONSchemaValidation: TMFAlarmAPIConstants スクリプトインクルードで定義されたペイロードのスキーマの検証を処理する関数が含まれています。このスクリプトインクルードは tmt_core プラグインの下にあります。
* TMFAlarmAPIConstants:定数と必要なパラメーター情報が含まれます。また、 イベント通知管理オープン エンドポイントで渡されるペイロードのスキーマも含まれています。
* [TMFTopicEventAPIUtilOOB:](https://servicenow-prod.fluidtopics.net/rUQbVdJU2bPayOB9qXUR~g#tmftopiceventapiutiloobScopedAPI "TMFTopicEventAPIUtilOOB スクリプトインクルードには、イベント [em_event] テーブル内のイベントを作成、更新、削除するために外部トリガー定義によってトリガーされる Open API 要求を処理する関数が含まれています。")イベントを作成、更新、および削除するアクション `AlarmCreateNotification`、`AlarmChangeNotification`、`AlarmDeleteNotification` を持つ[外部トリガー定義フロー](https://www.servicenow.com/docs/access?context=set-up-flow-ihub&version=australia&pubname=australia-integrate-applications&ft:locale=en-US)によってトリガーされる API 要求を処理する関数が含まれています。
* TMFTopicEventAPIUtil:空のスクリプトインクルードファイル。このファイルを更新して、 TMFTopicEventAPIUtilOOB スクリプトインクルードで上書きする関数を定義します。

次のセクションでは、これらのスクリプトインクルードファイルを拡張/変更することで、 イベント通知管理オープン API 処理に対して行うことができるカスタマイズの例を示します。

### 必要なパラメーター

イベント通知管理 API は、JSON スキーマを使用して必須パラメーターを定義します。これらの JSON スキーマは、 TMFAlarmAPIConstants スクリプトインクルードで定義されます。これらのスキーマは、要求ペイロードが有効かどうかを検証するために使用されます。これらのスキーマはスクリプトインクルードでは直接参照されませんが、 TMFTopicEventAPIUtilOOB スクリプトインクルードの次の関数によって返されます。

* getAlarmCreateEventSchema():イベントを作成するための検証スキーマを返します。
* getAlarmDeleteEventSchema():イベントアラームを削除するための検証スキーマを返します。
* getAlarmChangeEventSchema():イベント内のフィールドを変更するための検証スキーマを返します。

既存のスキーマを上書きするには、 TMFTopicEventAPIUtilOOB スクリプトインクルードで新しいスキーマを定義し、 TMFTopicEventAPIUtil スクリプトインクルード関数を上書きします。

例：

    var TMFTopicEventAPIUtil = Class.create();
    TMFTopicEventAPIUtil.prototype = Object.extendsObject(TMFTopicEventAPIUtilOOB, {
    	// Define overriding functions here	
    	// Define getAlarmCreateEventSchema here to override OOTB function in TMFTopicEventAPIUtilOOB
    	getAlarmCreateEventSchema: function() {
    		return JSON.parse(TMFTopicEventAPIUtil.CUSTOMIZED_SCHEMA);
    	},
        type: 'TMFTopicEventAPIUtil'
    });

    // New schema
    TMFTopicEventAPIUtil.CUSTOMIZED_SCHEMA = "{
      \"title\":\"AlarmCreateEvent\",
      \"type\":\"object\",
      \"properties\":{
        \"event\":{
          \"type\":\"object\",
          \"properties\":{
            \"alarm\":{
              \"type\":\"object\",
              \"properties\":{
                \"id\":{
                  \"type\":\"string\"
                },
                \"href\":{
                  \"type\":\"string\"
                },
                \"externalAlarmId\":{
                  \"type\":\"string\"
                },
                \"alarmType\":{
                  \"type\":\"string\"
                },
                \"perceivedSeverity\":{
                  \"type\":\"string\"
                },
                \"probableCause\":{
                  \"type\":\"string\"
                },
                \"alarmedObject\":{
                  \"type\":\"object\",
                  \"properties\":{
                    \"id\":{
                      \"type\":\"string\"
                    },
                    \"href\":{
                      \"type\":\"string\"
                    }
                  },
                  \"required\":[
                    \"id\"
                  ]
                },
                \"crossedThresholdInformation\":{
                  \"type\":\"object\",
                  \"properties\":{
                    \"thresholdId\":{
                      \"type\":\"string\"
                    }
                  },
                  \"required\":[
                    \"thresholdId\"
                  ]
                },
                \"affectedService\":{
                  \"type\":\"array\",
                  \"properties\":{
                    \"id\":{
                      \"type\":\"string\"
                    },
                    \"href\":{
                      \"type\":\"string\"
                    }
                  },
                  \"items\":{
                    \"type\":\"object\",
                    \"required\":[
                      \"id\"
                    ]
                  }
                },
                \"sourceSystemId\":{
                  \"type\":\"string\"
                },
                \"specificProblem\":{
                  \"type\":\"string\"
                }
              },
              \"required\":[
                \"externalAlarmId\",\"alarmType\",\"perceivedSeverity\",\"probableCause\",\"sourceSystemId\",\"alarmedObject\"
              ]
            }
          },
          \"required\":[
            \"alarm\"
          ]
        }
      },
      \"required\":[
        \"event\"
      ]
    }";

### 要求本文の検証 {#extend-event-mgmt-notif-api__section_ikk_tkt_prb}

要求本文で追加の検証を実行するには、 TMFTopicEventAPIUtilOOB スクリプトインクルードで次の関数を上書きします。これらの関数は、同じスクリプトインクルード内の指定された関数によって呼び出されます。

* verifyAlarmCreateEventPayload():processAlarmCreateEvent() によって呼び出されます。
* verifyAlarmDeleteEventPayload():processAlarmDeleteEvent() によって呼び出されます。
* verifyAlarmChangeEventPayload():processAlarmChangeEvent() によって呼び出されます。

これらの関数はすべて、デフォルトで成功を返します。ヘルパー関数がエラーを返すと、API 操作が停止されます。

カスタム検証を適用するには、 TMFTopicEventAPIUtil スクリプトインクルードのヘルパー関数を、 TMFTopicEventAPIUtil スクリプトインクルードの同じ関数名とパラメーターで上書きします。

この例では、カスタム TMFTopicEventAPIUtil スクリプトインクルードの関数が TMFTopicEventAPIUtilOOB スクリプトインクルードのデフォルト関数を上書きして、name 属性の検証を実行します。  

    var TMFTopicEventAPIUtil = Class.create();
    TMFTopicEventAPIUtil.prototype = Object.extendsObject(TMFTopicEventAPIUtilOOB, {

        // Define overriding functions here
        verifyAlarmCreateEventPayload: function(eventPayload,responseObject){

            // Returning error status terminates the POST request
            // Make sure to assign error message and reason
            if (eventPayload.type != "unique") {
                responseObject.setMessage("Failed");
                responseObject.setReason("No reason needed");
                return responseObject.status = "error";
            }
        },
    	
        type: 'TMFTopicEventAPIUtil'
    });

### 要求本文サブスクリプションの検証

API の要求本文サブスクリプション検証を変更するには、TMFTopicEventAPIUtilOOB スクリプトインクルードの validateSubscription() 関数を上書きする必要があります。この関数は、イベント通知の作成に使用している callbackURL が登録されているかどうかを検証し、発生したコールバックに対して eventType が登録されているかどうかを判断します。この関数は、TMFTopicEventAPIUtilOOB スクリプトインクルードにも含まれる processAlarmCreateEvent()、processAlarmDeleteEvent()、processAlarmChangeEvent() 関数によって呼び出されます。

### フィールドマッピング

レコードを作成または更新する際、 イベント通知管理オープン API は、要求本文のパラメーターをイベントレコードフィールドにマップします。レコードを取得するとき、API はイベントレコードフィールドを応答オブジェクト属性にマッピングします。

TMFTopicEventAPIUtilOOB スクリプトインクルードには、eventType パラメーターの値に基づいて変更、作成、および削除要求をイベント \[em_event\] テーブルのレコードにマップする次の関数が含まれています。

* mapAlarmChangeObjectToEvent()
* mapCreateAlarmObjectToEvent()
* mapDeleteAlarmObjectToEvent()

フィールドマッピングをカスタマイズして、追加のイベント \[em_event\] テーブルフィールドのデータを追加および取得したり、デフォルトのフィールドマッピングを変更したりできます。マッピングを操作するには、 TMFTopicEventAPIUtil に同じ名前とパラメーターを持つ関数を作成し、 TMFTopicEventAPIUtilOOB マッピング関数を上書きします。

