This documentation relates to an earlier version of JeraSoft VCS.
View User Guide 3.24 or visit our current documentation home page.
In this article

Configuration File

The next step is to tune Client Panel settings. If you are using default deployment, the configuration is located at /opt/jerasoft/vcs-data/conf/cp-customer-params.json. If you are moving the panel to the other host, the file should be located in <YOUR-PATH>/portal-backend/config/customer-params.json.

During the installation process, the file is pre-created with all general settings like billing credentials, tokens, etc. At the same time there is a set of parameters that can be configured like:

  • Payment gateway credentials
  • Default locale and output settings
  • Date and time formatting options
  • Rates and costs rounding

To simplify the process, your deployment provides the /opt/jerasoft/vcs/portal-backend/config/customer-params.default.json file. This file has all the available settings with their default values. You do not need to change this file, it is provided as a reference.

Warning

Do not edit default configuration at /opt/jerasoft/vcs/portal-backend/config/customer-params.default.jsonIf you need to change configuration parameters just add them to /opt/jerasoft/vcs-data/conf/cp-customer-params.json.

Per Reseller Configuration

The structure of your configuration file allows you to have different settings for different Resellers in the system. By default, the file contains a single section called "default" with all custom settings. If you want to have multiple Client Panels (for example, separated by domain names), you need to add another section with a simple distinguishable name and put all related settings in this section. The name may consist of Latin characters, numbers, minus and underscore characters

After that, you need to pass this name from your web-server to the panel using FastCGI parameter called "CONFIG_ID". It will tell panel which part of config to read to display a related Client Panel. If you are using nginx as your web server, use the following statement to pass the parameters:

Nginx Config
fastcgi_param CONFIG_ID "special";

Additionally, in the admin panel of the billing system, you'll need to add a User for each Reseller in the System→Users section. For each such user, set the API - Client Portal Role. From settings set up there, you will also get a login, password, and CoreAPI token values for the customer-params.json file.

(warning)   Attention

Please note that for correct work each Reseller has to have its own separate redis databases (redisMain and redisCache are at db 1 and 2 respectively by default)Redis instance supports 16 databases (0-15 in numeric values) by default. You can increase the number of available databases in Redis config if needed.

Configuration Options

As mentioned above, you can use /opt/jerasoft/vcs/portal-backend/config/customer-params.default.json file as a reference for all available parameters. The table below describes each of them. Please put all settings into your config file and do not change customer-params.default.json as it will be overwritten on the system update.

General Settings

Setting Name

Description

Example

amountOptions

Array of available amounts for a top-up in the list to select.

[5, 20, 50, 100]
billingUrlURL of the billing system. As it is accessible from the Client Panel host
"https://127.0.0.1"
companiesIdID of the Reseller for the Client Panel
3
currenciesId

Currency ID (as per your system configuration) for the payments received from the specific Payment Gateway. Required.

2
currencyCode

Currency code of the Payment Gateway to charge payments in (declared by the gateway itself).

USD

logFile

Path to the Client Panel log file

"/opt/jerasoft/vcs-data/log/cp.log"
openedEndpoint

URL of the Client Panel (without "/" at the end). This URL will be used to return clients to after processing of the payment by the Payment Gateways

"http://127.0.0.1"
coreApi.urlURL of the Core API service
"http://127.0.0.1:3080"
coreApi.authTokenAuthorization token for the Core API service. You can get this token in the System/Users section
"PW2Ln6PSS3vpmmZrCQBV5of2NO7jJbcU"
managementApi.urlURL of the Management API
"https://127.0.0.1/jsonrpc"
managementApi.loginLogin of the user used for the integration. You need to have a dedicated user for the integration, use the same user for the Core API service and Management API
"api-client-portal"
managementApi.passwordPassword of the user used for the integration
"aqGW31oxHag8"
paymentAccountsId

Payment Account’s ID as per your system configuration.

1

Output Formatting

The following settings are located under "defaults" key of the configuration file.

Setting Name

Description

Example

localeDefault locale to start with. Available settings: en, ru
"en"
perPageQuantity of rows to display per page. Allowed values: an integer from 1 to 1000
10
roundRatesQuantity of digits after the decimal point for display of rates. Allowed values: an integer from 0 to 16
4
roundAmountsQuantity of digits after the decimal point for display of amounts. Allowed values: an integer from 0 to 16
2

Date and Time Formatting

The following settings are located under "dateTimeConfig" key of the configuration file. Please refer to the following guide for a list of possible values.

Date and Time Formatting [section: dateTimeConfig]

Setting Name

Description

Example

monthFormat
Format string to display "Month Year" strings
"F Y"
dateFormat
Format string to display dates
"m/d/Y"
dateTimeFormat
Format string to display dates with time
"m/d/Y, h:i A"

Payment Gateways: PayPal

The following settings are located under "paymentGateways.paypal" key of the configuration file. Check your PayPal panel for the required parameters. Get more details.

Setting Name

Description

Example

enabledDefines if the payment gateway is enabled. Allowed values: true, false. Do not forget to enable gateway in the respective section of the billing system
true
sandboxDefines if the Sandbox mode is enabled. Allowed values: true, false
false
allowCustomDefines if the custom amount payments are allowed. Allowed values: true, false
true
clientId

PayPal Client ID

[email protected]
feesPayerDescribes who pays fees for the transaction. Allowed values: provider, client
provider
clientSecret

PayPal Client Secret Key


itemNameItem name displayed in the PayPal order
"Credit Your Balance Item"
orderDescriptionOrder description displayed in the PayPal
"Credit Your Balance"

Payment Gateways: Authorize.Net

The following settings are located under "paymentGateways.authorizenet" key of the configuration file. Check your Authorize.Net panel for the required parameters. Get more details.

Setting Name

Description

Example

enabledDefines if the payment gateway is enabled. Allowed values: true, false. Do not forget to enable gateway in the respective section of the billing system
true
sandboxDefines if the Sandbox mode is enabled. Allowed values: true, false
false
allowCustomDefines if the custom amount payments are allowed. Allowed values: true, false
true
apiLoginId

Authorize.Net API Login ID


apiTransactionKey

Authorize.Net API Transaction Key


apiSignatureKey
Authorize.Net API Signature Key


(warning)   Attention

Payment Gateways integration requires a proper domain name and real SSL certificate. Please check the Panel Deployment guideline to get more information.

Section: Charges History & Payments History 

The following settings are located under "modules.transactionList" key of the configuration file. 

Setting Name

Description

Example

dateRangeDefault
Default dates range in the filter, in days. Allowed values: an integer from 1 to 90
30

Section: Usage History / Detailed

The following settings are located under "modules.reportXdrs" key of the configuration file. 

Setting Name

Description

Example

queryOnOpenDefines if the report should be run right after section open. If set to false, the user will have to hit Query to get the report. Use this option if you have plenty of data to load. Allowed values: true, false
true
dateRangeDefaultDefault dates range in the filter, in days. Allowed values: integer 1 to 90
3
columnsList of columns to display. Allowed values: origin, dt, accounts_name, cc_serial, clients_tags, accounts_tags, tags, code_country, code_name, code, src_code_country, src_code_name, src_code, volume, volume_billed, package_volume, package_credit, packages_id, packages_name, currencies_id, pay_setup, cost, rate, taxes, subscriber_host, subscriber_id, result_code, result_status, switch_code, start_time, connect_time, finish_time, pdd, scd, src_party_id, dst_party_id, src_party_id_ext, dst_party_id_ext, src_party_id_bill, dst_party_id_bill, voip_hosts_id, voip_hosts_name, voip_hosts_collectors_id, services_name, units_id, session_id, x_id, xdrs_id, uniq_id, custom, xdrs_extra, status
["origin", "src_party_id"]

Section: Usage History / Summary

The following settings are located under "modules.reportSummary" key of the configuration file. 

Setting Name

Description

Example

queryOnOpenDefines if the report should be run right after section open. If set to false, the user will have to hit Query to get the report. Use this option if you have plenty of data to load. Allowed values: true, false
true
dateRangeDefault
Default dates range in the filter, in days. Allowed values: integer 1 to 180
90
columnsList of columns to display. Allowed values: origin, services_name, units_id, currencies_id, cost_total, pay_setup_cost, rate_avg, package_credit, volume_total, volume_billed, package_volume, records_total, records_notzero, records_success, records_busy, records_nochannel, records_error, asr_std, asr_cur, acd_std, acd_cur, pdd_avg, scd_avg
["origin", "services_name"]

Additional Settings

The following settings are located at the top level of the configuration section.

Setting Name

Description

Example

redisMain.hostnameThe hostname or IP address to use for connecting to the Redis server.
"localhost"
redisMain.portThe port to use for connecting to the Redis server.
6379 
redisMain.databaseThe Redis database to use.
1
redisCache.hostnameThe hostname or IP address to use for connecting to the Redis server.
"localhost"
redisCache.portThe port to use for connecting to the Redis server.
6379 
redisCache.databaseThe Redis database to use.
2
  • No labels