Skip to main content

Associate Customer


Introduction

The mRDC Web Service offers the ability to allow a merchant user to associate information about the check writer (customer) to the deposit. This feature is controlled by the Financial Institution or Partner and is optional, but if they have chosen to allow their customers to use this feature, the integrator should allow the customer to associate their customer information within the mRDC application.

Getting Started

Tasks covered in this guide

  • Associate information about the check writer (customer) to the deposit within the deposit workflow.

Required prerequisites before you continue

  • You will need to obtain your test credentials to try any of the examples in this guide. You should receive these from the Integrations team near the start of your project.
  • Review the Single Check Deposit Guide for an understanding on how to start the deposit workflow.
  • Download the mRDC Web Service WSDL file from the Downloads menu.
Associate Customer Workflow

Associate Customer Diagram

Step 1 After the user has initiated the deposit workflow, but before the AddItem request, send the GetSettings request.

GetSettings Request Example

{
"__type":"GetSettingsRequest:#JackHenry.Eps.Mobile.RDC",
"RequestDate":"/Date(1692650646000-0500)/",
"RequestId":"AS65F4AS65D4AS6D5AS",
"Credentials":{
"PhoneKey":"65465146876",
"SecurityToken":"String Content"
}
}

If the GetSettings response provides a value of "True" for ShowDataEntry, proceed with the rest of this workflow.

Log the following information from the AuthenticateResponse for use in subsequent requests:

  • "SecurityToken" - New token should be used in the next request.
note

Security Tokens are only valid for 15 minutes.

GetSettings Response Example

{
"RequestId": "AS65F4AS65D4AS6D5AS",
"Result": 1,
"ResultCode": null,
"ResultMessage": null,
"ValidationResults": [],
"Credentials": {
"PhoneKey": "65465146876",
"SecurityToken": "String Content"
},
"AllowCreateCustomer": true,
"AllowSaveUsername": true,
"AllowUpdateCustomer": true,
"EnablePasswordChange": true,
"GeoLocationAccess": 0,
"ShowCustomBatchId": false,
"ShowDataEntry": true,
"MiSnapLicense": null,
"MiSnapLicenseIntegrator": null
}

Step 2 Display the AddItem screen to the user with the option to select a customer. The user will then select the option to add a customer associated to their deposit. Display a search screen for the user with the option to select one of three search criteria. Send the GetCustomers Request.

note

There are three search options: Customer Name, Customer Number, and Account Number.

GetCustomers Request Example

{
"__type":"GetCustomersRequest:#JackHenry.Eps.Mobile.RDC",
"Criteria":{
"__type":"GetCustomersCriteriaCustomerNumber:#JackHenry.Eps.Mobile.RDC",
"CustomerNumber":"20090718011105671"
},
"RequestDate":"/Date(1692650646000-0500)/",
"RequestId":"AS65F4AS65D4AS6D5AS",
"Credentials":{
"PhoneKey":"65465146876",
"SecurityToken":"String Content"
}
}

Log the following information from the GetCustomersResponse for use in subsequent requests:

  • "SecurityToken" - New token should be used in the next request.
  • "CustomerReference" - A unique value assigned to each customer used for Associating a Customer to a deposit.

GetCustomers Response Example

{
"RequestId": "AS65F4AS65D4AS6D5AS",
"Result": 1,
"ResultCode": null,
"ResultMessage": null,
"ValidationResults": [],
"Credentials": {
"PhoneKey": "65465146876",
"SecurityToken": "String Content"
},
"Customers": [
{
"AddressLine1": "802 Main St",
"AddressLine2": null,
"City": "Sugar Land",
"Country": null,
"CustomerData1": null,
"CustomerData2": null,
"CustomerData3": null,
"CustomerReference": "C:1MGSG5",
"CustomerType": 0,
"DLNumber": "",
"DLState": null,
"DaytimePhone": "0000000000",
"DaytimePhoneExt": null,
"EmailAddress": "johnsmith@comcast.net",
"EveningPhone": null,
"EveningPhoneExt": null,
"Fax": null,
"FirstName": "John",
"HomeBankingId": "20090718011105671",
"IsCompany": false,
"LastName": "Smith",
"LocationReference": "L:",
"PostalCode": "77479",
"Relationship": 1,
"SSNFedTaxId": "7891",
"State": "TX"
}
]
}

Step 3 Display the list of results to the customer. The user will then select their customer from the results list in the mobile application. Send the AddItem Request with the selected Customer Reference property the customer selected from the previous step.

AddItem Request Example

	{
"__type":"AddItemRequest:#JackHenry.Eps.Mobile.RDC",
"RequestDate":"/Date(1692650646000-0500)/",
"RequestId":"6S54FD652154654F154654S3D2F1SD3",
"Credentials":{
"SecurityToken":"String Content",
"PhoneKey":"1"
},
"BatchReference":"B:HC925R1",
"LocationReference":"L:T2PR",
"CustomerReference": "C:1MGSG5",
"Amount":5.00,
"FrontImage":"FrontImage",
"BackImage":"BackImage"
}

Log the following information from the AddItemResponse for use in subsequent requests:

  • "SecurityToken" - New token should be used in the next request.
  • "BatchReference" - A unique ID to identify an open batch that can be used in subsequent requests.
  • "ItemReference" - The unique value assigned to each item which can be used to get more details about this item.

AddItem Response Example

{
"RequestId": "5d6as5d4a6s5d4a6s5d4",
"Result": 1,
"ResultCode": null,
"ResultMessage": null,
"ValidationResults": [],
"Credentials": {
"PhoneKey": "5sd4a65sd4a6s5d4a6",
"SecurityToken": "String Content"
},
"Item": {
"Amount": 5.0000,
"BatchReference": "B:PZVGJV1",
"Customer": {
"AddressLine1": "802 Main St",
"AddressLine2": null,
"City": "Sugar Land",
"Country": null,
"CustomerData1": null,
"CustomerData2": null,
"CustomerData3": null,
"CustomerReference": "C:1MGSG5",
"CustomerType": 0,
"DLNumber": "",
"DLState": null,
"DaytimePhone": "0000000000",
"DaytimePhoneExt": null,
"EmailAddress": "johnsmith@comcast.net",
"EveningPhone": null,
"EveningPhoneExt": null,
"Fax": null,
"FirstName": "John",
"HomeBankingId": "20090718011105671",
"IsCompany": false,
"LastName": "Smith",
"LocationReference": "L:",
"PostalCode": "77479",
"Relationship": 1,
"SSNFedTaxId": "7891",
"State": "TX"
},
"DataFields": [
{
"FieldName": "TransactionId",
"FieldType": 0,
"IsRequired": false,
"Text": "Transaction Number",
"Validation": "",
"ValidationMessage": "",
"Value": "c39a6639-6578-497a-9562-d1a4456c49ce-0"
},
{
"FieldName": "TransactionData1",
"FieldType": 0,
"IsRequired": false,
"Text": "Memo Field",
"Validation": "\\d{3,9}",
"ValidationMessage": "Incorrect Number Format",
"Value": ""
},
{
"FieldName": "TransactionData2",
"FieldType": 0,
"IsRequired": false,
"Text": "test",
"Validation": "",
"ValidationMessage": "",
"Value": ""
}
],
"Events": [
{
"Date": "/Date(1708368343390-0600)/",
"Description": "Check Decision Performed"
},
{
"Date": "/Date(1708368343377-0600)/",
"Description": "Created"
}
],
"IQAStatus": "Nothing",
"ItemReference": "I:LFS90H5",
"ProcessingStatus": null,
"ProcessingStatusDescription": null,
"Status": "ItemStatus04",
"StatusDescription": "Created",
"TransactionReferenceNumber": null
}
}
Handling Errors and Failed Requests

Not all requests will be successful, so we will run through a few common error messages you should be ready to handle.

  • Timeout waiting for response: Systems should be designed to wait 5 seconds to receive a response before timing out. If a timeout occurs, you can attempt to retry the request or reach out through your normal support channels for assistance.
Next steps
  • Review the API Reference

Please review the API Reference to see all APIs and their technical specifications.

  • Explore other guides

We have other guides to show how to leverage our APIs in other common use cases so if this one doesn’t cover what you are looking for, give another guide a try. If your situation or question is not covered in the current guide, consult another resource.

  • Get certified and move into production

Ready to put your new code into production use? Refer to this process guide that explains our certification steps and how to contact us to get started.