SoR 内のリモート情報を更新

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:3分
  • この統合シナリオは、銀行アプリケーション内の SoR を更新する方法を示しています。

    このシナリオでは、 ServiceNow ワークフローのスクリプトが、顧客のクレジットカード利用限度額を更新するようにリモート銀行アプリケーションに要求します。新しい限度額が承認されると、銀行アプリケーション (記録システム) で得意先限度額が更新されます。

    注:
    顧客のクレジットカード限度額などの同じ情報が、リモートシステムの SoR と ServiceNow データベースの両方に存在する場合があります。このタイプの情報を照会するときは常に、 ServiceNow データベースの情報が最新ではない可能性があるため、常に SoR の情報を使用してください。両方のデータストアでこの情報を更新するかどうかは、ご自身の判断で行ってください。このユースケースでは、クレジットカード口座 [sn_bom_cred_card] テーブルの情報は更新されません。
    注:
    このシナリオでは、銀行アプリケーションが、ServiceNowワークフローからの更新要求を処理する REST エンドポイント POST /api/card/updateLimit を公開していることを前提としています。

    銀行アプリケーション内の SoR を更新する方法を示す FSO ケースフロー

    このシナリオでアクセスされるテーブルは、企業/顧客間レコードを含む コンシューマー [csm_consumer] テーブルです。

    次の図は、このユースケースでの REST API 呼び出しのフローを示しており、必要な処理について簡単に説明しています。これは、 SoR 内のリモート情報をルックアップ で説明されている手順を使用して顧客アカウント情報を取得していることを前提としています。

    顧客アカウント情報を取得するために使用される REST API 呼び出しを表示するワークフロー。
    1. ワークフロー内のスクリプトは、関連するコンシューマーレコードを要求し、その情報を使用して、関連するクレジットカード口座レコードを要求するために必要な情報を取得します。
    2. ワークフローのスクリプトは、銀行アプリケーションの POST /api/card/updateLimit エンドポイントを呼び出して、関連する顧客の与信限度額の引き上げを要求します。
    3. 銀行アプリケーションは要求のステータスを返します。
    4. Status の更新

    コード例

    以下は、上記の手順を実行する JavaScript の例です。
    // Shows how to  request the increase the credit limit for a specified card
    // This code assumes there is a REST endpoint 'api/card/updateLimit' on the bank application system
    
    // REST call to the /api/card/updateLimit endpoint to request 
    // an update to the customer's credit card limit
    function updateCreditLimit(requestBody) {
    
      var request = new sn_ws.RESTMessageV2();
      request.setHttpMethod('post');
      request.setEndpoint('/api/card/updateLimit');
      request.setRequestBody(JSON.stringify(requestBody));
      var response = request.execute();
    
      var responseBody = response.getBody();
      var responseObj = JSON.parse(responseBody);
    
      return responseObj;
    }
    
    // The following is the data object sent to the /api/card/updateLimit endpoint
    // to increase the credit limit for the card
    var requestBody = {
      'cardNumber': 'xxxx-xxxx-xxxx-5896',
      'accountNumber': 'xxxxxxxxxxxx9590',
      'oldLimit': 'USD 5000',
      'newLimit': 'USD 10000',
      'requestType': 'Increase_limit',
    };
    
    updateCreditLimit (requestBody);