ResponseTemplate - スコープ指定、グローバル

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:11分
  • ResponseTemplate スクリプトインクルードは、応答テンプレートを管理するためのメソッドを提供します。

    応答テンプレートは、エージェントがケースやタスクフォームにコピーできる再利用可能なメッセージです。ユーザーに一貫性のあるメッセージを瞬時に提供したり、エージェントチャットで要求者に標準的なチャット応答メッセージを表示したりします。 このスクリプトインクルードには、デフォルトでアクティブ化され、 sn_templated_snip 名前空間内で実行されるテンプレート化された応答プラグイン (com.sn_templated_snip) が必要です。

    応答テンプレートの詳細については、「 応答テンプレート」を参照してください。

    ResponseTemplate - ResponseTemplate()

    新しい ResponseTemplate オブジェクトをインスタンス化します。

    表 : 1. パラメーター
    名前 タイプ 説明
    なし
    new sn_templated_snip.ResponseTemplate().query("incident","ef4225a40a0a0b5700d0b8a790747812", "", 0, 0, true, ""); 

    ResponseTemplate - query(文字列 tableName, 文字列 recordId, 文字列 searchTerm, 数字 limit, 数字 offset, ブーリアン includeEvaluatedBody, 文字列 errorFormat, オブジェクト opts)

    指定されたテーブルから取得した、渡されたクエリー条件に一致するすべての応答テンプレートを返します。

    表 : 2. パラメーター
    名前 タイプ 説明
    tableName 文字列 sn_templated_snip_note_template テーブルを検索して対応する応答テンプレートを見つけるために使用するテーブルの名前。たとえば、incident や sn_hr_core_case などです。
    recordId 文字列 応答テンプレートの変数をレンダリングするために使用するレコードのSys ID。
    searchTerm 文字列 オプション。一致する応答テンプレートのリストをフィルタリングするために使用するテキスト。

    このメソッドは、名前と本文のフィールドでこのテキストの CONTAINS 検索を実行し、短い名前のフィールドで STARTS WITH 検索を実行します。たとえば、検索用語が「crash」の場合、このメソッドは、クエリー条件に一致し、名前または本文に「crash」が含まれているか、短い名前が「crash」で始まる応答テンプレートを返します。

    短い名前が完全に一致する応答テンプレートは、返される結果の最初に表示されます。返された他の応答テンプレートはすべて名前順にソートされます。

    デフォルト:一致するすべての応答テンプレートを返します。

    limit 数値 オプション。返される応答テンプレートの最大数。

    デフォルト:50

    offset 数字 オプション。ページネーションの場合は、検索を開始するインデックス。

    デフォルト:0

    includeEvaluatedBody ブーリアン オプション。テンプレートの変数をレンダリングするかどうかを示すフラグ。

    有効な値:

    • false:テンプレートの変数をレンダリングしない。応答にはメッセージ変数が含まれます。
      例:
      ケース ${number} が ${assignment_group} にエスカレーションされました。
    • true:テンプレート変数をレンダリングして、結果の中で evaluated_response を返します。
      例:
      ケース INC100001 が施設にエスカレーションされました。

    デフォルト値:false

    errorFormat 文字列 オプション。エラーに使用する HTML 書式設定。

    例:

    "<span style='color:#ffff00'>${%s}</span>"

    デフォルト:"<span style='color:#ff0000'>${%s}</span>"

    opts オブジェクト オプション。sn_templated_snip.response_template 拡張ポイントに渡すパラメーター。これらのパラメーターの形式と内容は、拡張ポイントの実装によって異なります。拡張ポイントの詳細については、「 拡張ポイントを使用してアプリケーション機能を拡張する」を参照してください。
    表 : 3. 返される内容
    タイプ 説明
    オブジェクト 指定された検索条件に一致するすべてのテンプレートのアレイ。短い名前が完全に一致する応答テンプレートは、返される結果の最初に表示されます。返された他の応答テンプレートはすべて名前順にソートされます。

    アレイ内の各ノードには、次のパラメーターを含めることができます。

    • sys_id:文字列。応答テンプレートの一意の識別子。
    • name:文字列。応答テンプレートの名前。
    • short_name:文字列。応答テンプレートの短い名前。
    • body:HTML。応答テンプレートの本文。
    • short_name_match:ブーリアン。応答テンプレートの短い名前が完全に一致したかどうかを示すフラグ。
    • evaluated_response:アレイ。テンプレート評価の結果。
      • success:ブーリアン。すべての変数が適切にレンダリングされたかどうかを示すフラグ。
      • evaluated_body:HTML。レンダリングされた応答テンプレートの本文。
      • error:アレイ。発生した評価エラーそれぞれのエントリー。
        • inAccessibleVariables:文字列。解決できなかった応答テンプレート本文内の変数。
        • unEvaluatedVariables:文字列。評価されなかった応答テンプレート本文内の変数。
        • message:文字列。エラーメッセージ。

    この例は、インシデントテーブルに関連付けられた応答テンプレートをクエリーする方法を示しています。

    query("incident","ef4225a40a0a0b5700d0b8a790747812", "", 0, 0, false, "");

    成功応答:

    [
      {
        "sys_id": "5fc1d65993003300a9bc1d1e867ffb9c",
        "name": "Incident escalation",
        "short_name": "escalation",
        "template_body": "<p>Dear ${caller_id.first_name},</p>\r\n<p>Please note that your incident ${number} has been escalated to ${assignment_group}. An agent will be assigned on your case and will keep you updated. If you have more questions please reach out to our team.</p>\r\n<p>Regards,</p>\r\n<p>${sys_updated_by}</p>"
      }
    ]
    

    エラー応答のある同じクエリー。

    query("incident","fe4225a40a0a0b5700d0b8a790747812", "", 0, 0, false, "");

    エラー応答:

    [
      {
        "sys_id": "5fc1d65993003300a9bc1d1e867ffb9c",
        "name": "Incident escalation",
        "short_name": "escalation",
        "template_body": "<p>Dear ${caller.first_name},</p>\r\n<p>Please note that your incident ${number} has been escalated to ${assignment_group}. An agent will be assigned on your case and will keep you updated. If you have more questions please reach out to our team.</p>\r\n<p>Regards,</p>\r\n<p>${sys_updated_by}</p>",
        "evaluated_response": {
          "success": false,
          "error": {
            "unEvaluatedVariables": "caller.first_name",
            "message": "Cannot evaluate following variables: caller.first_name"
          },
          "evaluated_body": "<p>Dear <span style='color:#ff0000'>${caller.first_name}</span>,</p>\r\n<p>Please note that your incident INC0000049 has been escalated to Hardware. An agent will be assigned on your case and will keep you updated. If you have more questions please reach out to our team.</p>\r\n<p>Regards,</p>\r\n<p>admin</p>"
        }
      }
    ]
    

    ResponseTemplate - render(文字列 templateId, 文字列 tableName, 文字列 recordId, 文字列 errorFormat, オブジェクト opts)

    指定された応答テンプレートの HTML 本文をレンダリングします。

    レンダリング中に、指定されたテーブルとレコードの情報を使用してすべての変数が解決されます。変数を解決できない場合、またはレンダリング中に他の問題が発生した場合、メソッドは結果としてエラーメッセージを返します。

    表 : 4. パラメーター
    名前 タイプ 説明
    templateId 文字列 レンダリングする応答テンプレートのSys ID。
    tableName 文字列 応答テンプレートで変数をレンダリングする際に使用するテーブルの名前。
    recordId 文字列 応答テンプレートに変数をレンダリングするために使用するレコードのSys ID。このレコードは、tableNameで指定されたテーブルに存在する必要があります。
    errorFormat 文字列 オプション。エラーに使用する HTML 書式設定。

    例:

    "<span style='color:#ffff00'>${%s}</span>"

    デフォルト:"<span style='color:#ff0000'>${%s}</span>"

    opts オブジェクト オプション。sn_templated_snip.response_template 拡張ポイントに渡すパラメーター。これらのパラメーターの形式と内容は、拡張ポイントの実装によって異なります。拡張ポイントの詳細については、「 拡張ポイントを使用してアプリケーション機能を拡張する」を参照してください。
    表 : 5. 返される内容
    タイプ 説明
    オブジェクト レンダリングの結果。
    • success:レンダリングが成功したかどうかを示すフラグ。
    • evaluated_body:文字列。成功した場合は、レンダリングされた応答テンプレートの本文。エラーの場合は、レンダリングされた変数とレンダリング不可能な変数の両方を含む応答テンプレート本文。
    • error:オブジェクト。レンダリングに失敗した場合はエラーメッセージ。
      • unEvaluatedVariables:レンダリングできなかった変数。
      • message:エラーメッセージ。

    このコード例は、インシデントテーブルに対してレンダリングされた応答テンプレートを要求する方法を示しています。

    render("5fc1d65993003300a9bc1d1e867ffb9c","incident","ef4225a40a0a0b5700d0b8a790747812", "")

    成功応答:

    {
      "success": true,
      "evaluated_body": "<p>Dear Beth,</p>\r\n<p>Please note that your incident INC0000049 has been escalated to Hardware. An agent will be assigned on your case and will keep you updated. If you have more questions please reach out to our team.</p>\r\n<p>Regards,</p>\r\n<p>admin</p>"
    }
    

    同じであるがエラー応答を返すレンダリング要求。

    render("5fc1d65993003300a9bc1d1e867ffb9c","incident","ef4225a40a0a0b5700d0b8a790747812", "")

    エラー応答:

    {
      "success": false,
      "error": {
        "unEvaluatedVariables": "caller.first_name",
        "message": "Cannot evaluate following variables: caller.first_name"
      },
      "evaluated_body": "<p>Dear <span style='color:#ff0000'>${caller.first_name}</span>,</p>\r\n<p>Please note that your incident INC0000049 has been escalated to Hardware. An agent will be assigned on your case and will keep you updated. If you have more questions please reach out to our team.</p>\r\n<p>Regards,</p>\r\n<p>admin</p>"
    }