イベント管理トピックオープン API
イベント管理トピックオープン API は、メッセージブローカーを介してトピックを送信し、それをServiceNowインスタンスに保存できるようにするエンドポイントを提供します。
この API を使用すると、メッセージブローカーを介して作成されたトピックを ServiceNow トピック [topic] テーブルに保存できます。
この API は sn-api-notif-mgmt 名前空間で実行され、sn_api_notif_mgmt.event_mgmt_integration ロールが必要です。
イベント管理トピックオープン:POST /sn_api_notif_mgmt/topic
トピック [sn_api_notif_mgmt_topic] テーブルに新しいレコードを作成し、渡されたトピック情報をそのレコードに保存します。
このエンドポイントを使用して、メッセージバスミドルウェアで作成されたトピックを、 ServiceNow インスタンス内のトピックと同期します。
このエンドポイントを使用してトピックが作成されると、関連するトピックレコードの [user_created] フィールドが false に設定され、[タイプ] フィールドが [エグレス] に設定されます。
URL 形式
バージョニングされた URL: /api/sn_api_notif_mgmt/{api_version}/topic
デフォルト URL: /api/sn_api_notif_mgmt/topic
サポートされている要求パラメーター
| 名前 | 説明 |
|---|---|
| api_version | オプションアクセスするエンドポイントのバージョン。たとえば、v1 や v2 などです。最新以外のエンドポイントバージョンを使用する場合にのみ、この値を指定してください。 データタイプ:文字列 |
| 名前 | 説明 |
|---|---|
| なし |
| 名前 | 説明 |
|---|---|
| コンテンツのクエリ | イベントのペイロードに適用するフィルター。このクエリは、イベントの重大度やチケットタイプなどの情報を検索するために使用されるより詳細なイベントフィルターです。このパラメーターは、ネストされたクエリーとして渡すことができます。 たとえば、次のトラブルチケットイベントペイロードの場合、このクエリはペイロードの 「event」 オブジェクトにある属性に適用されます。 このパラメーターは、次の条件をサポートします。
例: このフィールドは、関連するトピックレコードの content_query フィールドにマッピングされます。 詳細については、『 TMF688 Event Management API User Guide』を参照してください。 データタイプ:文字列 |
| externalId | トピックの一意の外部識別子 (GUID など)。このフィールドは、関連するトピックレコードの topic_id フィールドにマッピングされます。 データタイプ:文字列 |
| ヘッダークエリ | イベントヘッダーのプロパティに適用するフィルター。このクエリーは、関連するトピックをリッスンするイベントのタイプを定義します。このパラメーターは、ネストされたクエリーとして渡すことができます。 このパラメーターは、次の条件をサポートします。
例: このフィールドは、関連するトピックレコードの header_query フィールドにマッピングされます。 詳細については、『 TMF688 Event Management API User Guide』を参照してください。 データタイプ:文字列 |
| 名前 | トピックの名前。 このフィールドは、関連するトピックレコードの topic_name フィールドにマッピングされます。 データタイプ:文字列 |
| 名前空間 | トピックの名前空間。関連付けられた名前空間がない場合は空です。 このフィールドは、関連するトピックレコードの名前空間フィールドにマッピングされます。 データタイプ:文字列 |
ヘッダー
次のリクエストや応答ヘッダーは、この HTTP アクションにのみ適用されるか、またはこのアクションに別個の方法で適用されます。REST API で使用される一般的なヘッダーのリストについては、「 サポートされている REST API ヘッダー」を参照してください。
| ヘッダー | 説明 |
|---|---|
| 承認 | 応答本文のデータフォーマット。application/json のみをサポートします。 |
| Content-Type | 要求本文のデータ形式。application/json のみをサポートします。 |
| ヘッダー | 説明 |
|---|---|
| なし |
ステータスコード
この HTTP アクションには、次のステータスコードが適用されます。REST API で使用される可能性のあるステータスコードのリストについては、「 REST API HTTP 応答コード」を参照してください。
| ステータスコード | 説明 |
|---|---|
| 201 | 成功。要求が正常に処理されました。 |
| 400 | 渡されたトピック外部 ID は既に存在します。一意のトピック外部 ID を渡してください:渡された外部 ID がトピックテーブルに既に存在することを示します。 トピック名、ヘッダークエリ、コンテンツクエリ、名前空間の一意の組み合わせを渡してください :トピック名、名前空間、ヘッダークエリ、およびコンテンツクエリの組み合わせが既に存在することを示します。 |
| 500 | 内部サーバーエラー。要求の処理中に予期しないエラーが発生しました。応答に、エラーに関する追加情報が含まれます。 |
応答本文のパラメーター
| 名前 | 説明 |
|---|---|
| コンテンツのクエリ | 作成されたトピックレコード内のcontent_queryフィールドの値。 データタイプ:文字列 |
| externalId | 作成されたトピックレコード内のtopic_idフィールドの値。 データタイプ:文字列 |
| ヘッダークエリ | 作成されたトピックレコード内のheader_queryフィールドの値。このフィールドは、トピックに送信するイベントメッセージを決定するために、トピックピッカーフレームワークによって使用されます。 データタイプ:文字列 |
| ID | 作成されたトピックレコードのSys_id。 データタイプ:文字列 |
| 名前 | トピックの名前。 データタイプ:文字列 |
| 名前空間 | 作成されたトピックレコードの名前空間フィールドの値。 データタイプ:文字列 |
cURL 要求
次のコード例は、このエンドポイントを呼び出す方法を示しています。
curl "http://instance.servicenow.com/api/sn_api_notif_mgmt/topic" \
--request POST \
--header "Accept:application/json" \
--user 'username':'password'
--data
{
"name": "HighPriorityTroubleTicket",
"headerQuery": "eventType=TroubleTicketStatusChangeEvent,TroubleTicketAttributeChangeEvent",
"contentQuery": "troubleTicket.ticketType=incident&troubleTicket.severity=1",
"externalId": "ext001",
"namespace": "telecomEvents"
}
応答:
{
"externalId": "ext001",
"name": "HighPriorityTroubleTicket",
"headerQuery": "eventType=TroubleTicketStatusChangeEvent,TroubleTicketAttributeChangeEvent",
"contentQuery": "troubleTicket.ticketType=incident&troubleTicket.severity=1",
"namespace": "telecomEvents",
"id": "7ee9850443c3f550461f99612bb8f223"
}