ProactiveTriggerAPI - 범위 지정됨

  • 릴리스 버전: Xanadu
  • 업데이트 날짜 2024년 08월 01일
  • 읽기10분
  • 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 - setTriggerRecord(문자열 triggerRecord) 사전 예방적 트리거의 규칙과 작업을 적용할 트리거 레코드를 지정해야 합니다.

    마지막으로 메서드를 호출하여 사전 예방적 트리거API - process() 호출 체인을 실행합니다. setTriggerRecord()process() 메서드 호출이 모두 필요합니다.

    예:
    var eventSysId = sn_pt.ProactiveTriggerAPI.createTrigger(triggerTypeId)
      .setUserName(userName).setTriggerRecord(userId).process();
    

    ProactiveTriggerAPI - createTrigger(문자열 triggerTypeId)

    서버 측 사전 예방적 트리거 이벤트를 만듭니다.

    표 1. 매개변수
    이름 유형 설명
    트리거 유형 ID 문자열 작성할 트리거 유형의 고유 ID입니다. 사전 예방적 트리거 유형 [sys_cs_ptrigger_trigger_type] 테이블의 ID 필드에 있습니다.

    예: triggerTypeId = "sn_pt.ai_search_event"

    표 2. 반환
    매개변수 설명
    없음

    다음 비즈니스 규칙은 비즈니스 규칙 내에서 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 요청을 실행합니다.

    표 3. 매개변수
    이름 유형 설명
    없음
    표 4. 반환
    유형 설명
    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] 테이블에 있는 연결된 트리거 유형 기록에 정의되어 있습니다.

    표 5. 매개변수
    이름 유형 설명
    트리거레코드 문자열 또는 GlideRecord 연결된 사전 예방적 트리거의 규칙 및 작업을 적용할 트리거 기록의 Sys_id 또는 GlideRecord입니다. 트리거 레코드는 createTrigger() 메서드 호출에 지정된 트리거 유형 레코드의 trigger_table 필드에 지정된 테이블에 있습니다.

    예를 들어 createTrigger() 호출에서 AI 검색 이벤트 트리거 유형을 지정한 경우 트리거 테이블은 검색 이벤트 [sys_search_event] 테이블입니다.

    주:
    이 테이블은 일반적으로 비즈니스 규칙이 실행되도록 한 테이블과 동일합니다. 동일하지 않은 경우 이 메서드에 전달할 수 있도록 이 sys_id GlideRecord에 추가해야 합니다.
    표 6. 반환
    유형 설명
    없음

    다음 비즈니스 규칙은 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를 사용하여 연관된 사전 예방적 트리거 이벤트에서 생성된 메시지를 보낼 사용자를 설정합니다.

    표 7. 매개변수
    이름 유형 설명
    userID 문자열 연결된 사전 예방적 트리거 메시지를 보낼 사용자의 Sys_id입니다. 사용자 [sys_user] 테이블 또는 관련 GlideRecord에 있습니다.
    표 8. 반환
    매개변수 설명
    없음

    다음 코드 예제에서는 현재 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(문자열 사용자 이름)

    사용자 이름을 사용하여 연결된 사전 예방적 트리거 이벤트에서 생성된 메시지를 보낼 사용자를 설정합니다.

    표 9. 매개변수
    이름 유형 설명
    userName 문자열 사전 예방적 메시지를 보낼 사용자의 이름입니다. 이 이름은 "abel.tuter"와 같은 사용자 [sys_user] 테이블의 사용자 ID 필드와 상관 관계가 있어야 합니다.
    표 10. 반환
    매개변수 설명
    없음

    다음 비즈니스 규칙은 현재 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를 설정합니다. 이 방법을 사용하는 경우 사전 예방적 메시지는 특정 세션과 연결된 특정 사용자에게만 전송됩니다.

    표 11. 매개변수
    이름 유형 설명
    '사용자 세션 ID'입니다. 문자열 메시지를 보내야 하는 사전 예방적 트리거 사용자의 현재 세션 Sys_id입니다.
    주:
    모든 테이블에 세션 ID가 있는 것은 아닙니다. 이 엔드포인트를 사용하기 전에 참조하는 테이블에 유효한 세션 ID가 포함되어 있는지 확인합니다. 그렇지 않으면 사용 가능한 최신 세션 ID가 사용되므로 잘못된 결과가 발생할 수 있습니다.
    표 12. 반환
    매개변수 설명
    없음

    다음 비즈니스 규칙은 현재 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.
    }