SoR のリモート情報の更新

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

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

    注:
    顧客のクレジットカードの限度額など、同じ情報がリモートシステムの 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);