---
sourceDocument: Xanadu API リファレンス
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ja-JP/xanadu/api-reference

 Release :

    - xanadu

ft:locale :

    - ja-JP

ft:publication_title :

    - Xanadu API リファレンス

ft:clusterId :

    - crapiref

bundleId :

    - crapiref

workflow :

    - Creator


---

# OnCallContactPreferenceUtil - グローバル

# OnCallContactPreferenceUtil - グローバル {#ariaid-title1}

* リリースバージョン: Xanadu
* 
* 更新日 2024年08月01日
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 所要時間：10分

OnCallContactPreferenceUtil スクリプトインクルードは、連絡先設定を処理するためのメソッドを提供します。

連絡先設定の構成については、「 [連絡先設定の構成](https://www.servicenow.com/docs/access?context=config-my-contact-prefs-oncall&version=xanadu&pubname=xanadu-it-service-management&ft:locale=en-US)」を参照してください。

このスクリプトインクルードは、 [OnCallRotation](https://servicenow-prod.fluidtopics.net/ZnOYfcPEEniseXfTvRfOYg#c_OnCallRotationAPI "OnCallRotation スクリプトインクルードは、オンコールスケジュールを管理するメソッドを提供します。") スクリプトインクルードをサポートしています。

## OnCallContactPreferenceUtil - OnCallContactPreferenceUtil() {#ariaid-title2}

OnCallContactPreferenceUtil クラスのインスタンスを作成します。
{#P-OnCallContactPreferenceUtil__table_pzm_w3f_2w__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| なし |   |   |
[表 : 1. パラメーター]

{#P-OnCallContactPreferenceUtil__table_pzm_w3f_2w}

## OnCallContactPreferenceUtil - getContactsAtByEscalatee(オブジェクト escalatee, 数字 contactAttempt, GlideDateTime gdt, 文字列 rotaSysIds) {#ariaid-title3}

エスカレーション先オブジェクトがある連絡先のリストを取得します。返された連絡先ごとに、ユーザーの連絡先設定のリストが入っています。
{#P-getContactsAtByEscalatee_O_N_F_S__table_o1s_x5j_3gb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| エスカレーション先 | オブジェクト | 必須。[getEscalationPlan()](https://servicenow-prod.fluidtopics.net/ZnOYfcPEEniseXfTvRfOYg#r_OCR-getEscalationPlan_S_GDT "指定された日時のグループのシフトに対して、ユーザー [sys_user] または通知デバイス [cmn_notif_device] で構成されるエスカレーション計画にエスカレーションするオブジェクトのリストを取得します。この API は、単一のシフト、重複するシフト、およびカスタムエスカレーションに適用されます。") メソッドによって返されたエスカレーション先オブジェクト。 |
| ContactAttempt | 数字 | オプション。連絡しようとしている試行 (デフォルト値 = 1)。 * <kbd class="ph userinput">1</kbd>：最初の試行 * <kbd class="ph userinput">2</kbd>：最初のリマインダー * <kbd class="ph userinput">3 or more</kbd>：後続のリマインダー {#P-getContactsAtByEscalatee_O_N_F_S__ul_gp2_q4w_gjb} |
| gdt | GlideDateTime | オプション。UTC タイムゾーンでの yyyy-MM-dd HH:mm:ss 形式。デフォルトは now.admin |
| rotaSysIds | 文字列 | オプション。\[cmn_rota\] テーブルから取得されたシフトのSys ID のカンマ区切り文字列。デフォルト値は、現在のシフトのSys ID を返します。 |
[表 : 2. パラメーター]

{#P-getContactsAtByEscalatee_O_N_F_S__table_o1s_x5j_3gb} {#P-getContactsAtByEscalatee_O_N_F_S__table_nmd_wvj_3gb__entry__2}

| タイプ | 説明 |
|-|-|
| アレイオブジェクト | 特定の時間とポジションでのエスカレーション先 (通知ルールによってユーザー、グループ、またはデバイスレコード) のアレイ。 * type：文字列。連絡先のタイプ、例：user。 * sys_id：文字列。\[sys_user\] テーブルからのユーザーの Sys ID。 * rota_id：文字列。\[cmn_rota\] テーブルからのシフトの Sys ID。 * roster_id：文字列。\[cmn_rota_roster\] テーブルからの勤務表の Sys ID。 * escalation_step_id：文字列。エスカレーションパスが定義されている場合は、\[cmn_rota_esc_step_def\] テーブルからのエスカレーションステップの Sys ID。 * forced_communication_channel：文字列。設定で指定されている場合、通信チャネルは 必須 。サポートされている値には、SMS、voice、email が含まれます。 * override_user_contact_preference：ブール。連絡先の上書きがある場合は true、それ以外の場合は false。 * preference_source：文字列。連絡先やグループなどの設定のソース。 * contact_attempt：数値。連絡試行：1 = 最初の試行、2 = 最初のリマインダーなど。 * user_preferences：アレイオブジェクト。 * type：文字列。ユーザーの希望する連絡形式。例：sms、email、number。 * \<希望する形式の名前、例：email または number\>：文字列。希望する連絡先タイプのコンテンツ。例：メールアドレスまたは電話番号。 {#P-getContactsAtByEscalatee_O_N_F_S__ul_pzn_52r_gjb} * contact_preferences、アレイオブジェクト。 * type：文字列。ユーザーの希望する連絡形式。例：email または number。 * \<希望する形式の名前、例：email または number\>：文字列。希望する連絡先タイプのコンテンツ。例：メールアドレスまたは電話番号。 {#P-getContactsAtByEscalatee_O_N_F_S__ul_vnw_y2r_gjb} {#P-getContactsAtByEscalatee_O_N_F_S__ul_whv_4bp_3jb} |
[表 : 3. 返される内容]

{#P-getContactsAtByEscalatee_O_N_F_S__table_nmd_wvj_3gb}  

    var serviceDeskSysId = '<Sys_ID>';
    var ocRotation = new OnCallRotation();
    var escalationPlan = ocRotation.getEscalationPlan(serviceDeskSysId);
    var escalatee = escalationPlan[0];

    var onContactPrefUtil = new OnCallContactPreferenceUtil();
    var contactAttempt = 1;
    var gdt = new GlideDateTime();
    var contacts = onContactPrefUtil.getContactsAtByEscalatee(escalatee, contactAttempt, gdt);
    gs.log(JSON.stringify(contacts));

出力:

    [{
        "type": "user",
        "sys_id": "<Sys_ID>",
        "rota_id": "<Rotation_ID>",
        "roster_id": "",
        "escalation_step_id": "<Escalation_Step_ID>",
        "forced_communication_channel": "",
        "override_user_contact_preference": true,
        "preference_source": "contact",
        "contact_attempt": 1,
        "user_preferences": [{
            "type": "sms",
            "number": "8587200477"
        }],
        "contact_preferences": [{
            "type": "voice",
            "number": "5555555555"
        }]
    }]

## OnCallContactPreferenceUtil - getUserPreferences(文字列 userSysId, 数字 contactAttempt, GlideDateTime gdt, 文字列 communicationTypes) {#ariaid-title4}

ユーザーが通信を選択したときの連絡先設定のリストを取得します。時刻が指定されていない場合は、現在の時刻が使用されます。このメソッドは、単一のシフトと重複するシフトに適用できます。
{#P-getUserPreferences_S_N_GDT_S__table_ixr_4jk_3gb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| userSysId | 文字列 | \[sys_user\] テーブルから取得したユーザーのSys ID。 |
| ContactAttempt | 数字 | オプション。連絡しようとしている試行 (デフォルト値 = 1)。 * <kbd class="ph userinput">1</kbd>：最初の試行 * <kbd class="ph userinput">2</kbd>：最初のリマインダー * <kbd class="ph userinput">3 or more</kbd>：後続のリマインダー {#P-getUserPreferences_S_N_GDT_S__ul_gp2_q4w_gjb} |
| gdt | GlideDateTime | オプション。UTC タイムゾーンでの yyyy-MM-dd HH:mm:ss 形式。デフォルトは現在の時刻です。 |
| communicationTypes | 文字列 | オプション。次の値を 1 つ以上含むカンマ区切りの文字列です。 * email * sms * voice {#P-getUserPreferences_S_N_GDT_S__ul_pbz_gp5_1jb} デフォルトには、利用可能なすべての通信タイプが含まれます。 |
[表 : 4. パラメーター]

{#P-getUserPreferences_S_N_GDT_S__table_ixr_4jk_3gb} {#P-getUserPreferences_S_N_GDT_S__table_ubq_ykk_3gb__entry__2}

| タイプ | 説明 |
|-|-|
| アレイオブジェクト | オンコールユーザー連絡先設定。 * type：文字列。ユーザーの希望する連絡形式。例：sms、email、number。 * \<希望する形式の名前、例：email または number\>：文字列。希望する連絡先タイプのコンテンツ。例：メールアドレスまたは電話番号。 {#P-getUserPreferences_S_N_GDT_S__ul_pzn_52r_gjb} |
[表 : 5. 返される内容]

{#P-getUserPreferences_S_N_GDT_S__table_ubq_ykk_3gb}  

    var onContactPrefUtil = new OnCallContactPreferenceUtil();
    var contactAttempt = 1;
    var gdt = new GlideDateTime();
    var itilUserSysId = '<itilUserSysId>;
    var userPreferences = onContactPrefUtil.getUserPreferences(itilUserSysId, contactAttempt, gdt);
    gs.log(JSON.stringify(userPreferences));

出力:

    [{
        "type": "sms",
        "number": "5555555555"
    }, {
        "type": "voice",
        "number": "5555555555"
    }]

## OnCallContactPreferenceUtil - getCatchAllContacts(文字列 rotaId, GlideDateTime gdt) {#ariaid-title5}

予備連絡先と設定のリストを取得します。
{#P-getCatchAllContacts_S_GDT_S__table_xgb_ypj_3gb__entry__3}

| 名前 | タイプ | 説明 |
|-|-|-|
| rotaId | 文字列 | \[cmn_rota\] テーブルから取得したシフトのSys ID。 |
| gdt | GlideDateTime | オプション。UTC タイムゾーンでの yyyy-MM-dd HH:mm:ss 形式。デフォルトは現在の時刻です。 |
[表 : 6. パラメーター]

{#P-getCatchAllContacts_S_GDT_S__table_xgb_ypj_3gb} {#P-getCatchAllContacts_S_GDT_S__table_ygb_ypj_3gb__entry__2}

| タイプ | 説明 |
|-|-|
| アレイオブジェクト | 予備連絡先と設定のリスト。 * type：文字列。連絡先のタイプ、例：user。 * sys_id：文字列。\[sys_user\] テーブルからのユーザーの Sys ID。 * rota_id：文字列。\[cmn_rota\] テーブルからのシフトの Sys ID。 * roster_id：文字列。\[cmn_rota_roster\] テーブルからの勤務表の Sys ID。 * escalation_step_id：文字列。エスカレーションパスが定義されている場合は、\[cmn_rota_esc_step_def\] テーブルからのエスカレーションステップの Sys ID。 * forced_communication_channel：文字列。設定で指定されている場合、通信チャネルは 必須 。サポートされている値には、SMS、voice、email が含まれます。 * override_user_contact_preference：ブール。連絡先の上書きがある場合は true、それ以外の場合は false。 * preference_source：文字列。連絡先やグループなどの設定のソース。 * contact_attempt：数値。連絡試行：1 = 最初の試行、2 = 最初のリマインダーなど。 * user_preferences：アレイオブジェクト。 * type：文字列。ユーザーの希望する連絡形式。例：sms、email、number。 * \<希望する形式の名前、例：email または number\>：文字列。希望する連絡先タイプのコンテンツ。例：メールアドレスまたは電話番号。 {#P-getCatchAllContacts_S_GDT_S__ul_pzn_52r_gjb} * contact_preferences、アレイオブジェクト。 * type：文字列。ユーザーの希望する連絡形式。例：email または number。 * \<希望する形式の名前、例：email または number\>：文字列。希望する連絡先タイプのコンテンツ。例：メールアドレスまたは電話番号。 {#P-getCatchAllContacts_S_GDT_S__ul_vnw_y2r_gjb} {#P-getCatchAllContacts_S_GDT_S__ul_ftv_sbp_3jb} |
[表 : 7. 返される内容]

{#P-getCatchAllContacts_S_GDT_S__table_ygb_ypj_3gb}  
例：


    var onContactPrefUtil = new OnCallContactPreferenceUtil();
    var contactAttempt = 1;
    var gdt = new GlideDateTime();
    var rotaSysId = '<Rotation_Sys_ID>';
    var catchAllContacts = onContactPrefUtil.getCatchAllContacts(rotaSysId, gdt);
    gs.log(JSON.stringify(catchAllContacts));

出力：

    [{
        "type": "user",
        "sys_id": "<Sys_ID>",
        "rota_id": "<Rotation_ID>",
        "roster_id": "",
        "escalation_step_id": "<Escalation_Step_ID>",
        "forced_communication_channel": "",
        "override_user_contact_preference": true,
        "preference_source": "contact",
        "contact_attempt": 1,
        "user_preferences": [{
            "type": "sms",
            "number": "8587200477"
        }],
        "contact_preferences": [{
            "type": "voice",
            "number": "5555555555"
        }]
    }]


