Skip to main content

Risk Profile Management

Introduction

In this workflow guide, we will walk through how to manage risk profiles utilizing the Risk Profile Management workflow for the JHA SmartPay Remote Deposit Anywhere Admin™ (referred to as Consumer Mobile Admin or RDA Admin) web service.

Getting Started

Each step in the workflow diagram is a hyperlink which will take you to the API Reference information for the method being used.

Tasks covered in this guide

  • Step 1: Send GetRiskProfiles Request
  • Step 2: Send UdpateRiskProfile Request
  • Step 3: Send AddRiskProfile Request
  • Step 4: Send UpdateRisk Request
note
  • Step 1 will generate a list of current Risk Profiles for you to evaluate.
  • If you want to change the data in an existing risk profile from step 1, proceed to step 2 - UpdateRiskProfile.
  • If no risk profile exists for your need in Step 1, a new one will need to be created, proceed to step 3 - AddRiskProfile.
  • Optional Step 4 - add the new risk profile from step 3 to the user.

Required prerequisites before you continue

  • You are required to obtain RDA Admin web service credentials in order to perform testing within this workflow. You should receive these from the Integrations team near the start of your project.
  • Review the RDA Admin Authenticated Request Fields Guide to understand how to authenticate to the JHA SmartPay Remote Deposit Anywhere Admin™ (referred to as Consumer Mobile Admin or RDA Admin).
  • Download the RDAWebServices WSDL file under the Downloads page.
Risk Profile Management Workflow
Risk Profile Management Diagram
Integrator Mobile Deposit Flow
EPS RDA Mobile Deposit Flow

EPS Web Service

1.


2.


3.


 

 

GetRiskProfiles Request

Step 1: Send a GetRiskProfiles Request with the necessary information.

  • Request ID
  • Request Date
  • Credentials
  • Criteria - use "All" for the criteria to pull a list of all Risk Profiles

GetRiskProfiles Request Example

{    
"__type":"GetRiskProfilesRequest:#JackHenry.Eps.Mobile.RDAAdmin",
"Criteria": {
"__type":"GetRiskProfilesCriteriaAll:#JackHenry.Eps.Mobile.RDAAdmin"
},

"Credentials":
{
"StoreKey":"XXXXXXXX",
"StoreId":"XXXXXXXX",
"EntityId":"XXXXXXXX"
},

"RequestDate":"/Date(XXXXXXXX)/",
"RequestId":"XXXXXXXX"
}

GetRiskProfiles Response Example

{
"__type":"GetRiskProfilesResponse:#JackHenry.Eps.Mobile.RDAAdmin",
"RiskProfiles":
[
{
"__type":"RiskProfile:#JackHenry.Eps.Mobile.RDAAdmin",
"ProfileName":"String Content",
"Description":"String Content",
"IsEnabled":true,
"DefaultOption":
"DailyCountLimit":0,
"SingleAmountLimit":12678967.54,
"DailyAmountLimit":12678967.54,
"PeriodCountLimit":0,
"PeriodAmountLimit":12678967.54,
"VelocityAction":
"RiskSetting1":
"RiskAction1":
"RiskSetting2":
"RiskAction2":
"RiskSetting3":
"RiskAction3":
"RiskSetting4":
"RiskAction4":
"RiskSetting5":
"RiskAction5":
"RiskSetting6":
"RiskAction6":
"RiskSetting7Begin":"String Content",
"RiskSetting7End":"String Content",
"RiskAction7":
"RiskAction8":true,
"RiskSetting8High":
"RiskSetting8Low":
"RiskSetting8Mid":
"MinimumAmountThreshold":
}
],
}
UpdateRiskProfile Request

Step 2: Send an UpdateRiskProfile Request with the necessary information.

  • Request ID
  • Request Date
  • Credentials
  • Criteria - ProfileName for the risk profile needing to be changed/updated
note

This request is used to make changes to an existing risk profile.

UpdateRiskProfile Request Example

{
"Credentials":
{
"StoreKey":"XXXXXXXX",
"StoreId":"XXXXXXXX",
"EntityId":"XXXXXXXX"
},
"__type":"UpdateRiskProfileRequest:#JackHenry.Eps.Mobile.RDAAdmin",
"Criteria":
{
"__type":"RiskProfileCriteria:#JackHenry.Eps.Mobile.RDAAdmin",
"ProfileName":"XXXXXXXX",
}
"ProfileName":"String Content",
"Description":"String Content",
"IsEnabled":true,
"SingleAmountLimit": 1.00,
"DailyCountLimit": 10,
"DailyAmountLimit": 10.00,
"PeriodCountLimit": 20,
"PeriodAmountLimit": 20.00,
"VelocityAction": 2,
"RiskSetting1": 1,
"RiskAction1": 0,
"RiskSetting2": 1,
"RiskAction2": 0,
"RiskSetting3": 1,
"RiskAction3": 0,
"RiskSetting4": 1,
"RiskAction4": 0,
"RiskSetting5": 1,
"RiskAction5": 0,
"RiskSetting6": 1,
"RiskAction6": 0,
"RiskSetting7Begin": "String Content",
"RiskSetting7End": "String Content",
"RiskAction7": 0,
"RiskAction8": true,
"RiskSetting8High": 0,
"RiskSetting8Low": 0,
"RiskSetting8Mid": 0,
"MinimumAmountThreshold": 1.00,
"RequestDate": "\/Date(XXXXXXXX)\/",
"RequestID": "XXXXXXXX"
}

** UpdateRiskProfileResponse Example**

{
"RequestId": null,
"Result": 1,
"ResultCode": null,
"ResultMessage": null,
"ValidationResults": []
}
AddRiskProfile Request

Step 3: Send an AddRiskProfile Request with the necessary information.

  • Request ID
  • Request Date
  • Credentials
  • Desired risk settings for new risk profile
note

This request would be used to create a new risk profile

AddRiskProfile Request Example

{
"__type": "AddRiskProfileRequest:#JackHenry.Eps.Mobile.RDAAdmin",
"Credentials":
{
"__type": "StoreCredentials:#JackHenry.Eps.Mobile.RDAAdmin",
"EntityId": XXXXXXXX,
"StoreId": XXXXXXXX,
"StoreKey": "XXXXXXXX"
},
"ProfileName": "Bronze",
"Description": "Bronze Tier Profile",
"IsEnabled": true,
"SingleAmountLimit": 1.00,
"DailyCountLimit": 10,
"DailyAmountLimit": 10.00,
"PeriodCountLimit": 20,
"PeriodAmountLimit": 20.00,
"VelocityAction": 2,
"RiskSetting1": 1,
"RiskAction1": 0,
"RiskSetting2": 1,
"RiskAction2": 0,
"RiskSetting3": 1,
"RiskAction3": 0,
"RiskSetting4": 1,
"RiskAction4": 0,
"RiskSetting5": 1,
"RiskAction5": 0,
"RiskSetting6": 1,
"RiskAction6": 0,
"RiskSetting7Begin": "String Content",
"RiskSetting7End": "String Content",
"RiskAction7": 0,
"RiskAction8": true,
"RiskSetting8High": 0,
"RiskSetting8Low": 0,
"RiskSetting8Mid": 0,
"MinimumAmountThreshold": 1.00,
"RequestDate": "\/Date(XXXXXXXX)\/",
"RequestID": "XXXXXXXX"
}

AddRiskProfile Response Example

{
"RequestId": null,
"Result": 1,
"ResultCode": null,
"ResultMessage": null,
"ValidationResults": []
}
UpdateRisk Request

Step 4: Send an UpdateRisk Request with the necessary information.

  • Request ID
  • Request Date
  • Credentials
  • Criteria - HomeBanking ID for the User
  • ProfileName for the risk profile you wish to add to the user's profile
note
  • This request is for updating the risk profile that a user is assigned to, not for making changes to the risk profile itself
  • If assigning a user to an existing profile, leave the risk settings blank to avoid an error
  • Only use the risk settings to create or update custom risk settings for a specific user, to avoid an error do not include a ProfileName and RiskSettings entries

UpdateRisk Request Example

{
"Credentials":
{
"StoreKey":"XXXXXXXX",
"StoreId":"XXXXXXXX",
"EntityId":"XXXXXXXX"
},
"__type":"UpdateRiskRequest:#JackHenry.Eps.Mobile.RDAAdmin",
"Criteria":
{
"__type":"UpdateRiskCriteria:#JackHenry.Eps.Mobile.RDAAdmin",
"HomeBankingId":"XXXXXXXX"
},
"ProfileName":"Bronze",
"RequestDate": "\/Date(XXXXXXXX)\/",
"RequestID": "XXXXXXXX"
}

UpdateRisk Response Example

{
"RequestId": null,
"Result": 1,
"ResultCode": null,
"ResultMessage": null,
"ValidationResults": []
}
Handling Errors and Failed Requests

Not all requests will be successful, so we will cover a couple of common error messages you should be ready to handle.

  • RDA AuthenticateSSO Failure - This can happen for multiple reasons, the most common being a mismatched hash in the request, a timestamp that is out of sync, or the user is not enrolled. For any scenario other than a user who is not enrolled, please reach out through your normal support channels for assistance and refer to the RDA AdminAuthenticated Request Fields in the RDA Admin web service API Developer Tools section.

Example:

"Code" : "Auth-1001",
"Message" : "Authentication failed"
  • Criteria Invalid Error – This error response is returned if the Criteria is incorrect or not provided in the request.

Example:

"Code": "Risk-3102",
"Message": "Home Banking Id is required"
  • Duplicate Risk Profile Name Error - This can happen when a risk profile already exists when trying to add a risk profile

Example:

"Code": "Risk-5003",
"Message": "Risk ProfileName already exists"
  • Risk Setting incorrect value - Incorrect values will generate errors similar to below, please refer to the API Refernce section for the method being used for correct values

Example:

"Code": "Risk-6029",
"Message": "RiskSetting5 is not within range 1 - 180"
  • Unexpected value provided in any request - When an unexpected value is provided it will generate a generic error, please refer to the API Refernce section for the method being used for correct values

Example:

<html>
<body>
<div id="content">
<p class="heading1">Request Error</p>
<p>The server encountered an error processing the request. See server logs for more details.</p>
</div>
</body>
</html>
Next steps
  • Expore other Developer Guides - We have other guides to show how to leverage our APIs in other common use cases. If your situation or question is not covered in the current guide, consult another resource.
  • Review the API Reference section - This guide is a starting point to show common use case scenarios for making successful deposits. Please review the API Reference section to see all API methods and their technical specifications.
  • Review other resources - Guides and Developer Tools sections for general information for preparation.