How To Install Setup The Consumer Portal
The Consumer Portal is web-based interface that allows Debtors (Consumers) access to their account.
The configuration is divided into Client-Side Configuration, which can be updated while the system
is in use without restarting any services, and Server-Side Configuration, which requires the PM2
service to be restarted after each change.
This module is dependent on the Collect! REST API, which must be installed first.
Please refer to the Help topic How to Install the REST API.
Client-Side Configuration
The Client-Side elements affect the User Interface.
- Navigate to the Consumer folder.
cd {Collect}\bin\companion\consumer-portal
- Run the Setup Script.
./setup.ps1
- Open the {Collect}\bin\companion\consumer-portal\runtime-config.js file with a text editor.
- Update the applicable values. See table below for more information.
- Restart the PM2 Service.
Runtime Configuration File
This file is in JSON. If you are not familiar with JSON, stop and contact us for changes.
This is the hierarchy of the file:
- base_url
- company
- screens
- core
- login
- register
- forgot_password
- payment
- terms_and_conditions
- authorization_form
- theme
pm2 restart all
Key |
Description |
base_url |
This value must be updated to point at the URL for the Collect! API Server.
Example: https://api.yourdomain.com |
company -> name |
Enter your Company's Name. |
company -> images -> favicon -> base64
company -> images -> logo -> base64 |
Both favicon and logo are optional. If nothing is supplied, the default Collect! images are
used. To generate base64 strings for these images:
- Optimize the image using a service or application. Example:
https://imageoptim.com/online
- Convert the optimized image to Base64. Example:
https://www.base64-image.de/
- Replace "undefined" with the applicable value for the favicon and/or logo.
|
company -> support -> email
company -> support -> phone |
Both email and phone are optional, but may be provided for display in the Collect! Consumer Portal. |
screens -> core -> menu -> logo
screens -> login -> logo
screens -> register -> logo |
These options may not be visible. If that is the case, it will use the default height sizing.
If you need to adjust the height, you can create the applicable JSON code and add a tag for
width or height. JSON is comma separated. The below assumes that you add the code as the first
parameters for the Screens section.
core: {
menu: {
logo: {
width: '100px',
},
},
},
login: {
logo: {
height: '60px',
},
},
register: {
logo: {
height: '60px',
},
},
|
screens -> register -> labels -> ssn
screens -> register -> labels -> license
screens -> register -> labels -> zip
screens -> register -> labels -> dob
screens -> register -> labels -> file
|
These values are used to override the default placeholder labels of the 5 corresponding
registration fields. |
screens -> login -> title |
Update this value to set the title on the login page shown above the file/password form.
By default the title on the login page reads "Consumer Portal Login." |
screens -> login -> disclaimer |
Update this value to display a disclaimer below the login form on the login page.
This value supports HTML code. |
screens -> login -> labels -> file |
Update this value to change the placeholder text of the file# field on the login page. |
screens -> forgot_password -> labels -> description
screens -> forgot_password -> labels -> file
|
These values are used to override the file# field placeholder text and the form description
on the forgotten password page. |
screens -> payment -> urls |
Enter the URL for your payment page. Two formats are supported iFrame and Buttons. If your
payment processor supports iFrames, and you only have 1 payment page, then update the URL.
If you have multiple payment pages, or your payment provider doesn't support iFrames, then
you need to use the Button method.
iFrame:
payment: {
urls: [
{
url:
'https://paymentprovider.com/form/abc123?fn=${de_number}&am=${de_owing}',
},
],
},
Single Button:
payment: {
urls: [
{
label: 'Pay Now',
url:
'https://paymentprovider.com/form/abc123?fn=${de_number}&am=${de_owing}',
},
],
},
Multiple Buttons:
payment: {
urls: [
{
label: 'Pay Now',
url:
'https://paymentprovider.com/form/abc123?fn=${de_number}&am=${de_owing}',
},
{
label: 'Pay Now',
url:
'https://paymentprovider.com/form/def456?fn=${de_number}&am=${de_owing}',
},
],
},
|
screens -> payment -> check_require_bank |
This value determines if the bank name field is included in the check payment form (Only
applies if check payments are enabled in server-side settings). |
screens -> payment -> check_default_country |
This option is used to set the default value of the Bank Country dropdown field on the check
payment form. The Bank Country field is used to determine which bank code field is displayed
within the check payment form (ex. US - Routing Number, AU - Bank State Branch Number).
Currently supported values are US, CA, and AU. The default value if left unspecified
is US. |
screens -> payment -> check_hide_country |
This value determines if the Bank Country dropdown is hidden on the check payment form.
If set to true, the default country value will be used to determine the bank code field
used on the form. |
screens -> payment -> check_tab_label |
This value can be used to change the label text of the check payments tab from the default
text of "Check Payment". |
screens -> payment -> alert_text |
Here you may optionally define HTML code that will replace the content of the "Please Note"
alert box on the payment page. |
screens -> terms_and_conditions |
Terms and Conditions are optional. If provided, the consumer must accept the Terms and
Conditions before using the Collect! Consumer Portal. Note: This value is a string of HTML
which will be displayed in the browser. Make sure to escape any quotation marks for proper
display. To leave off, you can leave the code out of the file or set the text to undefined.
Example:
terms_and_conditions: {
text: '<h1>Licensing & Software Terms of Use Agreement</h1>
<p>These terms of use of this site:</p>
<ul>
<li>Term 1</li>
<li>Term 2</li>
<li>Term 3</li>
</ul>',
},
|
screens -> authorization_form |
Here you may optionally define a form that will be displayed to users on their first login.
The result of the completed form will be saved as an Attachment on the Debtor's record in
Collect! The form can be defined using an array of form input JSON objects with the following
parameters:
- label: Label for the field.
- fieldType: Data type for the field. Values are: TEXT, CHECKBOX, SELECT, DATE
- field: Field name from the Attachment table in the database. Non-Attachment field
are considered form-specific and will not be stored in the database.
- confirmWithField: If you require a user to validate data entry, such as Email, use
a non-Attachment field name for the Field parameter, then put the Attachment field
name here. See Email Address example below.
- required: Is the data entry required. Values are: true, false
- prefill: Prefill the field will data.
- options: For the SELECT field type, enter an array of options.
Example:
authorization_form: [
{
label: 'Full Name',
fieldType: 'TEXT',
field: 'at_detail_2',
required: false,
},
{
label: 'Address',
fieldType: 'TEXT',
field: 'at_detail_3',
required: false,
},
{
label: 'State',
fieldType: 'SELECT',
field: 'at_detail_4',
required: false,
options: ['CA', 'OR', 'WA']
},
{
label: 'Email Address',
fieldType: 'TEXT',
field: 'at_detail_5',
required: false,
},
{
label: 'Confirm Email Address',
fieldType: 'TEXT',
field: 'confirm_email',
confirmWithField: 'at_detail_5',
required: false,
},
{
label: 'I consent to ABC Collections contacting me via email
using this email address.',
fieldType: 'CHECKBOX',
field: 'email_check',
required: true,
},
{
label: 'Cell Phone Number',
fieldType: 'TEXT',
field: 'at_detail_6',
required: false,
},
{
label: 'I consent to ABC Collections contacting me via text
messaging using this cell phone number.',
fieldType: 'CHECKBOX',
field: 'phone_check',
require: true,
},
{
label: 'Home Phone Number',
fieldType: 'TEXT',
field: 'at_detail_7',
required: false,
},
],
|
theme |
The Collect! Consumer Portal allows you to configure 5 colors. Update the primary color to
match the theme of your website. The others can be left as default unless you want to change them.
Example:
theme: {
primaryColor: '#2BA3BB',
errorColor: '#D93232',
warningColor: '#f89939',
successColor: '#A1BF2F',
infoColor: '#3DD4F2',
},
|
Server-Side Configuration
Some features of the Consumer Portal are implemented server-side and their configuration options are
stored in the Collect! database. These options can be modified on the administration page of the
consumer portal which can be reached via the path: /auth/admin-login
- Open dashboard.yourdomain.com/auth/admin-login in a web browser.
- Update the values in the applicable fields.
Key |
Description |
Account Statement Report |
This option allows you to specify a Collect! report that provides a statement of the
debtor's account. |
Group Statement Report |
This option allows you to specify a Collect! report that provides a summary of a debtor
group. This is only available to grouped debtor accounts. |
Transaction Receipt Report |
This option allows you to specify a Collect! report to run as a receipt for each payment
in the payment history transactions table. |
Payment History Replacement |
This option allows you to specify a Collect! report that will replace the payment history
transactions table. |
Hide Transaction Table |
This option allows you to hide the payment history transactions table from the Debtor's
account breakdown screen:
- 0 - Visible (Default)
- 1 - Hidden
|
Phone Opt in/out |
This option specifies the level of control a user has over the Allow Calls switch which
specifies if the user consents to being contacted via that phone number. There are 3 values
you may choose from:
- 0 - User's cannot toggle the Allow Calls switches (Default)
- 1 - User's can toggle the Allow Calls switches, but must have at least 1 active
phone number
- 2 - User's have full control of the Allow Calls switches
|
Email Opt in/out |
This option specifies the level of control a user has over the Allow Emails switch which
specifies if the user consents to being contacted via that email address. There are 3 values
you may choose from:
- 0 - User's cannot toggle the Allow Emails switches (Default)
- 1 - User's can toggle the Allow Emails switches, but must have at least 1 active
email address
- 2 - User's have full control of the Allow Emails switches
|
Request Call Feature Enabled |
This option allows you to disable the "Request a call" feature in the consumer portal:
- 0 - Visible (Default)
- 1 - Hidden
|
Request Call Hours |
This option allows you to specify which hours of the day the user may select for their
request call. 9AM - 4PM by default. |
Request Call Days |
This option allows you to specify which days of the week the user may select for their
requested call. All 7 days a week by default. |
Request Call Weeks in Advance |
This option allows you to specify how many weeks in advance users may select a date for
their requested call. 1 week by default. |
Request Call Timezone |
This option allows you to notify users the timezone that they are requesting a call for.
By default, no timezone is displayed. |
Assign Phone Contacts To |
This option specifies which operator phone contacts are assigned to.
Phone contacts are created via the Request a Call feature.
If blank, review contacts are assigned to the debtor's collector. |
Log Debtor Sign-On to Notes |
Records a note to the debtor record whenever this debtor signs on to the consumer portal:
- 0 - Disabled (Default)
- 1 - Enabled
|
Transaction WHERE clause |
Leave Blank for default behavior, which is all Payment Transactions with the Omit from
Client Statement box unchecked. To further filter the query, you can add an additional
statement.
Example:
'tr_type in [101, 102, 110]'
|
Required Registration Fields |
You may optionally select which field(s) used to verify account ownership during
registration are required. |
Disabled Registration Fields |
You may optionally select which field(s) used to verify account ownership during
registration are disabled. |
Assign Review Contacts To |
This option specifies which operator review contacts are assigned to.
Review contacts are created when new records (Phone, Email, Address) are added by debtors on
their settings page.
If blank, review contacts are assigned to the debtor's collector.
If a Contact Plan is defined below for Phone, Email, or Address, then the plan will
execute instead of creating this review. |
Contact Plan - New Phone |
You may optionally select a contact plan to run when the user adds a new phone record.
If left undefined, the above review contact will be created by default. |
Contact Plan - New Email |
You may optionally select a contact plan to run when the user adds a new email record.
If left undefined, the above review contact will be created by default. |
Contact Plan - New Address |
You may optionally select a contact plan to run when the user adds a new address record.
If left undefined, the above review contact will be created by default. |
Contact Plan - Inactive Login |
You may optionally select a contact plan to run when a user whose mode on their debtor
account is NOT active attempts to log in.
If left undefined, the above review contact will be created by default. |
Display Grouped Accounts |
If this option is enabled, then debtors in the same group as the primary debtor account
will be listed under Linked Accounts on the home/accounts page. This will allow the user
to view the payment history and make payments on the grouped debtor accounts. |
Display Inactive Grouped Accounts |
If this option is enabled, then grouped debtor accounts whose mode is NOT active will be
listed under Linked Accounts. The primary debtor account will still need to be Active to
allow sign-on. This option will have no effect if Display Grouped Accounts is disabled. |
Check Payment - Transaction Type |
This option enables the check payment form on the payment screen and defines what
transaction type will be used when generating the check transaction. |
Contact Us - Client Phone Field |
You may optionally select a client field that will be used to fetch the Phone value on the
Contact Us page. The value will be fetched from the specified field of the client record
that owns the consumer account. If no value is selected or if the specified field is empty,
then the company -> support -> phone value from runtime-config.json will be used. |
Contact Us - Client Email Field |
You may optionally select a client field that will be used to fetch the Email value on the
Contact Us page. The value will be fetched from the specified field of the client record
that owns the consumer account. If no value is selected or if the specified field is empty,
then the company -> support -> email value from runtime-config.json will be used. |
User Documents Enabled |
This option specifies if the "My Documents" page is enabled for consumers. The My Documents
page allows consumers to download attachment records linked to their debtor record in Collect! |
User Documents Configuration |
This option specifies the criteria used to display attachment records on the My Documents
page. Consumers may only view/download files that match this criteria.
WARNING: If no criteria are specified, then all attachment records will be visible to consumers. |
TCN Chat Configuration
TCN account holders can link TCN Chat to their Collect! consumer portal to give their consumers
the opportunity to use chat bot and agent chat functions from their consumer portal.
Collect! Side Preparation
If not already done:
- Install the Collect! API as per How To Install The Rest API
- Install and configure the Consumer Portal as per the above instructions
TCN Side Preparation
Contact TCN for TCN Chat setup and training. TCN Chat provides a range of options for bot
responses and live agent chat.
Installing TCN Chat in the Collect! Consumer Portal
- Open your TCN Omniboss Dashboard and navigate to the X page
- locate X
- Copy the TCN Chat API Key to your clipboard
- Open your Collect! Consumer Portal and navigate to the runtime-config.js file. Add the
following code to the end of file and include your TCN APIKey and other configurations.
tcnConfig: {
apiKey: '{TCN API Key}',
url: 'chat.usa.tcn.com',
mainColor: '#2BA3BB',
headingColor: '#FFFFFF',
paragraphColor: '#000000',
}
You may have to use a different URL. Please contact TCN support to obtain the correct URL.
|
Was this page helpful? Do you have any comments on this document? Can we make it better? If so how may we improve this page.
Please click this link to send us your comments: helpinfo@collect.org