Docs for all releases
View User Guide 3.26 or visit our current documentation home page.
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.json. If 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:
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.
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] |
billingUrl | URL of the billing system. As it is accessible from the Client Panel host | "https://127.0.0.1" |
companiesId | ID 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.url | URL of the Core API service | "http://127.0.0.1:3080" |
coreApi.authToken | Authorization token for the Core API service. You can get this token in the System/Users section | "PW2Ln6PSS3vpmmZrCQBV5of2NO7jJbcU" |
managementApi.url | URL of the Management API | "https://127.0.0.1/jsonrpc" |
managementApi.login | Login 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.password | Password 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 |
---|---|---|
locale | Default locale to start with. Available settings: en, ru | "en" |
perPage | Quantity of rows to display per page. Allowed values: an integer from 1 to 1000 | 10 |
roundRates | Quantity of digits after the decimal point for display of rates. Allowed values: an integer from 0 to 16 | 4 |
roundAmounts | Quantity 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 |
---|---|---|
enabled | Defines 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 |
sandbox | Defines if the Sandbox mode is enabled. Allowed values: true, false | false |
allowCustom | Defines if the custom amount payments are allowed. Allowed values: true, false | true |
clientId | PayPal Client ID | [email protected] |
feesPayer | Describes who pays fees for the transaction. Allowed values: provider, client | provider |
clientSecret | PayPal Client Secret Key | |
itemName | Item name displayed in the PayPal order | "Credit Your Balance Item" |
orderDescription | Order 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 |
---|---|---|
enabled | Defines 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 |
sandbox | Defines if the Sandbox mode is enabled. Allowed values: true, false | false |
allowCustom | Defines 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 |
|
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 |
---|---|---|
queryOnOpen | Defines 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 90 | 3 |
columns | List 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 |
---|---|---|
queryOnOpen | Defines 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 |
columns | List 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.hostname | The hostname or IP address to use for connecting to the Redis server. | "localhost" |
redisMain.port | The port to use for connecting to the Redis server. | 6379 |
redisMain.database | The Redis database to use. | 1 |
redisCache.hostname | The hostname or IP address to use for connecting to the Redis server. | "localhost" |
redisCache.port | The port to use for connecting to the Redis server. | 6379 |
redisCache.database | The Redis database to use. | 2 |