CoreInto

Hosting provisioning automation from order to termination

CoreInto creates the hosting account when the order is paid, suspends it with a reason when an invoice goes unpaid, unsuspends it on payment, changes the package on upgrade and terminates it on cancellation, through the intoPanel and cPanel & WHM modules.

Service lifecycle circle from order to active, suspended and terminated with two server modules

What the server modules do for you

Two server modules are built in, intoPanel and cPanel & WHM, and both support the same set of actions. A product can instead use the Licensing Manager and issue a licence key with no server at all.

  • Servers and server groups

    Settings > Servers holds each server's address, port and token with a test button; groups let a product point at a set of servers rather than one machine.

  • Create on order, payment or acceptance

    Choose per product whether the account is created when the order is placed, when the first invoice is paid, or when a staff member accepts the order.

  • Suspend with a reason, unsuspend on payment

    Overdue services are suspended through the module with a reason the client sees; paying the invoice unsuspends them without a ticket.

  • Change package, change password

    Upgrades and downgrades call change package on the server; a password change from the client area is passed straight to the panel.

  • Usage and sign-in to the panel

    Disk and bandwidth are read from the server and shown on the service page, and a client can sign in to their control panel from the same page.

  • Pending actions and a module log

    Actions a server could not complete wait in Utilities > Pending Module Actions and are retried; the module log records every call with secrets hidden.

The life of a service

  1. Order

    A client orders a product with its options and add-ons in the store, or staff add the order; fraud check hooks run and the order gets a status.

  2. Create

    On order, payment or acceptance, CoreInto calls the server module to create the account on a server in the product's group and emails the welcome message with the details.

  3. Renew

    The next due date advances each term; the daily run generates the renewal invoice ahead of it and reminders follow. Fixed-term services end instead of renewing.

  4. Suspend and unsuspend

    An unpaid invoice past the grace period suspends the account with a reason through the module; payment unsuspends it and moves the due date forward.

  5. Change

    An upgrade or downgrade along the product's paths calls change package, with proration on the invoice; a cancellation request records what the client wants and when.

  6. Terminate

    At the end of a cancellation, a fixed term or the termination period for non-payment, the module terminates the account and the service is marked terminated.

intoPanel module and cPanel & WHM module

CapabilityintoPanel modulecPanel & WHM module
Connection/api/v1 with a Bearer token, port 7443WHM API 1 token, port 2087
Test the connection and read packagesYesYes
Create an accountYesYes
Suspend with a reason and unsuspendYesYes
TerminateYesYes
Change packageYesYes
Change passwordYesYes
Read disk and bandwidth usageYesYes
Sign in to the panel from the service pageYesYes

Both modules are included with every plan. intoPanel is CoreInto's sister control panel for AlmaLinux; StackRegent is the sister panel for Windows Server.

Provisioning features at a glance

  • Server list and server groups with connection tests
  • intoPanel module: /api/v1, Bearer token, port 7443
  • cPanel & WHM module: WHM API 1 token, port 2087
  • Create, suspend with reason, unsuspend, terminate, change package, change password
  • Disk and bandwidth usage on the service page
  • Sign in to the panel from the client and admin service pages
  • Automatic set-up on order, on payment or on acceptance
  • Fixed terms, upgrade and downgrade paths with proration
  • Cancellation requests from the client area
  • Pending Module Actions queue with retries
  • Module log with secrets hidden
  • Products with configurable options, add-ons, bundles and stock control

Server groups and automatic account placement

Provisioning starts with Settings > Servers. Each server has a name, an address, the module it runs, the port and the token that module needs, and a test button that proves CoreInto can reach it before any client depends on it. The intoPanel module talks to /api/v1 on port 7443 with a Bearer token; the cPanel & WHM module uses a WHM API 1 token on port 2087. Reading the packages from a server is part of the same page, so the package names a product uses are chosen from a list rather than typed.

Servers are collected into groups, and a product points at a group rather than a single machine. When an account is created, CoreInto picks a server in the group, which is how a hosting company adds a second or third server without touching its products: add the server, put it in the group, and new orders start landing there. A reseller product can use a different group from a shared one, and a VPS or dedicated product can use no server at all.

The server page also records what the server reports. Disk and bandwidth read through the module appear on each service page, for staff and for the client, and the module log under the logs keeps every call made to every server with secrets hidden, so a failed creation can be traced to the server's exact answer. Because the tokens are encrypted with the key kept in your configuration file, a copy of the database on its own does not give away access to your servers, and renaming the admin folder and requiring two-step sign-in for staff keeps the pages that hold them behind a second barrier.

intoPanel and cPanel & WHM modules: what each one does

Both server modules implement the same list of actions, so a product behaves the same way whichever panel sits behind it. Test confirms the connection and credentials. Read packages lists the hosting packages defined on the panel so a product can be matched to one. Create makes the account with the username, password, domain and package from the order. Suspend takes a reason and shows it on the client's service page; unsuspend reverses it. Terminate removes the account. Change package applies an upgrade or downgrade. Change password passes a new password set by the client or staff to the panel. Read disk and bandwidth fetches usage for the service page, and sign in to the panel opens the client's control panel from CoreInto.

The intoPanel module speaks to CoreInto's sister panel for AlmaLinux through its /api/v1 interface with a Bearer token on port 7443. The cPanel & WHM module speaks WHM API 1 with a token on port 2087, so an existing cPanel server joins CoreInto by creating an API token in WHM and pasting it on the server page. Nothing is installed on the server for either module.

Setting a product up to use a module is a short section of the product's settings: pick the module, pick the server group, choose the package by name from the list the module read, and decide when the account is created. A product that sells software rather than hosting uses the Licensing Manager module in the same place, and CoreInto issues a licence key instead of calling a server. Products that need no automation, such as a dedicated server set up by hand, use no module, and staff mark the service active when the work is done.

Automatic account creation on order, payment or acceptance

When an account is created is a product-level choice, and each option suits a different business. Create on order makes the account the moment the order is placed, which is right for free products and for trials where speed matters more than the risk of a non-paying signup. Create on payment waits until the first invoice is paid, the choice most hosting companies make because the account exists only once money has arrived. Create on acceptance leaves the decision to a staff member, who reviews the order, perhaps after a fraud check, and accepts it; the order page offers to create the accounts on the server at the same time.

The order page is where staff see the whole picture: the products with their options and add-ons, domains to register or transfer, the invoice, the client and the fraud check result, with actions to accept, cancel or mark the order as fraud. Order statuses are configurable, and order emails tell the client what happened at each stage from a template you can edit.

Creation itself is one module call. CoreInto generates the username and password, chooses a server in the product's group, sends the create action with the package name, and on success marks the service active and sends the welcome email with the sign-in details. On failure the action goes to Pending Module Actions and the service stays pending, so the client is not told their account is ready until it is. Staff can retry from the queue once the server answers, or create the account by hand on the server and mark the service active, and the module log shows exactly what the server said when the first attempt failed.

Suspend with a reason and unsuspend on payment

Suspension in CoreInto always carries a reason. When the daily run suspends a service for an unpaid invoice, the reason says so, and the client sees it on their service page beside a button that leads to the unpaid invoice; My Services opens with tiles for active, pending and suspended services and a notice when anything is suspended. Staff who suspend by hand type their own reason, whether for abuse, a chargeback or a request from the client, and the same reason appears to the client and in the activity log.

The module does the work on the panel. Suspend is passed to intoPanel or WHM with the reason, so the panel's own suspension page shows why the account is off, and the account's sites and mail stop answering as the panel decides. Unsuspend is the mirror action, called when the invoice is paid, whether by card capture, a gateway, credit or a payment recorded by staff. There is no ticket, no delay beyond the module call, and the client gets the unsuspension email from its template.

Timing comes from Automation Settings: the number of days after the due date at which an unpaid service is suspended, and the later day on which it is terminated. The suspension and termination tasks appear on Automation Status with their last run. Where a server cannot be reached at that moment, the action waits in Pending Module Actions and is retried, so a server reboot during the nightly run does not leave a client's account in the wrong state. Settings that govern services and emails about services are documented in the manual's Services and servers chapter, so the exact messages a client receives at each step can be reviewed before you go live.

Upgrades, downgrades and change package with proration

A client who outgrows a plan should be able to move up without a ticket, and CoreInto handles this with upgrade and downgrade paths. Each product lists the products a client may move to, and the client's service page offers those as upgrade options. Choosing one creates an invoice for the difference, prorated for the time left in the current term, and paying it calls change package on the module so the panel applies the new package to the existing account with its files and mail untouched.

Configurable options and add-ons follow the same route. A product with options, say disk space or the number of databases, lets the client change an option from the service page, and the price difference is prorated on an invoice. Service add-ons under Clients > Service Add-ons are extra billable items attached to a service, with their own terms and prices, and staff can add or remove them. Bundles sell several products together at one price, and stock control shows how many are left and marks a product “Out of stock” at zero, which matters for dedicated servers and other limited items.

Renewal dates and proration are described in the Billing chapter, and the rule is simple: the service keeps its due date, and a change in the middle of a term is charged for the remaining fraction. Staff can also change the package from the admin service page, with or without an invoice, which is the usual way to honour a free upgrade. The module log records the change package call and the server's answer, and the service's product and price are updated so the next renewal invoice is for the new plan.

Fixed terms, cancellation requests and termination

Most hosting services renew until someone stops them, but some should end on a date. A fixed-term service runs for its term and is then terminated by the daily run rather than invoiced again, which suits a project site, a trial that must not become a subscription, or a contract with an agreed end. The service page shows the end date to the client and to staff, and the emails about services tell the client before it arrives.

Cancellation requests are how clients end a service themselves. From the service page a client asks for cancellation either immediately or at the end of the current term, with a reason. The request appears under Clients > Cancellation Requests for staff to see and, where the product allows, is carried out automatically: an immediate request terminates through the module and marks the service cancelled, an end-of-term request stops the renewal invoice from being generated and terminates when the term ends. Staff can also cancel a service from the admin page at any time.

Termination is the module action that removes the account from the server, and CoreInto treats it carefully. It happens at the end of a cancellation, at the end of a fixed term, or when an unpaid service passes the termination period set in Automation Settings; the invoice for a terminated unpaid service is cancelled so the client's account does not carry a debt for a product they no longer have. The service is marked terminated rather than deleted, so its history, invoices and tickets remain on the client page, and the module log shows the terminate call and the server's answer.

Pending module actions queue and the module log

Servers are not always reachable at the moment CoreInto needs them. Rather than fail the order or leave a client suspended, every module action that cannot be completed is placed in Utilities > Pending Module Actions. The queue lists the service, the action, when it was first attempted and the server's last answer, and the frequent tasks of the cron job retry it on each run. Staff can open the queue, run an action again now, or remove an action that should not happen because the matter was handled another way.

Automation tasks that touch services are listed in the manual's Services and servers chapter, and they all go through the same queue: creation after payment, suspension and termination for non-payment, change package after an upgrade invoice is paid, and termination at the end of a term. Because the queue is shared, a server outage during the nightly run produces a list of waiting actions rather than a list of complaints, and a staff member can see at a glance what will happen when the server returns.

The module log is the other half. Every call to every server, whether it succeeded or failed, is recorded with the action, the service, the server, the time and the answer, and secrets such as tokens and passwords are hidden in the record. It sits alongside the activity, email, gateway, API and admin logs, so a client's question about why their account was unavailable can be answered from the records rather than from memory. Staff can also run any action by hand from the admin service page, and that call is logged the same way.

Products with configurable options, add-ons, bundles and stock

Automation is only as good as the catalogue behind it. Settings > Products/Services holds product groups and products of several kinds: shared hosting, reseller, VPS or server, software licence and other. Each product carries per-term prices from monthly to triennial, one-time or free, a setup fee, the module and server group it provisions on, and whether it is featured in the store. Free domain with hosting is set here, as are the upgrade and downgrade paths and the stock count.

Configurable options let one product cover several sizes. An option such as disk space, number of websites or backup frequency has choices with their own prices, and the client picks at checkout; the choice is recorded on the service and passed to the module where the panel package depends on it. Product add-ons are separate billable items sold with a product, such as a dedicated IP address or a priority support plan, with their own terms and prices. Bundles put several products together at a bundle price so a hosting plan and a licence can be sold as one order.

Promotions and stock complete the picture. Promotions apply a discount by code or automatically, with the usual limits on products, terms and dates. Stock control sets a count on a product and removes it from the store when the count runs out, which prevents selling a dedicated server you do not have. The store itself is the client's view of all this: groups as menu entries, products with their prices per term, a cart that holds products and domains together, and checkout that creates the order the automation then carries through to a working account.

Frequently asked questions

Which control panels can CoreInto provision on?

Two server modules are built in. The intoPanel module uses intoPanel's /api/v1 interface with a Bearer token on port 7443. The cPanel & WHM module uses a WHM API 1 token on port 2087. Both support test, read packages, create, suspend with reason, unsuspend, terminate, change package, change password, usage and sign in to the panel.

When is a hosting account created?

That is set per product: on order, when the first invoice is paid, or when a staff member accepts the order. Create on payment is the usual choice. Creation picks a server in the product's group, calls the module, marks the service active and sends the welcome email; a failed call waits in Pending Module Actions.

What does the client see when a service is suspended?

The reason. Suspension always carries a reason, whether set by the daily run for an unpaid invoice or typed by staff, and it is shown on the client's service page with a button to the unpaid invoice. My Services shows a suspended tile and a notice, and paying the invoice unsuspends the account through the module automatically.

Can clients upgrade their own plan?

Yes, along the upgrade and downgrade paths you set on each product. The client picks the new product or option from the service page, an invoice for the prorated difference is created, and paying it calls change package on the module so the account keeps its files and mail. Staff can also change the package from the admin page.

What happens if a server is down during the nightly run?

The action goes into Utilities > Pending Module Actions and is retried by the cron job's frequent tasks until the server answers. Staff can run or remove a queued action by hand. The module log records each attempt and the server's answer with secrets hidden, so nothing is lost and the sequence can be reviewed.

Does CoreInto need an agent installed on the server?

No. Both modules talk to the panel's existing API: intoPanel's /api/v1 with a Bearer token and WHM API 1 with a token. You create the token on the panel, enter it with the address and port under Settings > Servers, and use the test button. Tokens are stored encrypted with the key kept in your configuration file.

Can I sell products that are not hosting accounts?

Yes. Product types include shared, reseller, VPS or server, software licence and other. A product can use the Licensing Manager module to issue a licence key instead of a server account, or use no module at all for items staff set up by hand, such as a dedicated server, and mark active when ready.

Connect a server and watch the first account appear

Start the 10-day free trial, add an intoPanel or cPanel & WHM server, and place a test order to see provisioning end to end.

Start free trial
Submit a ticket