セールス CRM Pricing API での外部 ID のサポート
セールス CRM Pricing API は、価格設定要求で外部 ID をサポートしています。選択した参照フィールドに対して、 ServiceNow sys_idの代わりに独自のカスタム識別子またはコードを使用できます。
たとえば、価格設定コールは、特定のオブジェクトに対して異なる識別子を持つ可能性がある他の CRM または ERP システムから発生する可能性があります。これらの一意の識別子は、外部 ID、コード、またはその他のカスタムフィールドを使用して ServiceNow 参照フィールドにマッピングできます。その後、外部システムで利用可能なこれらの一意の識別子を使用して、価格設定を行うことができます。
次のような参照フィールド (オブジェクト) に外部コードを使用できますが、これらに限定されません。
- 製品オファリング
- トップレベルの製品オファリング
- 測定単位
- 価格リスト
- 原価表
- 特性と特性オプション
- 価格調整タイプ
- アカウント
注:
外部 ID は REST API の価格設定要求に適用され、UI ベースのフローには影響しません。価格設定の実行では、価格設定要求で内部システム ID、外部 ID、または両方の ID の組み合わせを使用できます。価格設定 API の詳細については、「 Sales CRM Pricing API」を参照してください。
価格設定要求における外部 ID の仕組み
外部 ID は、 ServiceNow 参照テーブルの参照フィールドにマップされます。アドミニストレーターは、価格設定要求を送信する前に、指定された参照テーブルの列にマップする外部 ID またはコードの参照フィールドを定義するコンテキスト変数を作成します。詳細については、「外部 ID のコンテキスト変数の設定」を参照してください。
外部 ID を使用した価格設定要求の処理には、次のフェーズが含まれます。
- 要求の取り込み
- 呼び出し元は、次のような価格設定 REST API 要求を送信します。
- 外部 ID またはコード
- sys_ids
- 外部 ID と sys_ids の両方の組み合わせ
要求では、外部 ID のサポートを有効にする要求フラグ (
「use_external_code:true」) を設定します。 - 解決
- 設定された参照フィールドごとに、外部値を内部sys_idに解決しようとします。
- 解決は、コンテキスト変数の設定によって決まります。
- 解決に失敗し、sys_idが提供されない場合、要求は失敗します。
- 外部識別子を使用したアカウント解決
- アカウントは、要求ペイロードフィールドではなくコンテキスト変数を使用して解決されます。
- 外部アカウント識別子は、価格設定の実行前に解決されます。
- 解決済みのアカウントsys_idsは、価格設定の実行のために内部的に使用されます。
- 元の外部識別子は、応答の構築用に保持されます。
- 価格設定の実行
- ダウンストリームのすべての価格設定ロジックは、解決済みのsys_idsでのみ実行されます。価格設定ロジックでは、元の値が外部コードであったかsys_idであったかは認識されません。
- 応答の構築
- 応答には、要求で指定された識別子 (外部コードまたはsys_ids) が反映されます。解決済みsys_idsは発信者に公開されません。
- エラー処理
- システムは、要求処理中にすべての参照識別子を検証します。一般的なエラーには、次のようなシナリオがあります。
- 外部識別子が参照テーブルに存在しません。
- 外部コードの使用は有効ですが、有効なフィールドにコンテキスト変数マッピングが存在しません。
- sys_idコードも外部コードも提供されません。
- 識別子値が無効です。
エラーは明細レベルで報告され、失敗した明細品目を識別します。エラーメッセージは、構成と検証コンテキストによって異なる場合があります。
エラーが発生した場合は、次の項目を確認してください。- コンテキスト変数マッピング
- 外部識別子の値
- 要求フラグの使用
コンテキスト変数の構成とマッピング
アドミニストレーターとして、外部 ID を使用する REST API 価格設定要求を送信する前に、選択した ServiceNow 参照テーブルの列にマップするコンテキスト変数を作成します。詳細については、「外部 ID のコンテキスト変数の設定」を参照してください。