ProactiveTriggerAPI - 범위 지정됨
ProactiveTriggerAPI를 사용하면 지정된 사용자에게 컨텍스트별 메시지를 보내는 서버 쪽 트리거를 만들 수 있습니다.
이 API는 이러한 규칙에 따라 규칙 및 관련 작업을 사용하여 사용자에게 메시지를 보냅니다. 이러한 규칙과 작업은 상황에 따라 다르며 사용자가 포털 페이지를 탐색할 때 수집되는 실시간 데이터를 기반으로 합니다. 자세한 내용은 Proactive Triggers 문서를 참조하십시오.
이 API를 사용하려면 먼저 인스턴스에서 트리거 유형, 규칙 및 작업을 구성해야 합니다. 구성 사전 예방적 트리거방법에 대한 자세한 내용은 을 참조하십시오 Configuring Proactive Triggers.
이 API를 사용하여 특정 사용자 또는 특정 세션의 사용자에게 메시지를 보낼 수 있습니다.
예를 들어 고객이 카트에 항목을 추가하는 경우 비즈니스 규칙 내에 지정된 시간 후에 체크아웃을 완료하라는 미리 알림을 사용자에게 보내는 이벤트가 있을 사전 예방적 트리거 수 있습니다.
마찬가지로 사용자가 from a 서비스 포털 를 수행하고 AI 검색 결과가 반환되지 않는 경우 사전 예방적 팝 오버 메시지 웹 클라이언트를 통해 사용자에게 대체 오퍼링을 보내는 a를 생성하는 사전 예방적 트리거 비즈니스 규칙의 논리가 있을 수 있습니다.
ProactiveTriggerAPI를 호출할 때 메서드를 호출해야 하는 특정 시퀀스가 있습니다. 이 API는 sn_pt 네임스페이스에서 실행됩니다.
먼저 메서드를 호출하여 ProactiveTriggerAPI - createTrigger(문자열 triggerTypeId) 만들려는 트리거 유형을 지정해야 합니다. 이 호출은 필수입니다. 사용 가능한 트리거 유형 목록은 을 참조하십시오 How Proactive Triggers work.
- ProactiveTriggerAPI - setUserId(문자열 userId): 연결된 사용자 [sys_users] 기록의 sys_id으로 사용자를 식별합니다.
- ProactiveTriggerAPI - setUserName(문자열 사용자 이름): "abel.tuter"와 같은 사용자 이름으로 사용자를 식별합니다.
- ProactiveTriggerAPI - setUserSessionId(문자열 userId): 현재 세션 sys_id으로 사용자를 식별합니다.
그런 다음 메서드를 호출하여 ProactiveTriggerAPI - setTriggerRecord(문자열 triggerRecord) 사전 예방적 트리거의 규칙과 작업을 적용할 트리거 레코드를 지정해야 합니다.
마지막으로 메서드를 호출하여 사전 예방적 트리거API - process() 호출 체인을 실행합니다. setTriggerRecord() 및 process() 메서드 호출이 모두 필요합니다.
var eventSysId = sn_pt.ProactiveTriggerAPI.createTrigger(triggerTypeId)
.setUserName(userName).setTriggerRecord(userId).process();
ProactiveTriggerAPI - createTrigger(문자열 triggerTypeId)
서버 측 사전 예방적 트리거 이벤트를 만듭니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 트리거 유형 ID | 문자열 | 작성할 트리거 유형의 고유 ID입니다. 사전 예방적 트리거 유형 [sys_cs_ptrigger_trigger_type] 테이블의 ID 필드에 있습니다. 예: |
| 매개변수 | 설명 |
|---|---|
| 없음 |
다음 비즈니스 규칙은 비즈니스 규칙 내에서 createTrigger() 메서드를 호출하는 방법을 보여줍니다.
try {
var triggerTypeId = "sn_pt.ai_search_event";
var userId = current.getValue("user");
var eventSysId = sn_pt.ProactiveTriggerAPI.createTrigger(triggerTypeId)
.setUserId(userId).setTriggerRecord(current).process();
// Returns the Proactive Trigger Event record's sys_id
gs.info("Proactive Trigger Event Sys Id:"+ eventSysId);
} catch (e) {
gs.info("error:"+e); // Log the error.
}
사전 예방적 트리거API - process()
지정된 사전 예방적 트리거 API 요청을 실행합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 없음 |
| 유형 | 설명 |
|---|---|
| sys_id | 생성된 사전 예방적 트리거 이벤트 기록의 Sys_id입니다. 사전 예방적 이벤트 [sys_cs_ptrigger_event] 테이블에 있습니다. 데이터 유형: 문자열 |
다음 비즈니스 규칙은 process() 메서드를 호출하여 지정된 사전 예방적 트리거 API 요청을 실행하는 방법을 보여줍니다.
try {
var triggerTypeId = "sn_pt.ai_search_event";
var userId = current.getValue("user");
var eventSysId = sn_pt.ProactiveTriggerAPI.createTrigger(triggerTypeId)
.setUserId(userId).setTriggerRecord(current).process();
// Returns the Proactive Trigger Event record's sys_id
gs.info("Proactive Trigger Event Sys Id:"+ eventSysId);
} catch (e) {
gs.info("error:"+e); // Log the error.
}
ProactiveTriggerAPI - setTriggerRecord(문자열 triggerRecord)
사전 예방적 트리거의 규칙과 작업을 적용할 트리거 기록을 설정합니다.
이러한 규칙과 작업은 사전 예방적 트리거 유형 [sys_cs_ptrigger_trigger_type] 테이블에 있는 연결된 트리거 유형 기록에 정의되어 있습니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| 트리거레코드 | 문자열 또는 GlideRecord | 연결된 사전 예방적 트리거의 규칙 및 작업을 적용할 트리거 기록의 Sys_id 또는 GlideRecord입니다. 트리거 레코드는 createTrigger() 메서드 호출에 지정된 트리거 유형 레코드의 trigger_table 필드에 지정된 테이블에 있습니다. 예를 들어 createTrigger() 호출에서 AI 검색 이벤트 트리거 유형을 지정한 경우 트리거 테이블은 검색 이벤트 [sys_search_event] 테이블입니다. 주: 이 테이블은 일반적으로 비즈니스 규칙이 실행되도록 한 테이블과 동일합니다. 동일하지 않은 경우 이 메서드에 전달할 수 있도록 이 sys_id GlideRecord에 추가해야 합니다. |
| 유형 | 설명 |
|---|---|
| 없음 |
다음 비즈니스 규칙은 setTriggerRecord() 메서드를 호출하는 방법을 보여줍니다.
try {
var triggerTypeId = "sn_pt.ai_search_event";
var userId = current.getValue("user");
var eventSysId = sn_pt.ProactiveTriggerAPI.createTrigger(triggerTypeId)
.setUserId(userId).setTriggerRecord(current).process();
// Returns the Proactive Trigger Event record's sys_id
gs.info("Proactive Trigger Event Sys Id:"+ eventSysId);
} catch (e) {
gs.info("error:"+e); // Log the error.
}
ProactiveTriggerAPI - setUserId(문자열 userId)
사용자 ID를 사용하여 연관된 사전 예방적 트리거 이벤트에서 생성된 메시지를 보낼 사용자를 설정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| userID | 문자열 | 연결된 사전 예방적 트리거 메시지를 보낼 사용자의 Sys_id입니다. 사용자 [sys_user] 테이블 또는 관련 GlideRecord에 있습니다. |
| 매개변수 | 설명 |
|---|---|
| 없음 |
다음 코드 예제에서는 현재 GlideRecord의 user 필드에 있는 값을 사용하여 setUserId() 메서드를 호출하는 방법을 보여줍니다.
try {
var triggerTypeId = "sn_pt.ai_search_event";
var userId = current.getValue("user");
var eventSysId = sn_pt.ProactiveTriggerAPI.createTrigger(triggerTypeId)
.setUserId(userId).setTriggerRecord(current).process();
// Returns the Proactive Trigger Event record's sys_id
gs.info("Proactive Trigger Event Sys Id:"+ eventSysId);
} catch (e) {
gs.info("error:"+e); // Log the error.
}
ProactiveTriggerAPI - setUserName(문자열 사용자 이름)
사용자 이름을 사용하여 연결된 사전 예방적 트리거 이벤트에서 생성된 메시지를 보낼 사용자를 설정합니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| userName | 문자열 | 사전 예방적 메시지를 보낼 사용자의 이름입니다. 이 이름은 "abel.tuter"와 같은 사용자 [sys_user] 테이블의 사용자 ID 필드와 상관 관계가 있어야 합니다. |
| 매개변수 | 설명 |
|---|---|
| 없음 |
다음 비즈니스 규칙은 현재 GlideRecord의 sys_created_by 필드 값을 사용하여 setUserName() 메서드를 호출하는 방법을 보여줍니다.
try {
var triggerTypeId = "sn_pt.ai_search_event";
// User name of the user to whom to send the proactive message.
var userName = current.getValue("sys_created_by");
var eventSysId = sn_pt.ProactiveTriggerAPI.createTrigger(triggerTypeId)
.setUserName(userName).setTriggerRecord(current).process();
// Returns the Proactive Trigger Event record's sys_id
gs.info("Proactive Trigger Event Sys Id:"+ eventSysId);
} catch (e) {
gs.info("error:"+e); // Log the error.
}
ProactiveTriggerAPI - setUserSessionId(문자열 userId)
연결된 사전 예방적 트리거 이벤트의 사용자 세션 ID를 설정합니다. 이 방법을 사용하는 경우 사전 예방적 메시지는 특정 세션과 연결된 특정 사용자에게만 전송됩니다.
| 이름 | 유형 | 설명 |
|---|---|---|
| '사용자 세션 ID'입니다. | 문자열 | 메시지를 보내야 하는 사전 예방적 트리거 사용자의 현재 세션 Sys_id입니다. 주: 모든 테이블에 세션 ID가 있는 것은 아닙니다. 이 엔드포인트를 사용하기 전에 참조하는 테이블에 유효한 세션 ID가 포함되어 있는지 확인합니다. 그렇지 않으면 사용 가능한 최신 세션 ID가 사용되므로 잘못된 결과가 발생할 수 있습니다. |
| 매개변수 | 설명 |
|---|---|
| 없음 |
다음 비즈니스 규칙은 현재 GlideRecord의 session 필드에 있는 값을 사용하여 setUserSessionId() 메서드를 호출하는 방법을 보여줍니다.
try {
var triggerTypeId = "sn_pt.ai_search_event";
var sessionId = current.getValue("session");
var eventSysId = sn_pt.ProactiveTriggerAPI.createTrigger(triggerTypeId)
.setUserSessionId(sessionId).setTriggerRecord(current).process();
// Returns the Proactive Trigger Event record's sys_id
gs.info("Proactive Trigger Event Sys Id:"+ eventSysId);
} catch (e) {
gs.info("error:"+e); // Log the error.
}