이벤트 관리 주제 개방형 API
Event Management Topic Open 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/v1/topic
기본 URL: /api/sn_api_notif_mgmt/topic
지원되는 요청 매개변수
| 이름 | 설명 |
|---|---|
| api_version | 옵션입니다. 액세스할 엔드포인트의 버전입니다. 예를 들면 v1 또는 v2입니다. 최신 버전이 아닌 엔드포인트 버전을 사용하려면 이 값만 지정합니다. 데이터 유형: 문자열 |
| 이름 | 설명 |
|---|---|
| 없음 |
| 이름 | 설명 |
|---|---|
| contentQuery | 이벤트의 페이로드에 적용할 필터입니다. 이 쿼리는 이벤트 심각도 또는 티켓 유형과 같은 정보를 찾는 데 사용되는 보다 심층적인 이벤트 필터입니다. 이 매개 변수를 중첩 쿼리로 전달할 수 있습니다. 예를 들어 다음 문제 티켓 이벤트 페이로드의 경우 이 쿼리는 페이로드의 "이벤트" 객체에 있는 속성에 적용됩니다. 이 매개변수는 다음 조건을 지원합니다.
예: 이 필드는 연결된 주제 기록의 content_query 필드에 매핑됩니다. 자세한 내용은 TMF688 이벤트 관리 API 사용 설명서를 참조하십시오. 데이터 유형: 문자열 |
| externalId | 주제에 대한 고유 외부 식별자(예: GUID)입니다. 이 필드는 연결된 주제 기록의 topic_id 필드에 매핑됩니다. 데이터 유형: 문자열 |
| headerQuery | 이벤트 헤더 속성에 적용할 필터입니다. 이 쿼리는 관련된 주제에 대해 수신할 이벤트의 유형을 정의합니다. 이 매개 변수를 중첩 쿼리로 전달할 수 있습니다. 이 매개변수는 다음 조건을 지원합니다.
예: 이 필드는 연결된 주제 기록의 header_query 필드에 매핑됩니다. 자세한 내용은 TMF688 이벤트 관리 API 사용 설명서를 참조하십시오. 데이터 유형: 문자열 |
| 이름 | 주제의 이름입니다. 이 필드는 연결된 주제 기록의 topic_name 필드에 매핑됩니다. 데이터 유형: 문자열 |
| 네임스페이스 | 주제의 네임스페이스입니다. 연결된 네임스페이스가 없으면 비어 있습니다. 이 필드는 관련 주제 기록의 네임스페이스 필드에 매핑됩니다. 데이터 유형: 문자열 |
헤더
다음 요청 및 응답 헤더는 이 HTTP 작업에만 적용되거나 이 작업에 고유한 방식으로 적용됩니다. REST API에서 사용되는 일반 헤더 목록은 지원되는 REST API 헤더를 참조하세요.
| 헤더 | 설명 |
|---|---|
| 수용 | 응답 본문의 데이터 형식입니다. application/json만 지원합니다. |
| 컨텐츠-형식 | 요청 본문의 데이터 형식입니다. application/json만 지원합니다. |
| 헤더 | 설명 |
|---|---|
| 없음 |
상태 코드
다음 상태 코드는 이 HTTP 작업에 적용됩니다. REST API에서 사용할 수 있는 상태 코드 목록은 REST API HTTP 응답 코드를 참조하세요.
| 상태 코드 | 설명 |
|---|---|
| 201 | 성공입니다. 요청이 성공적으로 처리되었습니다. |
| 400 | 전달된 주제 외부 ID가 이미 있습니다. 고유한 주제 외부 ID를 전달하십시오: 전달된 외부 ID가 주제 테이블에 이미 있음을 나타냅니다. 항목 이름, 헤더 쿼리, 컨텐츠 쿼리 및 네임스페이스의 고유한 조합을 전달하십시오 . 항목 이름, 네임스페이스, 헤더 쿼리 및 컨텐츠 쿼리의 조합이 이미 있음을 나타냅니다. |
| 500 | 내부 서버 오류입니다. 요청을 처리하는 동안 예기치 않은 오류가 발생했습니다. 응답에는 오류에 대한 추가 정보가 포함되어 있습니다. |
응답 본문 매개변수
| 이름 | 설명 |
|---|---|
| contentQuery | 생성된 주제 기록의 content_query 필드 값입니다. 데이터 유형: 문자열 |
| externalId | 생성된 주제 기록의 topic_id 필드 값입니다. 데이터 유형: 문자열 |
| headerQuery | 생성된 주제 기록의 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"
}