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.
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.
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 | "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.
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" |
currenciesId | Currency ID | 26 |
currencyCode | Name 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 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 |
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 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 |
apiKey | USAePay API Key | |
apiPin | USAePay API Pin |
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 |
environment.httpTimeout | The timeout for all requests that Portal Frontend sends to Portal Backend | 30000 |