BILLmanager: module (v2)
For Admins / BillManager

Module on the BILLmanager server (v2)

The SupportHub module is installed on the BILLmanager server. It sends new messages to SupportHub on its own and carries out operators' actions through the panel's local socket. Your BILLmanager credentials are never handed over.

Installation and setup

  1. 1
    Create a channel in SupportHub

    Open SettingsChannelsAdd ChannelBillManager 6. In the “Integration method” field, choose “Module on the BM server (no access handover)”, enter the “BillManager server URL” (the panel address is enough, e.g. my.example.com) and create the channel.

    The wizard shows everything you'll need next as soon as you pick the method: the install command, the “SupportHub URL” and the “Signing secret”. Once the channel is created, they're in its card on the “General” tab.

  2. 2
    Install the module on the BILLmanager server

    Run the command from the wizard on the BILLmanager server as root. It downloads the module, unpacks it and runs the installer:

    bash
    curl -fsSL https://api.support.forestsnet.com/api/integrations/billmgr/module.tar.gz -o supporthub-billmgr-module.tar.gz \
      && tar xzf supporthub-billmgr-module.tar.gz && sudo ./install.sh

    The installer adds the Python libraries BILLmanager needs (billmanager-plugin-python-libs, via dnf if they're missing), puts the module files in place, creates its service tables and the sync schedule (once a minute), and asks the panel to reload its settings.

  3. 3
    Add the system operator

    Replies from SupportHub are posted to tickets by a service account, not by a real staff member. In BILLmanager, add a staff member with the login supporthub (or a login of your own, which you then enter in the gateway) and staff permissions. The password doesn't matter: the module works through the panel's local socket, not with a password. Until this staff member exists, the channel card in SupportHub shows a red “Operator … not found” warning with a hint on what to do.

  4. 4
    Create an API key in SupportHub

    Open SettingsAPI KeysCreate key. The key is shown only once, so copy it right away. This is the “Workspace token” for the gateway.

  5. 5
    Add the SupportHub gateway in BILLmanager

    In the BILLmanager panel, add the SupportHub gateway among the message gateways (the module itself points to “Integration → Message gateways → SupportHub”), switch it on and fill in the fields. The module doesn't see a disabled gateway: sync stops and SupportHub gets refused.

SupportHub URL
Type: addressDefault: —
The base API address, as SupportHub shows it in the “SupportHub URL” field, e.g. https://api.support.forestsnet.com. No path: the module adds /api/integrations/billmgr/events itself. The field comes prefilled with the SupportHub cloud address — replace it on your own installation. The module only downloads reply attachments from addresses under this URL.
Workspace token
Type: stringDefault: —
The API key from step 4.
Webhook secret
Type: stringDefault: —
The “Signing secret (webhook secret)” from the channel card. It signs events in both directions.
Operator login for replies
Type: stringDefault: supporthub
The service account from step 3.
Allow VPS password in SupportHub
Type: checkboxDefault: on
When off, SupportHub doesn't receive the service password, and the card has no password row.
Allow customer VM SSO login from SupportHub
Type: checkboxDefault: on
When off, the module refuses to sign in to the VM panel as the customer.
Allow VPS start/stop from SupportHub
Type: checkboxDefault: on
When off, the module refuses to start, stop or reboot a VPS.
Allow prolongation and bonuses from SupportHub
Type: checkboxDefault: off
When on, SupportHub macros may prolong the ticket customer's service for free and add a bonus to their balance. From version 1.0.0-14.
  1. 6
    Check the setup

    On the BILLmanager server, run:

    bash
    /usr/local/mgr5/sbin/supporthub_sync --command check

    The command shows the module version, the gateway settings, whether the system operator was found, which actions are allowed, the sync position, the BILLmanager departments and SupportHub's answer on /health. If the gateway is set up and the system operator exists, the last line is OK — the module answers as 'supporthub'. The token and secret are only checked for presence (set / MISSING), and an unreachable /healthdoesn't change the result — so OK doesn't yet prove that events get through.

    The real test is a customer message in BILLmanager: it should show up in the Inbox. A staff message won't do — SupportHub doesn't open tickets started by staff until the customer replies. Old tickets aren't imported on install: sync starts from the current last message, and an old ticket shows up once the customer writes to it again (along with the latest messages of the thread). You can also open the channel card in SupportHub: on the “General” tab, the “Module on BILLmanager” block shows the module version, the operator for replies and the gateway checkboxes. If something is wrong, a warning with a hint appears under the block; once you've fixed it, press “Check”.

Departments

The module sends the BILLmanager department a ticket is filed to, and the ticket goes to a department according to the mapping on the channel card's “Departments” tab — the same as with API polling. The tab gets the list of BILLmanager departments from the module. If the module is outdated, doesn't respond or rejected the request, the tab says so, and you can enter a BILLmanager department number by hand (the check command lists the numbers). A module older than 1.0.0-13 doesn't send the department: on such a channel only the fallback row applies.

Updating

Run the same install command; you'll find it in the channel card on the “General” tab. The gateway settings and the sync position are kept. Keep the module in step with SupportHub: loading a ticket's history, closing from SupportHub, status reconciliation, sending departments and showing the gateway checkboxes in the channel card only work in recent module versions. The “Module on BILLmanager” block compares the installed version with the one SupportHub distributes and warns “The module is outdated” if the installed one is older. A module older than 1.0.0-13 doesn't report its version and counts as outdated too. If the module is installed as the RPM package billmanager-plugin-supporthub, update it as a package too (rpm -Uvh) so package files and installer files don't get mixed; SupportHub doesn't distribute the package. Version 1.0.0-14 adds the “Allow prolongation and bonuses” checkbox to the gateway: install the package without --noscripts (or restart the panel with /usr/local/mgr5/sbin/mgrctl -m billmgr exit) so BILLmanager shows the new field. The module and SupportHub can be updated in either order: with an older module the customer card, start and stop, VM sign-in, replies and closing work as before, while reboot, prolongation and bonuses don't run — SupportHub says “Update the SupportHub module on the BILLmanager server to 1.0.0-14”.

How to tell the module is working

  • New messages from BILLmanager show up in the Inbox within a minute.
  • On the channel card's “General” tab, the “Module on BILLmanager” block shows an up-to-date version and a found operator, with no warnings under it. If the module is outdated, doesn't respond, rejected the request or can't find the operator, the block says what's wrong and how to fix it.
  • The customer card loads on the right side of the ticket. If the module is unreachable, you see an error instead.

Troubleshooting

Messages don't arrive
Type: pollerDefault: —
Run /usr/local/mgr5/sbin/supporthub_sync --command check: the gateway must be set up and switched on; check the token, the “SupportHub URL” (the base address, no path) and the SupportHub /health line. The channel must be enabled in SupportHub: a disabled channel doesn't accept events; the module delivers the messages once it's enabled again, but ratings from that period may be lost. Keep in mind that a ticket started by staff only shows up after the customer replies.
“The module rejected the request”
Type: secretDefault: —
The webhook secret in the gateway doesn't match the “Signing secret” in the channel card — or there's no SupportHub gateway in BILLmanager, or it's switched off.
“The module is outdated”
Type: versionDefault: —
The installed version is older than the one SupportHub distributes, or the module doesn't report a version (as every version before 1.0.0-13 does). Update the module with the same install command.
“The module doesn't answer”
Type: addressDefault: —
Check the “Module webhook URL” on the “General” tab (it should point to …/mancgi/supporthub_webhook). If the panel is behind Cloudflare or a WAF, allow SupportHub's POST requests to this path.
Replies don't show up in BILLmanager
Type: operatorDefault: —
The system operator account from step 3 doesn't exist, or the gateway has a different login. The channel card shows a red “Operator … not found” warning, and check shows operator login: … [MISSING]. SupportHub retries undelivered replies every 3 minutes for a day, so once the account exists they get through on their own — don't send them again.
A close didn't reach BILLmanager
Type: closingDefault: —
SupportHub doesn't retry a close. Close the ticket in the BILLmanager panel.
Was this page helpful?