NotifyNow(레거시) - 전역

  • 릴리스 버전: Zurich
  • 업데이트 날짜 2025년 07월 31일
  • 소요 시간: 25분
  • 레거시 NotifyNow API는 이메일 보내기, SMS 메시지 보내기, 컨퍼런스 회의 설정 등의 기능을 제공합니다.

    시스템의 애플리케이션에서 알림 기능을 사용하려면 이 옵션을 사용합니다.
    주:
    이 API는 레거시 알림 기능에 포함되어 있습니다. 현재 Notify 기능에 포함된 API는 Notify, NotifyAction, NotifyPhoneNumberNotifyClient API를 참조하세요.

    NotifyNow - addConferenceCallParticipant(String conferenceCall, String participant)

    진행 중인 전화 회의에 임시 사용자를 추가합니다.

    participant 매개변수에 대한 전화번호로 메서드를 호출하고 전화번호와 일치하는 sys_user 기록이 정확히 하나 있는 경우 해당 sys_user 기록은 참가자와 연결됩니다. 전화 번호가 sys_user 기록에 있으므로 참가자의 전화 번호 필드는 비어 있습니다. 전화 번호와 일치하는 sys_user 기록이 여러 개 있거나 결과가 없는 경우 참가자의 전화 번호 필드가 채워지고 사용자를 알 수 없기 때문에 sys_user에 대한 참조가 저장되지 않습니다.

    표 1. 매개변수
    이름 유형 설명
    컨퍼런스콜 문자열 또는 GlideRecord 활성 전화 회의의 sys_id 또는 GlideRecord
    참가자 문자열 또는 GlideRecord E.164 호환 전화 번호 또는 E.164 호환 전화 번호를 가진 사용자의 sys_id 또는 GlideRecord입니다.
    표 2. 반환
    유형 설명
    GlideRecord 전화 회의에 추가된 새 참가자의 참가자 기록입니다.
    // add a new participant by conference call sys_id (string) and phone number (string) 
    var nn = new SNC.NotifyNow();
    gs.log(nn.addConferenceCallParticipant('d193b242eb020100a04d4910f206fe39', '+31612345678'));
    // add a new participant by conference call sys_id (string) and user record (GlideRecord)
    var user = new GlideRecord('sys_user');
    user.query('user_name', 'myUserName');
    if (user.hasNext() && user.next()) {
        var nn = new SNC.NotifyNow();
        gs.log(nn.addConferenceCallParticipant('d193b242eb020100a04d4910f206fe39', user));
     
        // you could have added the user by sys_id as well:
        // nn.addConferenceCallParticipant('d193b242eb020100a04d4910f206fe39', user.getValue('sys_id'));
    } else {
        gs.log('no such user');
    }
    // add a new participant by conference call record (GlideRecord) and phone number (string)
    var conferenceCall = new GlideRecord('notifynow_conference_call');
    conferenceCall.query('title', 'IA0001001');
    if (conferenceCall.hasNext() && conferenceCall.next()) {
        var nn = new SNC.NotifyNow();
        gs.log(nn.addConferenceCallParticipant(conferenceCall, '+31612345678'));
    } else {
        gs.log('no such conference call');
    }

    NotifyNow - convertLocalPhoneNumberToE164(문자열 userID, 문자열 phoneNumber)

    사용자의 위치에 따라 시내 전화 번호를 E.164 호환 전화 번호로 변환합니다.

    표 3. 매개변수
    이름 유형 설명
    userID 문자열 위치 정보를 가져올 sys_user 기록의 sys_id입니다.
    phoneNumber 문자열 전화 번호입니다.
    표 4. 반환
    유형 설명
    문자열 E.164 호환 전화 번호입니다.
    var localPhoneNumber = '01784 221600';
    var userName = 'Heath Vanalphen';
     
    var user = new GlideRecord('sys_user');
    user.get('name',userName);
    var E164Number = new SNC.NotifyNow().convertLocalPhoneNumberToE164(user.getUniqueValue(), localPhoneNumber);
    gs.log('converted: ' + localPhoneNumber + ' to ' + E164Number + ' based on ' + user.getValue('name') + 
         '\'s location (' + user.getValue('location') + ')');

    NotifyNow - getConferenceCallParticipants(문자열, conferenceCallId, 부울 isCallable)

    전화 회의의 모든 참가자를 반환합니다.

    표 5. 매개변수
    이름 유형 설명
    conferenceCallId 문자열 전화 회의의 ID입니다.
    isCallable 부울 호출할 수 있는 사용자(true) 또는 호출할 수 없는 사용자(false)만 반환하는 선택적 플래그입니다.
    표 6. 반환
    유형 설명
    GlideRecord 참가자
    var nn = new SNC.NotifyNow();
    var user = nn.getConferenceCallParticipants('c2e91710eb120100f34087b9d106fe37');
     
    while (user.hasNext() && user.next()) {
        if (user.getValue('participant')) {
            gs.log('user: ' + user.getValue('sys_id'));
        } else {
            gs.log('phone number: ' + user.getValue('phone_number'));
        }
    }
    var nn = new SNC.NotifyNow();
    var user = nn.getConferenceCallParticipants('c2e91710eb120100f34087b9d106fe37', true);
     
    while (user.hasNext() && user.next()) {
        if (user.getValue('participant')) {
            gs.log('user: ' + user.getValue('sys_id'));
        } else {
            gs.log('phone number: ' + user.getValue('phone_number'));
        }
    }
    var conferenceCallId = '32b11430eb1201003cf587b9d106feb8';
     
    // get all participants
    gs.log('all conference call participants:');
    var nn = new SNC.NotifyNow();
    var user = nn.getConferenceCallParticipants(conferenceCallId);
    gs.log(user);
     
    // get all callable participants
    gs.log('all conference call participants we can call:');
    user = nn.getConferenceCallParticipants(conferenceCallId, true);
    gs.log(user);
     
    // get all un callable participants
    gs.log('all conference call participants that are already in an active session and whom we cannot call:');
    user = nn.getConferenceCallParticipants(conferenceCallId, false);
    gs.log(user);

    NotifyNow - getFrequentlyCalledUsers(수 제한)

    limit 매개변수까지 자주 호출되는 사용자 수를 알파벳 순서로 반환합니다.

    표 7. 매개변수
    이름 유형 설명
    제한 번호 최대 결과 수입니다.
    표 8. 반환
    유형 설명
    GlideRecord 자주 호출되는 사용자를 알파벳 순으로 정렬합니다.
    var nn = new SNC.NotifyNow();
    var fc = nn.getFrequentlyCalledUsers(10);
     
    while (fc.hasNext() && fc.next()) {
        gs.log("got user " + fc.getValue('name') + ' - ' + fc.getValue('sys_id'));
    }

    NotifyNow - getPreferredE164SMSNumber(GlideRecord 사용자)

    SMS 메시지에 대해 사용자가 선호하는 E.164 호환 전화 번호를 반환합니다.

    표 9. 매개변수
    이름 유형 설명
    사용자 GlideRecord 또는 문자열 E.164에 따른 전화 번호를 가져올 사용자 기록 또는 사용자의 sys_id입니다.
    표 10. 반환
    유형 설명
    문자열 E.164 호환 전화 번호 또는 null입니다.
    var userID = "<user sys_id>";
    var E164Number = new SNC.NotifyNow().getPreferredE164SMSNumber(userID);
    gs.log('the preferred phone number for sending SMS notifications is ' + E164Number + ' for user with id: ' + userID);

    NotifyNow - getPreferredE164VoiceNumber(GlideRecord 사용자)

    음성 통화에 대해 사용자가 선호하는 E.164 호환 전화 번호를 반환합니다.

    표 11. 매개변수
    이름 유형 설명
    사용자 GlideRecord 또는 문자열 E.164에 따른 전화 번호를 가져올 사용자 기록 또는 사용자의 sys_id입니다.
    표 12. 반환
    유형 설명
    문자열 E.164 호환 전화 번호 또는 null입니다.
    var userID = "<user sys_id>";
    var E164Number = new SNC.NotifyNow().getPreferredE164VoiceNumber(userID);
    gs.log('the preferred phone number for setting up voice calls is ' + E164Number + ' for user with id: ' + userID);

    NotifyNow - getPreferredEmailAddress(GlideRecord 사용자)

    사용자의 기본 이메일 주소를 반환합니다.

    표 13. 매개변수
    이름 유형 설명
    사용자 GlideRecord 또는 문자열 이메일 주소를 가져올 사용자 기록 또는 사용자의 sys_id입니다.
    표 14. 반환
    유형 설명
    문자열 이메일 주소 또는 null입니다.
    var userID = "some user sys id";
    var email = new SNC.NotifyNow().getPreferredEmailAddress(userID);
    gs.log('the preferred email address for sending email notifications is ' + email + ' for user with id: ' + userID);

    지금 알림 - getReadyState()

    알림이 올바르게 설정되었는지 여부를 나타냅니다.

    이 방법은 관리자 또는 notifynow_admin 역할을 가진 사용자만 액세스할 수 있습니다. 다른 모든 역할의 사용자가 스크립트에서 함수를 실행하려고 하면 False 메시지가 표시됩니다.

    표 15. 매개변수
    이름 유형 설명
    없음
    표 16. 반환
    유형 설명
    부울 알림이 올바르게 설정되면 True, 그렇지 않은 경우에는 False입니다.
    var nn = new SNC.NotifyNow();
    gs.log(((nn.getReadyState()) ? "OK" :  "NOT OK"));

    알림 Now - getStatus()

    알림 구성의 현재 상태를 반환합니다.

    이 방법은 관리자 또는 notifynow_admin 역할을 가진 사용자만 액세스할 수 있습니다. 다른 모든 역할의 사용자가 스크립트에서 기능을 실행하려고 할 때 Unauthorized라는 메시지가 표시됩니다.

    표 17. 매개변수
    이름 유형 설명
    없음
    표 18. 반환
    유형 설명
    문자열 가능한 상태 메시지 중 하나입니다.
    상태 설명
    NO_NUMBER_MESSAGE 계정에 전화 번호가 설정되어 있지 않습니다. 계정의 전화 번호를 설정해야 합니다.
    NO_ENDPOINTS_MESSAGE 계정의 엔드포인트가 올바르게 설정되어 있지 않습니다. 계정에 대한 엔드포인트를 설정해야 합니다.
    ACCOUNT_OK_MESSAGE 계정이 활성 상태이며 사용할 준비가 되었습니다.
    ACCOUNT_NO_AUTH Twilio AuthToken이 잘못되었습니다.
    ACCOUNT_NOT_CONFIGURED Twilio AccountSID 또는 AuthToken이 잘못되었습니다.
    var nn = new SNC.NotifyNow();
    gs.log(nn.getStatus());

    NotifyNow - initiateConferenceCall(String[], conferenceCallParticipants, String, conferenceCallTitle)

    새 전화 회의를 시작합니다.

    표 19. 매개변수
    이름 유형 설명
    컨퍼런스콜참가자 문자열 한 명 이상의 사용자, 전화 회의 참가자, sys_user 테이블의 sys_ids로 식별됨 또는 E.164 호환 전화 번호.
    conferenceCallTitle 문자열 전화 회의의 제목입니다. 이 매개변수의 최대 길이는 40자입니다.
    표 20. 반환
    유형 설명
    GlideRecord 전화 회의 기록이거나 오류가 있는 경우 null입니다.

    이렇게 하면 선택적 소스 기록 매개변수 없이 참가자에 대해 E.164 호환 전화 번호로 전화 회의가 시작되고 SMS 또는 이메일을 통해 전화 회의 세부 정보가 전송되지 않습니다.

    var participants = ['+31205655548', '+31205655552', '+31652825393'];
    // set up conference call
    var nn = new SNC.NotifyNow();
    var conferenceCall = nn.initiateConferenceCall(participants, "testing12");
    gs.log('started conference call: ' + conferenceCall.getUniqueValue());

    NotifyNow - initiateConferenceCall(String[], conferenceCallParticipants, String, conferenceCallTitle, GlideRecord sourceRecord, Boolean private)

    새 전화 회의를 시작합니다.

    표 21. 매개변수
    이름 유형 설명
    컨퍼런스콜참가자 문자열 한 명 이상의 사용자, 전화 회의 참가자, sys_user 테이블의 sys_ids로 식별됨 또는 E.164 호환 전화 번호.
    conferenceCallTitle 문자열 전화 회의의 제목입니다. 이 매개변수의 최대 길이는 40자입니다.
    sourceRecord GlideRecord 인시던트 또는 문제 번호와 같이 전화 회의에 연결할 소스 기록입니다.
    개인 부울 전화 회의가 비공개인지 여부를 제어하는 값입니다. 이 값은 기본적으로 false로 설정됩니다.
    표 22. 반환
    유형 설명
    GlideRecord 전화 회의 기록이거나 오류가 있는 경우 null입니다.

    이렇게 하면 E.164에 따른 전화 번호가 있는 참가자 및 sys_user 테이블의 참가자와 전화 회의가 시작되고 SMS 및 이메일을 통해 전화 회의 세부 정보가 모든 참가자에게 전송됩니다.

    // define phone number participants
    var participants = ['+31205655548', '+31205655552', '+31652825393'];
     
    // we also want to add two Dutch sys_user participants
    var user = new GlideRecord('sys_user');
    user.addNotNullQuery('mobile_phone');
    user.addQuery('mobile_phone', 'STARTSWITH', '+316');
    user.setLimit(2);
    user.query();
     
    // add users to the participant array
    while (user.hasNext() && user.next()) {
    	gs.log('adding user ' + user.getValue('name') + ' with phone number ' + 
                 user.getValue('mobile_phone') + ' to the participant array');
    	participants.push(user.getUniqueValue());
    }
     
    // define a source record to associate with the conference call
    var source = new GlideRecord("cmdb_ci");
    source.query("asset_tag", "P1000167");
    if (source.hasNext() && source.next()) {
    	// set up conference call
    	var nn = new SNC.NotifyNow();
    	var conferenceCall = nn.initiateConferenceCall(participants, "testing 1 2", source);
     
    	// check if the conference call was successfully created
    	if (conferenceCall != null) {
    		gs.log('started conference call: ' + conferenceCall.getUniqueValue());
    	} else {
    		gs.log('could not start the conference call :(');
    	}
    }

    NotifyNow - isCallable(문자열 참가자)

    사용자가 호출 가능한지 여부를 결정합니다.

    사용자에게 올바른 전화 번호가 있어야 전화를 걸 수 있습니다. 이미 활성 세션에 있는 사용자는 호출할 수 없습니다.

    표 23. 매개변수
    이름 유형 설명
    참가자 문자열 또는 GlideRecord sys_user 또는 notifynow_participant 기록, 또는 E.164 호환 전화 번호
    표 24. 반환
    유형 설명
    부울 이 참가자를 호출할 수 있는지 여부입니다.
    var nn = new SNC.NotifyNow();
    gs.log('by number: ' + nn.isCallable('+31612345678'));
     
    var user = GlideRecord('sys_user');
    user.query('sys_id', '13d39544eb5201003cf587b9d106fea9');
    if (user.hasNext() && user.next())
      gs.log('by user: ' + nn.isCallable(user));
     
    var participant = GlideRecord('notifynow_participant');
    participant.query('sys_id', '33b11430eb1201003cf587b9d106feb9');
    if (participant.hasNext() && participant.next())
      gs.log('by participant: ' + nn.isCallable(participant));

    알림 - isSMSCapable()

    Twilio 계정과 연결된 전화 번호로 SMS 메시지를 보낼 수 있는지 확인합니다.

    표 25. 매개변수
    이름 유형 설명
    없음
    표 26. 반환
    유형 설명
    부울 Twilio 계정과 연결된 전화 번호로 SMS 메시지를 보낼 수 있는지 여부입니다.
    gs.log('The twilio number is SMS capable: ' + ((new SNC.NotifyNow().isSMSCapable()) ? 'yes' : 'no'));

    알림 - isSMSCapable(String userID)

    사용자가 SMS 메시지를 보낼 수 있는지 확인합니다.

    표 27. 매개변수
    이름 유형 설명
    userID 문자열 SMS 지원 전화번호를 확인할 사용자의 sys_id입니다.
    표 28. 반환
    유형 설명
    부울 사용자가 SMS 메시지를 보낼 수 있는지 여부
    gs.log('the user is able to send SMS messages (e.g. has a SMS device): ' + ((new SNC.NotifyNow().isSMSCapable('<user sys_id>')) ? 
         'yes' : 'no'));

    알림 - isVoiceCapable()

    Twilio 계정과 연결된 전화 번호로 전화 통화를 설정할 수 있는지 확인합니다.

    표 29. 매개변수
    이름 유형 설명
    없음
    표 30. 반환
    유형 설명
    부울 Twilio 계정과 연결된 전화 번호로 전화 통화를 설정할 수 있는지 여부입니다.
    gs.log('the Twilio number is Voice capable: ' + ((new SNC.NotifyNow().isVoiceCapable()) ? 'yes' : 'no'));

    NotifyNow - isVoiceCapable(문자열 userID)

    사용자가 음성 통화를 할 수 있는지 확인합니다.

    표 31. 매개변수
    이름 유형 설명
    userID 문자열 음성 통화가 가능한 전화 번호를 확인할 사용자의 sys_id입니다.
    표 32. 반환
    유형 설명
    부울 사용자에게 음성 통화가 가능한 전화 번호가 있는지 여부입니다.
    gs.log('the user is able to send SMS messages (e.g. has a SMS device): ' + 
         ((new SNC.NotifyNow().isVoiceCapable('someuserid')) ? 'yes' : 'no'));

    NotifyNow - kick(GlideRecord 참가자)

    전화 회의에서 참가자를 제거합니다.

    표 33. 매개변수
    이름 유형 설명
    참가자 GlideRecord 통화에서 제거할 전화 회의 참가자입니다.
    표 34. 반환
    유형 설명
    부울 참가자가 제거된 경우 True, 그렇지 않은 경우 False입니다.
    var participantId = "<participant sys_id>";
    var participant = new GlideRecord('notifynow_participant');
    participant.get(participantId);
    if (participant.isValid()) {
         // kick participant
         result = new SNC.NotifyNow().kick(participant);
         gs.log('participant kicked: ' + result);
    }

    NotifyNow - 음소거(GlideRecord 참가자)

    전화 회의 참가자를 음소거합니다.

    표 35. 매개변수
    이름 유형 설명
    참가자 GlideRecord 음소거할 컨퍼런스 회의 참가자입니다.
    표 36. 반환
    유형 설명
    부울 참가자가 음소거된 경우 True, 그렇지 않은 경우 False입니다.
    var participantId = "<participant sys_id>";
    var participant = new GlideRecord('notifynow_participant');
    participant.get(participantId);
    if (participant.isValid()) {
         // mute participant
         result = new SNC.NotifyNow().mute(participant);
         gs.log('participant muted: ' + result);
    }

    NotifyNow - sendEmailQuestion(String emailAddress, String question, GlideRecord sourceRecord, String emailSubject)

    이메일 주소로 이메일 질문을 보냅니다.

    sendEmailQuestion 메서드는 질문 본문을 생성하고 사용자가 링크를 클릭하여 선택 사항을 나타내도록 요구합니다.

    표 37. 매개변수
    이름 유형 설명
    emailAddress 문자열 질문을 보낼 이메일 주소입니다.
    질문 문자열 또는 GlideRecord 보낼 질문 기록 또는 질문 기록의 sys_id입니다.
    sourceRecord GlideRecord 인시던트와 같은 SMS 질문에 연결할 선택적 소스 기록입니다.
    이메일제목 문자열 기본 이메일 제목을 재정의하는 선택적 텍스트입니다.
    표 38. 반환
    유형 설명
    문자열 대화가 sys_id.

    이 예제에서는 기본 이메일 제목을 사용하는 방법을 보여 줍니다.

    var user = GlideRecord("sys_user");
    user.get("email", "someone@somedomain.com");
     
    new SNC.NotifyNow().sendEmailQuestion(user.getValue('email'), "b6b34500bf3111003cf585ce2c0739ce", user);

    이 예제에서는 닷워킹을 사용하고 소스 기록과 이메일 제목을 지정합니다.

    new SNC.NotifyNow().sendEmailQuestion("someone@somedomain.com", "b6071733bf1111003cf585ce2c07390f", current, 
            "Please answer this question");

    이 예시에서는 닷워킹을 사용하며 이메일 제목은 지정하지만 소스 기록은 지정하지 않습니다.

    new SNC.NotifyNow().sendEmailQuestion("someone@somedomain.com", "b6071733bf1111003cf585ce2c07390f", 
            "Please answer this question");

    NotifyNow - sendSMS(String phoneNumber, String smsBody)

    E.164에 따른 휴대폰 번호로 SMS 메시지를 전송합니다.

    알림은 국제 번호를 지원합니다. SMS 메시지 전송을 지원하지 않는 번호로 이 메서드를 사용하면 오류가 기록됩니다.

    표 39. 매개변수
    이름 유형 설명
    phoneNumber 문자열 메시지를 보낼 E.164 호환 전화 번호입니다.
    smsBody 문자열 보낼 메시지(최대 1600자)입니다.
    표 40. 반환
    유형 설명
    void
    new SNC.NotifyNow().sendSMS("+31612345678", "This is a message without source record");

    NotifyNow - sendSMS(String phoneNumber, String smsBody, GlideRecord source)

    E.164에 따른 휴대폰 번호로 SMS 메시지를 전송합니다.

    알림은 국제 번호를 지원합니다. SMS 메시지 전송을 지원하지 않는 번호로 이 메서드를 사용하면 오류가 기록됩니다.

    참고 항목: SMS에 대한 고급 구성.

    표 41. 매개변수
    이름 유형 설명
    phoneNumber 문자열 메시지를 보낼 E.164 호환 전화 번호입니다.
    smsBody 문자열 보낼 메시지(최대 1600자)입니다.
    소스 GlideRecord 이 SMS 메시지와 연결할 소스 기록입니다.
    표 42. 반환
    유형 설명
    void
    var source = new GlideRecord("my_table");
    source.query("my_field", "my_value");
    
    if (source.hasNext() && source.next()) {
        // send a text message
        var nn = new SNC.NotifyNow();
        var message = "this is just a test";
        var number = "+31612345678";
        nn.sendSMS(number, message, source);
    }

    이 예에서는 닷워킹과 현재 기록을 소스 기록으로 사용합니다.

    new SNC.NotifyNow().sendSMS("+31612345678", "this is a test", current);

    NotifyNow - sendSMSQuestion(String phoneNumber, String question, GlideRecord sourceRecord)

    SMS 질문을 보냅니다.

    표 43. 매개변수
    이름 유형 설명
    phoneNumber 메시지를 보낼 E.164 호환 전화 번호입니다.
    질문 문자열 또는 GlideRecord 보낼 질문 기록 또는 질문 기록의 sys_id입니다.
    sourceRecord 인시던트와 같은 SMS 질문에 연결할 선택적 소스 기록입니다.
    표 44. 반환
    유형 설명
    문자열 대화가 sys_id되었거나 SMS가 성공적으로 전송되지 않은 경우 null입니다.
    var question = new GlideRecord("notifynow_question");
    question.query();
     
    // get the first question
    if (question.hasNext() && question.next()) {
    	// send the sms question
            var number = "+31612345678";
    	var nn = new SNC.NotifyNow();
    	nn.sendSMSQuestion(number, question.getUniqueValue(), current);
    }

    NotifyNow - umute(GlideRecord 참가자)

    전화 회의 참가자를 음소거 해제합니다.

    표 45. 매개변수
    이름 유형 설명
    참가자 GlideRecord 음소거를 해제할 음소거된 컨퍼런스 회의 참가자입니다.
    표 46. 반환
    유형 설명
    부울 참가자가 음소거 해제된 경우 True, 그렇지 않은 경우 False입니다.
    var participantId = "<participant sys_id>";
    var participant = new GlideRecord('notifynow_participant');
    participant.get(participantId);
    if (participant.isValid()) {
         // unmute participant
         result = new SNC.NotifyNow().unmute(participant);
         gs.log('participant unmuted: ' + result);
    }