Skip to main content
Version: 3.26

Panel configuration

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:

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

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 nameDescriptionExample
amountOptionsArray 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 Panel3
currenciesIdCurrency ID (as per your system configuration) for the payments received from the specific Payment Gateway. Required2
currencyCodeCurrency code of the Payment Gateway to charge payments in (declared by the gateway itself)USD
logFilePath to the Client Panel log file"/opt/jerasoft/vcs-data/log/cp.log"
openedEndpointURL 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"
paymentAccountsIdPayment Accountโ€™s ID as per your system configuration1

Output Formattingโ€‹

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

Setting nameDescriptionExample
localeDefault locale to start with"en"
perPageQuantity of rows to display per page. Allowed values: an integer from 1 to 100010
roundRatesQuantity of digits after the decimal point for display of rates. Allowed values: an integer from 0 to 164
roundAmountsQuantity of digits after the decimal point for display of amounts. Allowed values: an integer from 0 to 162

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.

Setting nameDescriptionExample
monthFormatFormat string to display "Month Year" strings"F Y"
dateFormatFormat string to display dates"m/d/Y"
dateTimeFormatFormat 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 nameDescriptionExample
enabledDefines if the payment gateway is enabled. Allowed values: true, false. Do not forget to enable gateway in the respective section of the billing systemtrue
sandboxDefines if the Sandbox mode is enabled. Allowed values: true, falsefalse
allowCustomDefines if the custom amount payments are allowed. Allowed values: true, falsetrue
clientIdPayPal Client ID[email protected]
feesPayerDescribes who pays fees for the transaction. Allowed values: provider, clientprovider
clientSecretPayPal Client Secret Key
itemNameItem name displayed in the PayPal order"Credit Your Balance Item"
orderDescriptionOrder description displayed in the PayPal"Credit Your Balance"
currenciesIdCurrency ID26
currencyCodeName of currency"USD"

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 nameDescriptionExample
enabledDefines if the payment gateway is enabled. Allowed values: true, false. Do not forget to enable gateway in the respective section of the billing systemtrue
sandboxDefines if the Sandbox mode is enabled. Allowed values: true, falsefalse
allowCustomDefines if the custom amount payments are allowed. Allowed values: true, falsetrue
apiLoginIdAuthorize.Net API Login ID
apiTransactionKeyAuthorize.Net API Transaction Key

Payment Gateways: USAePayโ€‹

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

Setting nameDescriptionExample
enabledDefines if the payment gateway is enabled. Allowed values: true, false. Do not forget to enable gateway in the respective section of the billing systemtrue
sandboxDefines if the Sandbox mode is enabled. Allowed values: true, falsefalse
allowCustomDefines if the custom amount payments are allowed. Allowed values: true, falsetrue
apiKeyUSAePay API Key
apiPinUSAePay API Pin
warning

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 nameDescriptionExample
dateRangeDefaultDefault dates range in the filter, in days. Allowed values: an integer from 1 to 9030

Section: Usage History / Detailedโ€‹

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

Setting nameDescriptionExample
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, falsetrue
dateRangeDefaultDefault dates range in the filter, in days. Allowed values: integer 1 to 903
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 nameDescriptionExample
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, falsetrue
dateRangeDefaultDefault dates range in the filter, in days. Allowed values: integer 1 to 18090
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 nameDescriptionExample
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 server6379
redisMain.databaseThe Redis database to use1
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 server6379
redisCache.databaseThe Redis database to use2
environment.httpTimeoutThe timeout for all requests that Portal Frontend sends to Portal Backend30000