Table of Contents

About APNSCP

APNSCP, more recently known as ApisCP is a shared web hosting control panel known as the Apis Networks Control Panel. Learn more about APNSCP on their website at https://apnscp.com/.

Supported Features

CreateCancelSuspendUnsuspendManagementConfig Options
YES
YES
YES
YES
YES
NO

Management Features

This module supports the following management features within the client area:

  • SSO Control Panel Login
  • Change Password
  • View Disk and Bandwidth usage


Installing APNSCP

To install the APNSCP module, visit [Settings] > [Company] > [Modules] > Available, and click the "Install" button for APNSCP.

A message will be displayed, indicating that the module was successfully installed. Then click the "Add Server" button.

Enter the details for your APNSCP server.

Field NameDescription
Server LabelEnter a label for this APNSCP server, it can be anything you like.
HostnameEnter the FQDN hostname for your APNSCP server, ie "server1.domain.com".
PortEnter your APNSCP port, typically 2083.
API Key

Enter your APNSCP token, found under "Dev" > "API Keys".

Use SSL when connecting to the APICheck this option to use SSL for all API requests to your APNSCP server. This is highly recommended.
Account LimitEnter the maximum number of accounts that should be added to this APNSCP server.
Name ServersEnter the name servers that should be used for this server. These will be available to the package welcome email to the client.
NotesEnter any notes that pertain to this server for future reference.

After filling out these options, click "Add Server" to add your APNSCP server.

Server Groups

Server groups are useful for categorizing APNSCP servers. When creating a Package, a specific server, or a server group may be selected for provisioning. Blesta will automatically select an APNSCP server to provision with when a server group is chosen.

To add a server group, from the APNSCP overview at  [Settings] > [Company] > [Modules] > APNSCP, click "Add Server Group", then enter the details.


OptionDetails
Group Name

Enter the name for this server group.

Add OrderChoose how servers in this group will be selected for provisioning. Currently, first non-full server is the only add order.
Assigned ServersSelect servers under "Available Servers" and click to move them to the left column to add them to the group.

Creating Packages

Packages define the pricing, welcome email, module and more. Packages can be assigned to Package Groups, and added to Order Forms. To create a Package, visit [Packages] > Browse, and click the "Create Package" button.

Creating a Package consists of several sections:

Basic

The Basic section consists of the following options:

Field NameDescription
Package NameEnter the name of this Package, it will be visible wherever services are listed and on any order forms.
Status"Active" is the default, "Inactive", and "Restricted" are also available.
Quantity AvailableIf this Package has a limited quantity available, enter the quantity, or leave it as "Unlimited".
Use renewal prices for package upgradesWhen enabled, upgrading to this package will use renewal prices if they are set. The same will apply to any configurable options that are altered in the upgrade. The regular price will be used if this setting is disabled.
DescriptionEnter a Description for this Package. HTML is allowed, and descriptions appear on order forms.
Configurable OptionsA Configurable Option Group may be selected if previously created, but this module does not support configurable options during provisioning.
ModuleSelect "APNSCP" for the module.

Module Options

The Module Options section consists of the following options, which are specific to APNSCP:

Field NameDescription
Server GroupSelect "Any" if you wish to specify a specific server, or select the Server Group to provision from. Selecting a group means that accounts will be provisioned from the group. Selecting a group is recommended.
APNSCP PackageSelect the APNSCP Package to use when configuring accounts. 

Pricing

Field NameDescription
TermEnter the term for the desired pricing option. For example, if you wish to create a 3 month pricing option, enter 3 here.
PeriodSelect the period for this pricing option. "Day", "Week", "Month", "Year", and "One time" are options. The client will be invoiced every "term period", for example every 3 months if 3 is entered for term, and Month is selected for period.
CurrencySelect the currency this pricing option is available for.
PriceEnter the price for this pricing option.
Setup FeeIf there is a setup fee, enter it here.
Cancellation FeeIf there is a fee to cancel early, enter it here.

Click the "Add Additional Price" to add more pricing options. It's common for people to create 1 Month, 3 Month, 6 Month, and 1 Year price options. There are many possible combinations.

Welcome Email

The "Tags" section describes tags that may be used in the welcome email. The welcome email content is inserted into the "Service Creation" email template under [Settings] > [Company] > [Emails] > Service Creation. Only details unique to this service should be entered into the welcome email section for the package.

Sample Email

This sample email could be used in the Package Welcome Email section to help you get started. Be sure to enter content for your welcome email in both the HTML and Text sections.

Your hosting account details are below!

Domain: {service.apnscp_domain}
Username: {service.apnscp_username}
Password: {service.apnscp_password}

To log into your control panel please visit https://{module.host_name}:2083.
Please update your name servers as soon as possible to the following:

{% for name_server in module.name_servers %}
Name server: {name_server}{% endfor %}

Thank you for your business!

When creating or editing a package that uses this module, the following tags will be available:

TagsDescriptionNotes
{module.host_name}The host name of the server that the service was provisioned one.g. "domain.com"
{module.name_servers}An array of available name servers for this module

Array elements must be looped over in the email template. See below for an example.

{package.package}The package meta package namee.g. "Bronze"
{service.apnscp_username}The service field for the APNSCP account username
{service.apnscp_password}The service field for the APNSCP account password
{service.apnscp_domain}The service field for the APNSCP domaine.g. "domain.com"

Due to the nature of tag objects containing several fields, many of which are likely irrelevant for use in email templates, but may be useful to you in certain circumstances, a dump of the tags are shown below.

The {module} object
stdClass Object
(
    [host_name] => domain.com
    [name_servers] => Array
        (
            [0] => ns1.domain.com
            [1] => ns2.domain.com
		)
 )
The {package} object
stdClass Object
        (
            [id] => 2
            [id_format] => {num}
            [id_value] => 2
            [id_code] => 2
            [module_id] => 3
            [name] => APNSCP Hosting
            [description] => 
            [description_html] => 
            [qty] => 
            [module_row] => 2
            [module_group] => 
            [taxable] => 0
            [single_term] => 0
            [status] => active
            [company_id] => 1
            [prorata_day] => 
            [prorata_cutoff] => 
            [upgrades_use_renewal] => 1
            [email_content] => Array
                (
                    [0] => stdClass Object
                        (
                            [lang] => en_us
                            [html] => <p>Your hosting account details are below!</p>

<p>Domain: {service.apnscp_domain}<br />
Username: {service.apnscp_username}<br />
Password: {service.apnscp_password}</p>

<p>To log into your control panel please visit https://{module.host_name}:2083.<br />
Please update your name servers as soon as possible to the following:</p>

<p>{% for name_server in module.name_servers %}<br />
Name server: {name_server}{% endfor %}</p>

<p>-- debug --</p>

<p>{% debug %}</p>

                            [text] => Your hosting account details are below!

Domain: {service.apnscp_domain}
Username: {service.apnscp_username}
Password: {service.apnscp_password}

To log into your control panel please visit https://{module.host_name}:2083.
Please update your name servers as soon as possible to the following:

{% for name_server in module.name_servers %}
Name server: {name_server}{% endfor %}

-- debug --

{% debug %}
                        )

                )
The {service} object
stdClass Object
        (
            [id] => 2
            [parent_service_id] => 
            [package_group_id] => 3
            [id_format] => {num}
            [id_value] => 2
            [pricing_id] => 2
            [client_id] => 1
            [module_row_id] => 2
            [coupon_id] => 
            [qty] => 1
            [override_price] => 
            [override_currency] => 
            [status] => active
            [suspension_reason] => 
            [date_added] => 2019-12-16 21:34:40
            [date_renews] => 2020-01-16 21:34:40
            [date_last_renewed] => 
            [date_suspended] => 
            [date_canceled] => 
            [id_code] => 2
            [fields] => Array
                (
                    [0] => stdClass Object
                        (
                            [key] => apnscp_domain
                            [value] => domain.com
                            [serialized] => 0
                            [encrypted] => 0
                        )

                    [1] => stdClass Object
                        (
                            [key] => apnscp_password
                            [value] => password1728
                            [serialized] => 0
                            [encrypted] => 1
                        )

                    [2] => stdClass Object
                        (
                            [key] => apnscp_username
                            [value] => domaincom
                            [serialized] => 0
                            [encrypted] => 0
                        )

                )

            [options] => Array
                (
                )

            [package_pricing] => stdClass Object
                (
                    [id] => 2
                    [package_id] => 2
                    [pricing_id] => 2
                    [term] => 1
                    [period] => Month
                    [price] => 3.5000
                    [price_renews] => 3.5000
                    [setup_fee] => 0.0000
                    [cancel_fee] => 0.0000
                    [currency] => USD
                )

            [package] => stdClass Object
                (
                    [id] => 2
                    [id_format] => {num}
                    [id_value] => 2
                    [id_code] => 2
                    [module_id] => 3
                    [name] => APNSCP Hosting
                    [description] => 
                    [description_html] => 
                    [qty] => 
                    [module_row] => 2
                    [module_group] => 
                    [taxable] => 0
                    [single_term] => 0
                    [status] => active
                    [company_id] => 1
                    [prorata_day] => 
                    [prorata_cutoff] => 
                    [upgrades_use_renewal] => 1
                    [email_content] => Array
                        (
                            [0] => stdClass Object
                                (
                                    [lang] => en_us
                                    [html] => <p>Your hosting account details are below!</p>

<p>Domain: {service.apnscp_domain}<br />
Username: {service.apnscp_username}<br />
Password: {service.apnscp_password}</p>

<p>To log into your control panel please visit https://{module.host_name}:2083.<br />
Please update your name servers as soon as possible to the following:</p>

<p>{% for name_server in module.name_servers %}<br />
Name server: {name_server}{% endfor %}</p>

<p>-- debug --</p>

<p>{% debug %}</p>

                                    [text] => Your hosting account details are below!

Domain: {service.apnscp_domain}
Username: {service.apnscp_username}
Password: {service.apnscp_password}

To log into your control panel please visit https://{module.host_name}:2083.
Please update your name servers as soon as possible to the following:

{% for name_server in module.name_servers %}
Name server: {name_server}{% endfor %}

                                )

                        )

                    [pricing] => Array
                        (
                            [0] => stdClass Object
                                (
                                    [id] => 2
                                    [pricing_id] => 2
                                    [package_id] => 2
                                    [term] => 1
                                    [period] => month
                                    [price] => 3.5000
                                    [price_renews] => 3.5000
                                    [setup_fee] => 0.0000
                                    [cancel_fee] => 0.0000
                                    [currency] => USD
                                )

                        )

                    [meta] => stdClass Object
                        (
                            [package] => basic
                        )

                    [groups] => Array
                        (
                            [0] => stdClass Object
                                (
                                    [id] => 3
                                    [type] => standard
                                    [name] => Shared Hosting
                                    [description] => 
                                    [company_id] => 1
                                    [allow_upgrades] => 1
                                    [names] => Array
                                        (
                                            [0] => stdClass Object
                                                (
                                                    [lang] => en_us
                                                    [name] => Shared Hosting
                                                )

                                        )

                                    [descriptions] => Array
                                        (
                                        )

                                )

                        )

                    [option_groups] => Array
                        (
                        )

                    [plugins] => Array
                        (
                        )

                    [names] => Array
                        (
                            [0] => stdClass Object
                                (
                                    [lang] => en_us
                                    [name] => APNSCP Hosting
                                )

                        )

                    [descriptions] => Array
                        (
                            [0] => stdClass Object
                                (
                                    [lang] => en_us
                                    [html] => 
                                    [text] => 
                                )

                        )

                )

            [name] => blesta.biz
            [apnscp_domain] => domain.com
            [apnscp_password] => password1234
            [apnscp_username] => domaincom
        )
Displaying Name Servers in the Welcome Email

The {module.name_servers} tag must be iterated over to display the name servers. Email tag usage is elaborated upon on the Customizing Emails page.

Consider an example where the module has two name servers set, named "ns1.domain.com" and "ns2.domain.com". The following can be added to the email template to output the name servers:

{% for name_server in module.name_servers %}
Name server: {name_server}{% endfor %}

The welcome email will display this as:

Name server: ns1.domain.com
Name server: ns2.domain.com

Group Membership

If this is the first Package you are creating with this module, select the "Create a New Group" option, and enter a Group name. If you are adding a subsequent Package and wish for it to be part of the same group, select "Select from Available Groups", and move the group from the right to the left of the multi-select box.

When finished, click "Create Package" to create this package.

Final Steps

The only thing left to do is to add this Package Group to an order form so clients may place orders for your APNSCP servers. See Creating an Order Form for more details.




  • No labels