Home > Help center > Billia Instructions > Changelog: ApiHawk Billia

Changelog: ApiHawk Billia

[5.0.0] - 2020-11-04



  • [Core] Customer Product Options now have states. Every option could be pending or provisioned.
  • [Payment] New supported gateway: Przelewy24
  • [Payment] New supported gateway: PayPal Rest
  • [Core] Automatically clear ALL PopulateAdvanced:: cache, when updating non-customer related resource. E.g. if you change catalog product, all cache will be automatically purged
  • [Core] Add "suitable_for" field for all discounts. This will trigger discounts only for products, options, or both. This means, you can already create discount that is suitable for the product only. E.g. 50% discounts on Shared hosting, but the dedicated IP is full price
  • [Core] CatalogProductPrice now calculates based on quantity
  • [Core] Renew Time Calculator now support better calculation for suspended products
  • [HelpCenter] Added canonical link support to articles
  • [Core] Add Kosovo as a supported country
  • [AppCell][OnApp] Hostname is not mandatory field. The system will generate it if missing in format: cloud/vps-cpID.yourclouddomain.com
  • [Management panel] Company can now be searched by VAT number along with Company name and tax number.

  • [Core] Create orchestrator that will start and stop required workers on the go and stop by default all non core workers

  • [Core] Vault Config now exports in the correct variable type. Supports: string, integer, boolean, double
  • [Core] Better error hanling on connection issues with the RabbitMQ.
  • [Core] Added ResellerClub as a PremiumDomain suggest engine. Will use reseller club's suggestion API to generate proper data for PremiumDomain engine
  • [Core] Accounts on hold cound not checkout orders
  • [Core] Affiliates are now calculated every day with e background processor.
  • [API] new routing for API: /customergeartask. Now this API could be accessed via: /customer/background-task[/:customergeartask_id]
  • [Core] Added datecreated and dateupdated to Customer Gear Tasks
  • [Core] When customer changes it's password, the system will delete all access tokens, without the currently used one. This means, on all other devices, the customer will be logged out.
  • [Core] Add caching to products and categories in domain search service. If you change any domain product, you have to clear the redis cache. Cache automatically expires after 1 hour


  • [Core] Removed all customer fragmentation of the software. No more customer specific instances.
  • [Core] Remove pricing from hardcoded configs and move it to VaultConfiguration
  • [Core] Do not create AutoRenew orders if the product is in-progress
  • [AppCell] Better data generation in payload service. Performance improvement.
  • [Core] Better Vault Configuration oauth validation
  • [Core] On Choice Deletion, delete the option-choice relation
  • [Core] Add Catalog Product, Catalog Category and Descriptor to Financial Documents Generation.
  • [Billia store] Options with toggle controllers are shown with "ON" price.
  • [Billia store] VAT number field only accepts letters in latin in order to pass through VAT number validation.
  • [Management panel] Updated promo code generator. Batch promo codes can now be created and exported in CVS in only one step. Promo code generator can be accessed through Marketing > Promo codes section.
  • [Management panel] Changed email and document template editor. MJML editor has been changed to a WYSIWYG editor.
  • [Core] Cron Redemption now is selecting only suspended products. Unlike the current suspended + expired products.
  • [OnApp] Added production termination
  • [Eventor] Now supports in and notIn conditions
  • [Core] Rbac Cache is now per software. This means, gear and billia can share one redis server, without interferencing their properties


  • [Core] Fixed bug when canceling on
  • [CmailPro] Fix bug on searching with "full email address"
  • [Core] Fix Advanced cache to generate key based on the _GET params
  • [Payment Gateway] Correct payment_id population in URLs
  • [Core] Header: AH-Cache is now working properly.
  • [Core] Fix dashboard statistics to return float numbers on zero amounts.
  • [Core] Better support for pending options

[4.4.5] - 2020-04-24


  • [Billia Store] Domain search: added additional filters for search results. Clients can now include/exclude already taken domains and IDN domains in the list. Additionally domain results can be filtered to show only TLD or full list of suggestions.

    search filters

  • [Billia Store] Domain search: implemented additional EPP search for domain availability. Once clicked on “Add to cart” a second domain search will be performed to verify if the domain is available or taken.

  • [Billia Store] Domain search: added discount labels to domains to identify the discount amount. This label is automatically set by the system based on a pre-set discount for each domain. It corresponds to the difference in price indicated to the right of the label.


  • [Billia Store] Domain search: added a “Promo” label to indicate domains during promotion period. This label is manually set in admin panel > Catalog > Product > Domain > Fields and Labels tab. The label must be pre-set in the Admin panel > Management > Labels section.


  • [Billia Store] Hosting plans: period selection section is enhanced with a discount label just like search results for domains. “Amount” and “label” are automatically generated by the system.

  • [Billia] Added Handling Fee support in the backend.
  • [Management Panel] Labels: added new feature for displaying promo labels to indicate domains currently in promotion period. Labels must be set in the Management panel > Management > Labels section. After setting a label it must be added to each domain in Catalog > Product > Domains. (Screen 3).


  • [Management Panel] Set to automatically copy all External Vault Configurations on new Reseller Creation.


  • [Billia Store] Reported problem for promo codes not being able to be removed from shopping cart has been fixed. Once a promo code is removed it should not appear on the next step.
  • [AppCell] Populate product identifier of new Cell installation for a specific product
  • [Client Portal] Accessing documents section by using a one-time token has been fixed. Clients can now access their documents in Customer portal when using the Download button from system generated email. If the Download button has been already used, clients will be asked to login and will be automatically sent to the Document section in Client portal.

[4.4] - 2020-04-01


  • [Management Panel] Payment methods for different profiles: payment methods can be configured to be visible for individuals, companies, or both. During checkout the payment methods visible will depend on the user profile making the purchase.
  • [Management Panel] Payment methods: improved document generation management is added to each payment method. Admin users can now specify for each payment option the different types of documents to be generated for either an individual or a company.
  • [Management Panel] New additional settings to a payment method configuration - field for “retail price”, which specifies the product’s general price which can contrast e.g. discounts, and a field for “handling fee” describing various payment gates’ additional transaction fees.
  • [Management Panel] Save only mode: added support for save only option when changing customer product status.
  • [Management Panel] Retail price: added an option to add a retail price to an order if different from the purchase price. Retail price can be changed by accessing the editing menu for purchase price on Orders’ details page. It will appear in the order itself as well as in the documents for the order.
  • [AppCell] New “support” field in plugins designed to secure one product to which plugins have access
  • [Customer Portal] Multi-currency support: currencies for over 170 countries can be enabled for the Customer portal. Needs to be configured in the Management Panel beforehand.
  • [Billia] Support for fetching currencies based on customer’s account type
  • [Billia] TimeZone support on profile creation based on customer GeoIP location
  • [Billia] Cache all payment methods in redis storage
  • [Billia] Completely refactored Vault Configuration. Supports internal and external configurations. Internal are automatically exported as PHP configs, external are used only via API
  • [Billia] Completely reformatted, inspected and optimized code base of billia API engine, following all coding standards
  • [Billia] Added QB support to all Eventor APIs
  • [Billia] New ~100 countries supported for postal code validation.


  • [Management Panel] Labels: when a unique label has been attached to a resource it can no longer be used for another resource.
  • [Management Panel] Permissions: when you create a new role the process of adding permissions is simplified. Now only the permissions selected are added to the role. Updated interface for adding new permissions.
  • [Management Panel] Roles: admin panel users roles are now being set in menu Management > Manage admins. System user roles can be edited or assigned upon user creation.
  • [Management Panel] Discounts: one promo code can now be attached to more than one discount for the same product. Discounts need to differentiate by period only.
  • [Customer Portal] Products in pending status are now shown by default in the Customer portal. Upon placing an order the customer will see their product in the menu in pending status.
  • [Customer Portal] Product migration: when a product migration has been initiated the system does not allow for another migration to be started for the same product. Initial migration must be canceled before starting a new one.
  • [Customer Portal] New client panel notifications with improved notification management in admin areas.
  • [Billia] Improved error handling for RegistryEU
  • [Core] Trigger fetch.post event on all getItem functions not only on getIterator (better support for all event based functionalities)
  • [Billia] WalletRecord amount is returned as float now
  • [Billia] Deprecated API AvailablePaymentMethods
  • [Billia] Payment method on already paid orders can no longer be modified.
  • [Billia] On post code validation, return example in error code.


  • [Management Panel] Banner management: fixed issue with displaying empty a white page when accessing banner management.
  • [Management Panel] Pagination: fixed issue with pagination options at bottom of client services page. Option for displaying different numbers of rows is now visible.
  • [Core] Fix impossibility of generation cache keys for some edgecase APIs
  • [Billia] Fix currency support for Wallet APIs. Now all transactions and balances are automatically calculated by current exchange rate

[4.3] - 2020-02-10


  • [Management panel] Resellers - an indicator has been added in the case a client belongs to a specific Reseller. It is displayed under the user name in the details, in the product’s details, as well as in the common grid of the Orders’ and Customers’ lists.
  • [Management panel] Account activation - all clients receive an email to activate their user and are automatically redirected to a form to input a password. There are no more temporary passwords sent over email. When a customer wants to reset a password, they receive the same email message which would redirect them to the form for password input.
  • [Management panel] Account activation by an Admin - when a user is Inactive, it can be either manually activated from the Management Panel’s customer’s details page or a user activation email can be sent from that same location.
  • [Management panel] Blocking an active account - an Administrator can block an active user from the Details page. This way the system blocks it permanently and only and Admin can reactivate them. The customer cannot reactivate their account on their own.
  • [Management panel] A search per name in the Customer’s menu allows an interval to type in two names.


  • [Management panel] Tabs “Details”, “Domain”, “Services” and others have been moved under the grey field that holds client’s details. This way the client's details remain visible at all times.
  • [Management panel] The “Impersonate” button has been moved in the grey field along the side of the client’s details, under the sections Wallet balance/Credit limit.
  • [Management panel] “Add transaction” and “Edit credit” have been replaced with respective icons next to Wallet and Credit.
  • [Management panel] Page for Order’s details - the button to switch the specific order’s profile has been switched. “Edit Profile” redirects to the page to modify the profile itself. The pen icon will change which profile validates the order.
  • [Customer Portal] Improved errors in the system.
  • [Customer Portal] Adding promo codes to the affiliate page: improved interface and steps.


  • [Management panel] Fixed bug - listing of options and products in the Catalog menu.
  • [Management panel] Fixed bug - Resetting cPanel passwords (Admin- and Customer panel). Passwords are now correctly reset.
  • [Customer Portal] Fixed/improved translations to Bulgarian.

[4.2] - 2020-01-10

  • [Backend] Eventor Communication over Redis for huge performance improvement for Billia
  • [Backend] AppCell support for "after execution" options update
  • [Backend] InactiveAccountGuard supports "blocked" users
  • [Backend] Fix in Kayako module to fetch tickets created from staff to customer
  • [Backend] New User status: “blocked”. Used for denying a user to log into the system
  • [Backend] OneTimeToken will not be deleted on inactive account
  • [Backend] AutoRenewWorker fetches products more precise
  • [Backend] On sending order at configure state, the product will be in configure state too. After approving configured order, the product will be in pending status
  • [Backend] New Billia Worker: CustomerProductChange. Used for async changing customer products (options processing). The worker is connected with AppCell and will provision everything from it.
  • [Backend] AccountActivation could now work with sending OneTimeToken. Upon activation the account will automatically generate access credentials.
  • [Backend] On AccountAction you can now automatically set password
  • [Backend] On password resetting of an inactive account, the system will automatically send a reminder email for account activation
  • [Backend] Fix in Affiliate creation to start from level 1
  • [Backend] AppCell support into Marshroutizathor execute action
  • [Backend] New Redis Consumer and support for background processing scripts
  • [Backend] Better error processing into Data generation in Eventor
  • [Backend] Customer Product Status Update automatically communicates with AppCell if the state is correct
  • [Backend] ResourceListener now communicates with ElasticCache over RedisQueue
  • [Backend] GearHelper now sends messages over RedisQueue

[4.1] - 2019-12-11


  • [Billia Store] Third party login added as а functionality. Clients can now login to the system with their Google, Facebook, or LinkedIn accounts.
  • [Management panel] Search for profile names is now available.
  • [Management panel] Support is added for both Latin and Cyrillic alphabet to be used for creating user profiles.
  • [Management panel] Notes sections can now accept HTML code to be entered for notes formatting.
  • [Management panel] Custom labels are added to products and domains.
  • [Management panel] Primary email can now be added to primary profile if such is missing.
  • [Management panel] Added new statuses for Automator jobs:
    • retry status - the job will be re-executed at a pre-defined time frame in the future (based on the type of job);
    • scheduled - the job is scheduled to be executed at a certain time in the future;
    • interrupted - a job in process gets interrupted by a new execution for the same job that has been started;
    • manual - the system has tried several times to execute the job and fails to. The job goes into “manual” status that requires manual intervention. The order must be provisioned manually.
  • [Management panel] Accounting reports - added functionality to select and remove all products with single click for generating custom reports.
  • [Management panel] New status “Configure” is added to orders. If the product is not fully configured during purchase, it will go in that status.
  • [Customer Portal] Added new functionality for domain DNS management. DNS addresses are automatically assigned by the system, but users now have the power to set their custom DNS addresses. Additional DNS records are available to be modified such as: A, AAAA, CNAME, MX, TXT, SRV, SOA, and NS records.


  • [Billia Store] Changed display icon for adding products to shopping cart. “Add to cart” button will be displayed instead of shopping cart icon.
  • [Management panel] Updated sorting filters' behavior for listing system orders. Filter options are now saved in sessions for each admin user and they will remain unchanged until modified by admin panel users.
  • [Management panel] Secondary order filter is set to Date created as default filter.
  • [Management panel] Modified search criteria fields on both Customer and Orders landing pages. Decreased number of search fields from nine to six. Combined search criteria in one field such as Purchase ID and Orders ID, Name/Phone and Company/Tax ID.
  • [Management panel] Company passwords UI has been moved to Operations menu item.
  • [Management panel] Fields with no value are no longer saved in order to preserve storage such as untranslated fields/strings.
  • [Management panel] For instances of the software where domains are not active products in the catalog the domains tab is hidden for the user.
  • [Management panel] Modified branding client to be - [default] for all instances of the software. All branding variables must be created in - [default] client.


  • [Management panel] Integer 0 is now allowed to be entered in name server field.
  • [Management panel] The linkage between promo codes and discounts is updated. When a discount is being deleted and the discount is linked to a promo code the discount is no more visible as a link in the promo code.
  • [Management panel] Affiliate products can now be deleted from the list of products.
  • [Management panel] Existing crons are now able to be modified.
  • [Customer Portal] Documents issued to primary profile only - when adding funds to virtual wallet, pro-forma and invoice documents are now issued to the profile selected by the user.
  • [Help Center] Articles in customer user interface are now arranged in the same way they are arranged in admin user interface.
  • [Help Center] Updated Code inline and Code block not to display an empty space before the first string when used for formatting.
  • [Help Center] Fixed error with pagination and moving to page two.
  • [Help Center] All headers are displayed correctly in customer interface when table of content is very long.
  • [Help Center] Message to enter Meta tag description in article is added for admin user if no Meta tag is being entered.

[4.0] - 2019-09-27

  • [Backend] Added default and post_configuration fields to options.
  • [Backend] Orders and CustomerProducts has new status: configure. Used for stopping the provision until the product is fully configured.
  • [Backend] CartService will continue when options are set for post_provision.
  • [Backend] OrderActivаte, OrderPay and OrderProcess migrated to Database module, instead of Worker.
  • [Backend] ResourceCache retry strategy for long running processes like Workers.
  • [Backend] New default value for options. Used as automatically assignable value for options on order create. The default should be string for text options and choice_id for functional one
  • [Backend] New postconfiguration value for options. Enum(enabled,d::disabled,onlymanagement), used for setting option as required but possible configured after payment. The system will set the order into new configure status, until the product is not fully configured. After this will allow the provisioning of the service.
  • [Backend] Improved reasons for non generating a financial document. Will be used as notes to the orders.
  • [Backend] Fix for AddFunds functionality to allow non master profiles to add fundings to the account.
  • [Backend] Fix for OnApp user creating to send usergroupid.
  • [Backend] New API for assigning number for documents.
  • [Backend] Fix for cMailPro Import/Export functionalities.
  • [Backend] Add cPanel Shuffle Algorithm for Random server selection.
  • [Backend] Do not require API engine for Consumer Module.
  • [Backend] AuditLogger input validation and filtration.
  • [Backend] Migration to PaymentGateway 2.0.
  • [Backend] Fix for Gear Communicator when decrypting response.
  • [Backend] Vault Config will be updated in real time, when change from the API is made.
  • [Backend] New renew from functionality for Catalog Products. The idea is to specify on renew after suspend, how we need to calculate the new expiry date. From previous expiration (must for domains) or from “now”, used for “shared services”.
  • [Backend] Fix: Do not calculate shopping cart on Auto Renew.
  • [Backend] Improvements to search API to handle single resources.
  • [Backend] Fix for Gear Helper response decoder, not to throw exception on JSON issue.
  • [Backend] Remove System Manager APM dependency.
  • [Backend] Add customer relationship to Document2Resource.
  • [Backend] [cPanel] Fix for upgrades to return success.
  • [Backend] [cPanel] Shuffle default servers to balance the load to the servers.
  • [Backend] [Eventor]: Do not execute paused event2listeners.
  • [Backend] Populate Currency on fetchAll.iterator.
  • [Backend] Fix in RBAC to support DELETE permissions.
  • [Backend] Improvements into AccessToken functionality to support Access Keys.
  • [Backend] Removed dependency for EventorBridgeModule to require WorkerModule.
  • [Backend] Added support for QueryBuilder automatically to search based on reseller.
  • [Backend] New and improved Vault Configuration Exporter, to export automatically on request all changed configs. No need to reset services to obtain new configuration.
  • [Backend] Fix in RBAC to support DELETE permissions. Currently on DELETE request, RBAC was validating PUT permission, due to bug.
  • [Backend] New Access KEY functionality. Create log running access_tokens via new Access Key service.
  • [Backend] Refactored access_token service.
  • [Backend] New functionality to catalog products: When should a product be renewed after suspend. If the product is domain like, it should be renewed from date_expires, no matter when it is paid.

    E.g.: product expires: 1.02 renewing: 15.02 activation date: 1.02

    Services like shared hosting should be renewed from the date the order is approved: E.g. product expires: 1.02 renewing: 15.02 activation date: 15.02 [ResellerClub] Provision DNS service in AppCell

  • [Backend] Domain Contact functionality to manage all contacts of a domain name.

  • [Backend] New Elastic Search configuration to support port, username + password.
  • [Backend] QueryBuilder Like Fix to support reserved names as column name.
  • [Backend] AppCellBridge now support execute RPC, which is giving secured abstraction over all AppCell functionality.
  • [Backend] Fix in auto renew to select only customer's shopping cart/discount_code via impersonation.
  • [Backend] If vocabulary group is missing return empty array instead of notice.

  • [Frontend] DNS Management fixes.

  • [Frontend] Domain contacts management and assign using AppCell.

[3.9.3] - 2019-07-31


  • [Billia Store] New visual indicators added to shopping cart area displayed during information loading.
  • [Billia Store] Link to Continue shopping for additional products. Link is added to the shopping cart summary page below, the order summary and the Make purchase button. The new link takes you to the home page.
  • [Billia Store] In shopping cart summary a new confirmation popup has been added when visitors want to remove an item from the cart. The system now requires user confirmation to remove the item.
  • [Management Panel] New filter option is added to Orders landing page. Orders can now be additionally sorted by date paid, starting with the latest paid order.
  • [Management Panel] The reasons for the cases when the system does not automatically generate a document are put in the notes section. If there is no document generated admins can look into the order notes for details.
  • [Management Panel] Updated sort functionality for products and services. This is available for both admin and client panels. Expiry dates for product and services can now be sorted in ascending or descending order.
  • [Management Panel] “Client" info is added to documents list. The information is visible on Documents tab for client profiles and indicates the name of the company or person that the document is issued for.
  • [Management Panel] Search fields - example helpers are added to some fields to show the type of data that can be entered and searched for.
  • [Management Panel] Product details - information about the product module is added to product details page. Product modules are indicated with different colors for better visualization such as Reseller Club, cPanel, etc.
  • [Management Panel] Customer details - account manager information can now be added to each client. For new and existing clients that do not have an account manager appointed, they must be added manually by adding a label “account manager” and selecting the desired name from the list.
  • [Customer Portal] Оption to display cPanel password is added to products in both customer portal panel and management panel. Password is accessible through password show icon in server information section.
  • [Customer Portal] New option for clients to select different profile from their account while adding funds to their virtual wallet. This will generate a pro forma or invoice document for the selected profile.
  • [Customer Portal] OnAppp user name has been displayed to cloud product details page. This gives clients their user name in order to login to their OnApp account.
  • [Customer Portal] Contact ID has been added to domain contacts to make similar contact persons easily identifiable by clients. This allows clients to assign the correct contact handle to domains. Contacts are sorted in ascending order with the latest contact on top.


  • [Billia Store] Removed Cancel button from product suggestion popup page. During a product purchase the system will suggest additional products to add. Visitors can only click on Continue if they decide to add or not to add a suggested product.
  • [Billia Store] Button “Label” in shopping cart summary has been renamed from “Make purchase” to “Proceed to checkout”.
  • [Management Panel] Orders menu - order id that can be viewed by expanding each purchase order has changed color. This is to differentiate between purchase and order IDs.
  • [Management Panel] Search field labels for Customers and Orders. Product name is changed to product descriptor. Tax number is changed to Company tax number.
  • [Management Panel] Domain details - changed synchronization label button from Fetch to Synch.
  • [Management Panel] Profile time zone - when adding a new profile to an account the time zone is automatically set by the system. The time zone used is taken from the system server zone location.
  • [Customer Portal] During product upgrade the period selection is not available anymore. Upgrades are done for the remaining period left in the original product so clients can’t select 24 months if they have only 4 months left in the original product before expiration.


  • [Management Panel] Any calendar date can be selected for reporting purposes in Accounting reports section.
  • [Management Panel] Help center - resolved issue with inability to upload images to help center articles.
  • [Customer Portal] Cloud products with a top-up option do not appear as products for renew. Clients can only add funds to these products.

[3.9.2] - 2019-07-15

  • [Backend] Improvements to OpenAPI3 documentation to support collection based input data
  • [Backend] Vocabulary on row deletion, delete it from the cache as well
  • [Backend] Improved strategy calculation on customer product edit, when the options are functional but free of charge
  • [Backend] Fixed link for inactive account reactivation
  • [Backend] Fixed router parameter in document type API
  • [Backend] Add support in Registry EU for searching for .eu domains


  • [Billia Store] Products in shopping cart can’t be deleted/removed from the cart with a single click. We have added a popup message for users to confirm that they want to remove product from the cart.
  • [Management Panel] The Management panel has now a responsive UI and can be viewed appropriately on mobile devices.
  • [Management Panel] Document generation - the system needs some time in order to generate a proper invoice or pro-forma document. If the document is in progress of being generated in the system and the user tries to open it, the system will show a message that the document is not ready yet. This should prevent the system from generating errors such as a long string of numbers instead of valid documents.
  • [Management Panel] Document upload. External documents like contracts and appendixes can be uploaded on Customer > Documents tab. Uploaded documents can be associated with client orders.
  • [Management Panel] Client profiles - when creating a client profile the system will automatically select the system language as a default language for that profile. It is possible to change the language if needed.
  • [Management Panel] User details - client/user ID is now added on details page. It is located at the bottom of client information section.
  • [Management Panel] Automation tasks logs - new option for filtering tasks by date range is added. It allows the selection of dates to display tasks and narrow down the search. The option is also added to Customer details > Logs tab.
  • [Customer Portal] Domains contact management - new instructions for clients on assigning new contacts. Instructions are also displayed when clients want to change registrant info. Different instructions are displayed based on TLD limitations for change.


  • [Billia Store] Improved loading indicator for better visibility on screen.
  • [Management Panel] all icons in Management panel can now be right-clicked in order to open the target link in a new tab.
  • [Management Panel] Help Center articles - URL articles are no more automatically generated based on article title. Author must enter the URL that will remain constant. URL can now accept “-“ in the string.
  • [Management Panel] implemented trim of empty spaces before and after a string is copied to clipboard. If the field has an empty space at the end of the string that space will be omitted during copy/paste.
  • [Management Panel] Domains - Fetch button is now visible for domains only in order to sync domain data. It will not show on another product.
  • [Management Panel] Promo codes - discount labels associated with promo codes are now links. Discounts can now be opened through the promo code page.
  • [Management Panel] Upgrade orders - additional information has been added to upgrades in order to better visualize the upgrade from and upgrade to products in order details.
  • [Customer Portal] When an order is placed with several products and client wants to cancel the order for one of the products the whole order will be canceled. This eliminates the possibility of promotional (free) products to get provisioned in the system if their relational discount product gets canceled.
  • [Customer Portal] when clicked on +Buy New links on dashboard will only offer to clients new products and services. Removed icon for managing existing products.
  • [Customer Portal] domains - Contact management and Assign contacts tabs are now with switched places.


  • [Billia Store] In shopping cart we have eliminated the possibility for users to submit orders with wrong VAT ID. The system will double check VAT IDs for existing customers as well. If there is a string entered in VAT field the system will validate it.
  • [Billia Store] Marketing banners keep their intended size and position. They do not get full-screened anymore.
  • [Billia Store] Product suggestions at bottom of shopping card now display correctly.
  • [Management Panel] Order details - link to automator jobs are working correctly giving detailed information for each product as part of an order. Icon for automator job is located in order details on each line corresponding to a product in the order.
  • [Management Panel] Opening wrong order after completing a search. Based on user feedback modification has been made to prevent opening wrong order details after completing a search and selecting an order.
  • [Customer Portal] Browsing through client panel-web site-shopping cart the system will keep the original language selected by the client. Language settings are now kept between the different interfaces.
  • [Customer Portal] Products cannot be renewed for a period other than the specified periods set in product catalog.

[3.9.1] - 2019-06-18

  • [Backend] AutoRenew Worker to calculate discounts
  • [Backend] Improved Documentation security and ACL
  • [Backend] Automated Label now is a system feature. Will tag orders and users that are automatically generated.
  • [Backend] New container registry. Welcome: registry.apihawk.tech.
  • [Backend] New configuration repository for Appcell plugins (cells): repository.appcell.io.
  • [Backend] New documentation security layer. Now we can give you explicit permissions to reach API reference documentation per client/software/module and resource. Very useful for end customers’ API access.
  • [Backend] New and improved CI building engine. Fully semver compliant with staging and production testings, buildings and deployments. Integrated directly with the registry.apihawk.tech.
  • [Backend] New Management panel feedback system, thanks to YBug.
  • [Backend] Automatically assume the requested data is application/json if no Accept header is provided.
  • [Backend] Billia SSO. You can now authenticate 3rd party software with authorization code algorithm before Billia. The client is redirected to Billia to verify he allows the 3rd party software to fetch his data.
  • [Backend] Allow 3rd party clients to fetch different brandings.
  • [Backend] If VAT is included it’s added to the discount.
  • [Backend] New /user/info RPC specially designed to be oAuth2 compatible. The response will be in format:
  "sub"        : "83692",
  "name"       : "Alice Adams",
  "email"      : "alice@example.com",
  "department" : "Engineering",
  "birthdate"  : "1975-12-31"
  • [Backend] Fix in Recalculate API to update customer product options on Edit.
  • [Backend] Validate the item added in the shopping cart is in the min-max quantity range.
  • [Backend] Allow Query Builder for /billing/field resource.
  • [Backend] DELETE method is now idempotent

    First DELETE: 200 or 204.

    Subsequent DELETEs: 200 or 204.


    The DELETE operation should be idempotent. If a 404 is returned on a second DELETE, the response changes from a “success” code to an “error” code. Then the client program may take incorrect actions based on the assumption the DELETE operation failed.

    • Suppose the DELETE operation is part of a multi-step operation (or “saga”) executed by the client program.
    • The client program may be, for instance, a mobile app performing a bank transaction.
    • Let’s say the client program has an automatic retry for a DELETE operation (it makes sense, because DELETE is supposed to be idempotent).
    • Let’s say the first DELETE was executed successfully, but the 200 response got lost on its way to the client program.
    • The client program will retry the DELETE.
    • If the second attempt returns 404, the client program may cancel the overall operation because of this error code.
    • But because the first DELETE was successfully executed on the server, the system may be left in an inconsistent state.
    • If the second attempt returns 200 or 204, the client program will proceed as expected.


  • [Management Panel] Labels: Additional fields have been аdded. Label Resource - for date created and date updated. Label Component - for settings (json) with current support for different values. Label Component Resource - for default string for setting default values for different label components.
  • [Management Panel] Password vault: added search functionality to search by ID.
  • [Management Panel] Upgrade products: upgrading client products can now be done from the Management panel as well, not only from Customer portal. Upgrade button added to product details view.
  • [Management Panel] Change order status: addition information is added for admin users when requesting to change the status of an order. When an order status change is initiated the system displays detailed steps of what the system will perform and what the system will not do after the change is confirmed.
  • [Management Panel] Save vs. Save and execute: additional information is added for admin users that displays the difference between Save and Save and Execute.
  • [Management Panel] Customer products: additional details added to the Customer > Services grid. Price and period for each product are now displayed there as well.
  • [Management Panel] Customer products: in product details additional information is added to display the price for each product option.
  • [Management Panel] Product options: additional information is added to the Catalog product options view: option type and option value.


  • [Billia Store] Shopping cart: for not-configured products a Save button is added when new configuration options are entered. This is a UX improvement for having to click outside the options window before able to proceed.
  • [Billia Store] Updated shopping cart summary section for improved UX. Added line separators and updated font size.
  • [Management Panel] Eventor: added pagination for event flows for ability to browse through all flows in the system.
  • [Customer Portal] Auto-renew option is now available for products in the following states: active, suspended, and expired. Products in state: terminated, pending, redemption, and with a billing type: “onetime” do not display the Auto-renew option.
  • [Customer Portal] If a client has a reseller account the option to login to cPanel has been changed to login to WHM. Login credentials remain unchanged.
  • [Customer Portal] Product renew: the option to enter any renew period has been changed to a drop down list of available period options. Products can now be renewed only for the periods set in the product catalog settings.
  • [Customer Portal] Affiliates: affiliates level row is no longer hidden. It is visible at all times as a header row.


  • [Management Panel] cPanel plugin: successful redirect upon activation of an SSL product on server. In nginx the redirect is indicated as successful.
  • [Management Panel] Web application firewall plugin: undefined subroutine error message.
  • [Customer Portal] Language settings: some product names were displayed in default language after changing the language option.
  • [Customer Portal] Upgrade product preview: order type no longer displays “Transfer”. It is corrected to “Upgrade”.

[3.9.0] - 2019-05-09

  • [API] Better JSON Schema Validation
  • [API] Improvements on Document VAT calculation and fixed issue on 0% VAT
  • [API] Revenue Reporting now can search based on the invoice/credit note creation date.
  • [API] Fix for searching of IDN domains, that are already IDN encoded.
  • [API] Fix for fetching notes, when requesting different page_size
  • [API] When changing the first/last name of a master profile, automatically change the names in the oauth user
  • [API] Move product expiring email template from cron to Eventor
  • [OnAppCell] Automatically unsuspend virtual user when adding funds to the account


  • [Management Panel] functionality to label products and customers. This will aid in monitoring and managing client relation and overall business operations.
  • [Management Panel] new extra field for domain names to display promotional messages during domain suggestions in Billia store.
  • [Management Panel] new filters for products and services for customers’ profiles. Customer domains can now be filtered by product (TLD) and services can now be filtered by category and expiration date.
  • [Management Panel] additional tool tip helpers for the following admin modules: Eventor, Scheduler, Worker monitoring.
  • [Management Panel] functionality to import options with JSON file. This will еаse setting up options with large amount of data such as postal codes, list of countries, and similar.
  • [Management Panel] functionality to export promo codes in CSV format. This will aid the creation of marketing materials when generating a large number of promo codes at once to be printed and distributed to the customer.


  • [Billia Store] Payment methods are no longer visible as an option for orders with 0 value.
  • [Billia Store] Improved on-page message visibility for users when an email has been sent upon reset password request.
  • [Billia Store] Extended time validity for forgotten password token. Email token is now valid for 1 day before it expires.
  • [Management Panel] ability to unpublish a category in Help Center module is now on.
  • [Management Panel] ability to save an article in Help Center module without article summary is now on.
  • [Customer Portal] icon for renewing a product has been changed to an icon with string “Renew” alongside.
  • [Customer Portal] adding a new product to cart button has been replaced with a “Renew” button. “Add new” product button has been moved to the bottom right of product landing page.
  • [Customer Portal] for reseller accounts the system allows for customer to login directly to their WHM (Web Hosting Manager) account rather than their cPanel account.


  • [Billia Store] Broken layout on products’ options input fields.
  • [Billia Store] Adding a company is no longer required when adding a new profile to an account during a checkout.
  • [Customer Portal] improved server password security strength. Easy and simple server passwords are no longer accepted.
  • [Customer Portal] two primary emails per profile are no longer accepted. Also, secondary profiles can be now created with different functional email profile.

[3.8.0] - 2019-04-02

  • [Backend] Added Label support in QB
  • [Backend] Removed deprecated mcrypt algorithms and added support for php7.3
  • [Backend] Added support for missing payment gateway on CartCheckout.
  • [Backend] Do not search for inactive domains in both small and premium search engines
  • [Backend] On missing VAT do not calculate taxes
  • [Backend] Removed System development updated
  • [Backend] Returned correct software version on System Info
  • [Backend] Added encyrption_key and Support PINs to all users. The encryption key is 136 chars of 32 random bites, that will be used as unique customer encryption
  • [Backend] Generated automatically encryption_key and support pin on registration
  • [Backend] Migrated Vault Config and Password to the new encryption algorithms based on openssl
  • [Backend] Updated in SocialLogin to redirect after authentication to the OneTimeToken authenticator
  • [Backend] Added new label system support to the QueryBuilder. Now you can search for resources tagged with a specific label
  • [Backend] Simplified the encryption of the errors for easier reading by the admins
  • [Backend] Do not calculate assign 0% VAT on missing VAT number. Instead of this assign default VAT percentage.
  • [Backend] On customer profile deletion, the system will automatically set the profile to inactive and will design all customer products from this profile. Keep in mind, only Admins can now really delete profiles.


  • [Billia Store] Cross-sell sections available in different steps along the purchasing process.

    1. Advanced product suggestion sections configured right after a product is added to cart.

      Alternative text

    2. Simple product suggestion section configured to appear at the bottom of shopping cart.

      Alternative text

    3. Cart item cross-sell section configured to appear in the summary of client shopping cart.

      Alternative text

  • [Billia Store] New expiring section for products that are about to expire in the next 30 days.

  • [Billia Store] Domain description section that can be used for custom marketing messages for each domain suggestion.

    Alternative text

  • [Billia Store] New banner section to main category listing is available. It can be used for up-sell and marketing promotions.

    Alternative text

  • [Management Panel] Оption to manually execute cron jobs.

  • [Management Panel] Option to manually test pre-configured events in the system.
  • [Management Panel] Icon to preview invoice number for each order on Orders landing page.
  • [Management Panel] Auto renew dates are now visible for products with the option switched on.
  • [Management Panel] Audit logs showing all related actions are now available for each customer product.
  • [Customer Portal] Client ticketing system is made not visible for inactive users. Once the account has been confirmed the ticketing system becomes visible to the user.
  • [Customer Portal] When purchasing a new product/service, the shopping cart will also display the expiring products. They are placed at the top of the page during loading.
  • [Customer Portal] New section for expiring products added to shopping cart in Customer Portal.
  • [Customer Portal] The Customer Panel’s language can now be toggled from an icon on the top right corner of the menu.
  • [Customer Portal] New ability to search for domains on Domain landing page.
  • [Customer Portal] The button “Auto renewal” now also includes the date of the actual renewal. Depending on the product/service (domain, hosting, etc.) that date will be 2 or 4 weeks prior to the expiry date.
  • [Customer Portal] Deleted old profiles can now be filtered and displayed for the user. These deleted profiles can be restored by that user if needed.


  • [Billia Store] updated support for not-supported domain extensions. Completing an exact search for not supported TLD will return: non-supported message.
  • [Billia Store] Advanced product suggestion section now appears while requesting a domain transfer not only for new domain purchase.
  • [Billia Store] UX improvement: Updated summary of client shopping cart section

    Alternative text

  • [Management Panel] In the case an Admin wants to delete a secondary profile under Customer Profiles, the system will then allow the action and will also move all of its products/services to the main profile.

  • [Management Panel] All documents generated by the system now have multilingual support.
  • [Management Panel] Customer profiles can be either set inactive or can be completely removed from the system.
  • [Customer Portal] All products/services that will be expiring in the next 30 days are displayed in the Customer Portal.
  • [Customer Portal] When a product/service migration has been approved from both sides (source and destination), it cannot be canceled.
  • [Customer Portal] Removed expiration and termination dates for one-time products as they are not applicable.
  • [Customer Portal] Removed the option for two days renewal for domain products.
  • [Customer Portal] For Cloud products that are set with top-up option the Renew button is removed.


  • [Management Panel] Admin users cannot issue credit notes if order has not been canceled and no invoice is generated.
  • [Customer Portal] Product descriptor now appears with new product purchase on payment confirmation page.

[3.7.0] - 2019-03-11

  • [BackEnd] Automated upgrades for shared hosting
  • [BackEnd] SQL Expressions support for QueryBuilder
  • [BackEnd] Fix for document generation via API and deleted companies
  • [BackEnd] Support for disabling MOSS based on configuration. https://ec.europa.eu/taxationcustoms/business/vat/telecommunications-broadcasting-electronic-services/content/leaving-mossen
  • [BackEnd] Fix for upgrades for 0 months to be free of charge
  • [BackEnd] Do not require message on marketing suggestion
  • [BackEnd] PayPurchase rounding up to 1lv difference
  • [BackEnd] Fix for ProductSuspend Worker to operate normally and suspend customer services
  • [BackEnd] WalletPay Worker to automatically pay purchases from wallet, when customer have balance.
  • [BackEnd] Add support to cPanel to automatically provision Shell access and Dedicated IPs
  • [BackEnd] Add Application Performance Monitoring to all Consumers and API Endpoints
  • [BackEnd] Remov deprecated StagingUpdate functionality
  • [BackEnd] Add support for disabling APM for heavy loaded consumers
  • [BackEnd] Change search module to create not exclusive queues and be able to reconnect on error and not lost all tasks
  • [BackEnd] Fix in SystemManager for APM Exception Handling to support console scripts content and status codes
  • [BackEnd] Fix in PremiumDomain search and Simple Domain Search for searching non supported TLD
  • [BackEnd] Deprecate RenewCron in favor of AutoRenewWorker
  • [BackEnd] Improve Documentation Generation
  • [BackEnd] Add support for private API References
  • [BackEnd] Deprecate EmailTemplateSyncListener, because of the new MJML Email Functionality
  • [BackEnd] DiscountGenerator functionality for creating promocodes on request
  • [BackEnd] Deprecate tld_info Resource
  • [BackEnd] Deprecate LogResource Resource
  • [BackEnd] Deprecate ResourceTags Resource
  • [BackEnd] Deprecate Tags Resource
  • [BackEnd] Deprecate Server Resource
  • [BackEnd] Add new AutoRenewWorker for creating automated purchases for expiring products on nextduedate
customerproduct.producttype = normal
customerproduct.autorenew = enabled
customerproduct.nextdue_date = {{TODAY}}
customer_product.status = active, expired, suspended, redemption
catalog_product.status != inactive
catalogproduct.billingtype = renewable, continuous
order.type != renew
order.status != activated, canceled, collapsed
order.status is not in "last 30 days"
  • [BackEnd] Deprecate tables: purchasestoinvoices, customer_invoice
  • [BackEnd] Add support for not specified quantity on Renew Request
  • [BackEnd] Remove all "NOT SUPPORTED" product options on customer product upgrade
  • [BackEnd] Fix: OrderApproved & Order Strategy support vat added purchases and descriptors
  • [BackEnd] Added: CustomerProductFinder RPC.
  • [BackEnd] Add AMP to CartUpdateWorker, FinancialDocumentWorker, AbandonedCartWorker
  • [BackEnd] Fix for DumpActivityFromRedisToDB Worker not to import bigger than 1MB requests/responses into DB due to overloading.
  • [BackEnd] Add automatic logging on adding Span to APM Transaction
  • [BackEnd] Add Improved internal APM library, that supports Request Body logging (sanitized) and custom headers logging
  • [BackEnd] Support for username changing. When change the username of the system, will automatically change it into accesstokens & refreshtokens
  • [BackEnd] New API: CustomerProductFinder. Used for finding customer product based on multi options criteria. The RPC supports text and functional based values for the options. This means, you can specify search criteria like: cpanelusername: apihawk AND sshaccess: On
  • [BackEnd] New Cron/Worker: AbandonedCart Trigger. The script is used to send emails to customers who have left items in their cards. This functionality will AUTOMATICALLY generate a discount code with first level affiliates.
  • [BackEnd] QueryBuilder support to Manage Admins API1
  • [BackEnd] Multi language support on Eventor data collection


  • [Billia store] Added: new option for providing EPP code at a later stage during domain transfer.
  • [Billia store] Added: when adding a product to shopping cart an indicator with product count is visible on site. Even if not logged in a user can access his shopping cart while browsing the site.
  • [Customer portal] Added: new functionality for affiliates to create their own promo codes. These promo codes can be given by affiliates to their customers and commission can be shared. Promo code discount can’t be more than the total % discount given for each product to each affiliate. Functionality can be accessed on affiliate module in customer portal.
  • [Customer portal] Added: affiliate ID and name are now being displayed on purchase summary page along with product price, tax, discounts, and rest of information.
  • [Management panel] Added: new feature helpers are added to the system. They represent little tips on what certain fields do and what type of data is required for them. These tool tip helpers can be accessed by pressing the ? icon next to each label/field on the interface throughout the admin panel. Additional link to Help Centre article can be added to each tool tip if more information is required by the user.
  • [Management panel] Added: in Help Center articles there is now an option to add meta description if needed to each article.
  • [Management panel] Added: in blog articles there is now an option to add meta description if needed to each blog post for company website.
  • [Management panel] Added: new functionality to list all abandoned items in shopping carts. The module lists all cart items along with users and date added to the cart. This new functionality allows for re-targeting customers at a later stage with the intention to finalize their order. Module can be accessed through the Marketing menu.
  • [Management panel] Added: new functionality that allows to set a due date for each product before they expire. This creates due amount in the system that is communicated with the customer. This gives the users enough time to pay for their product before it expires.
  • [Management panel] Added: on purchase details page a new link is added that leads you directly to the product details page. Clicking on product name will only highlight the string in order to make it easy to copy. Link to product page is accessed through the eye icon to the right of the product summary.
  • [Management panel] Added: ability to enter floating-point numbers (3.14, 5.3333) when adding a transaction in the transaction tab.
  • [Management panel] Added: functionality to make a copy of primary profile with one click. This allows for faster generation of secondary profiles with slight modifications of contact or company information.
  • [Management panel] Added: ability to test new Eventor flows in the system. The system populates example data and allows admin users to test newly created flows.


  • [Billia store] Changed: Search for unsupported TLD does not show an error anymore, but rather cross-sell suggestions for supported TLDs.
  • [Billia store] Changed: changed system error message to more user-friendly ones. System now indicates which field to be modified due to wrong data entered. Also, required fields are now indicated.
  • [Customer portal] Changed: Affiliate products are now grouped by categories that can be expanded/collapsed for better vizualisation.
  • [Customer portal] Changed: OnApp products due for renewal are updated with new options. If the product is VPS then renew button appears as “Renew” For cloud product the renew button appears as “Top-up” allowing the user to constantly supply funds to their cloud account as it never expires. Cloud and VPS products can have either “Renew” or “Top-up” if the product option “topupaccountwallet” is enabled or not.
  • [Customer portal] Changed: Order preview page now displays discounts as percentage as well as fixed amount.
  • [Customer portal] Changed: changed the translation of “collapsed” to “in-progress” in client panel not to confuse the end user.
  • [Management panel] Changed: changed the Help Centre search to stay visible after completing a search.
  • [Management panel] Changed: VAT number is no longer required when adding company details in the system. This field is optional.
  • [Management panel] Changed: Dashboard API data is now being cached by the system. This allows for faster loading of the dashboard information.
  • [Management panel] Changed: on order summary page the “Total excluding VAT” is hidden. It can be enabled for markets requiring to display this information.
  • [Management panel] Changed: “suspended” and “blocked” user statuses are not valid statuses in the system anymore. They have been removed.


  • [Billia store] Fixed: SSL product configuration can now be done with existing domain not only domain transfer.
  • [Billia store] Fixed: added field validation in user/company profile in order to allow for successful order completion.
  • [Billia store] Fixed: broken discount messages in shopping cart.
  • [Billia store] Fixed: back button takes user one step back on login screen.
  • [Billia store] Fixed: double-click on button Add product to shopping cart adds two instances of the same product in user cart.
  • [Billia store] Fixed: search results for domain names break on long search strings. String is transferred to second row.
  • [Billia store] Fixed: postal codes for user/company profiles now support white space in between to support UK, Canadian, and other postal code formats.
  • [Customer portal] Fixed: Affiliates Products for which affiliates are getting commission are now displayed in their affiliates summary page.
  • [Customer portal] Fixed: cMailPro quota usage progress bars for each account account now shows correct calculation for % of quota used. Also total account quota is fixed to display correctly.
  • [Customer portal] Fixed: missing icons in customer dashboard.
  • [Management panel] Fixed: double click on create new document Save button used to create two identical documents. Now Save button becomes inactive after first click.
  • [Management panel] Fixed: now admin users can cancel pending orders that contain more than one product in it. By selecting Cancel from the main order status button user will be granted with a warning message that there is more than one product in this order.

[3.6.0] - 2019-01-24


  • [Management] Improved Banner Management, category Marketing, with new multi-language support, ability to clone existing Banners, and new “data’ JSON field
  • [Management Panel] Redirection from Order details to Automator job
  • [Management Panel] New “hidden” state for Catalog categories in order to hide or show active categories to end users
  • [Management Panel] Ability to duplicate a product with all of its options and fields, Catalog category
  • [Management Panel] New indicator next to every email address to mark subscribed and unsubscribed to GDPR ToS profiles, Customers category
  • [Management Panel] New Affiliate module ↓

The new Affiliates system is a functionality for the business to provide its customers with the opportunity to become promoters of their products, and earn rewards in the form of virtual money. This can be set specifically for any product or in general for all or the rest of them.


  • [Management Panel] Visualization of all related Automator tasks for every Order
  • [Management Panel] New Orders subsection for each user in Customers category
  • [Management Panel] New order-related notes which are not visible to customers
  • [Management Panel] New redirection from an order’s product/service to the exact product details in the respective Customer’s account
  • [Management Panel] Redesign of the display of Single discounts grid view - new columns Quantity and Type of order
  • [Management Panel] Additional search option “exact match” for categories Orders and Customers
  • [Management Panel] New button to go to Automator job and details in subsection Communication from Customers category
  • [Management Panel] New type of discount generating system - Promo Codes
  • [Management Panel] More advanced search capabilities in category Customers - via company name, VAT, or Tax ID in the same field
  • [Management Panel] New access for WHM panel for RS hosting
  • [Management Panel] New visualization of promo codes and discounts
  • [Management Panel] New Orders Filter system and status options. Improved detailed search ↓

    filter-orders-payment-status filter-orders-payment-method

    filter-orders-order-type filter-orders-status

  • [Customer Portal] New cookies manager in accordance with GDPR ToC

  • [Customer Portal] Updated integration for cMailPro
  • [Customer Portal] Added functionality to search accounts by email/username for cMailPro plugin
  • [Customer Portal] New payment confirmation pages based on payment status: Payment successful, Awaiting payment, and Payment unsuccessful
  • [Customer Portal] New WipeOut and Pin Lock bulk actions for AirSynch devices for cMailPro plugin
  • [Customer Portal] Domain and services transfer to new owner. Migration history. Control for the initiator to discontinue the migration
  • [Customer Portal] Availability to modify cMailPro email storage space
  • [Customer Portal] Product Upgrade with price calculation
  • [Customer Portal] New Affiliate feature
  • [Customer Portal] New functionality for products/services “Purchase for 2 days”
  • [API] New cron to monitor expiring products. Emails for product expirations can now be sent for 30 days, 7 days, 1 day, or custom setting.
  • [API] New Safecharge functionality for payments
  • [API] The field fetchNsHost now contains the data for the NS for RegistryEU domains
  • [API] Added Install Plugin functionality to set plugin specific parameters to selected products, Catalog category
  • [API] New Plesk plugin integration


  • [Management Panel] Updated user interface for category Customer, subsection Profile page ↓


  • [Management Panel] User interface redesigned for RBAC module

  • [Management Panel] Redesigned interface for the Catalog Product page ↓


  • [Management Panel] Redesigned interface for Eventor module ↓




  • [Management Panel] Improved manual domain sync with Registrar ResellerClub - Fetch button

  • [Management Panel] Order’s can have their purchase status “Collapsed” now manually changed to “In progress”, as well
  • [Management Panel] Updated refresh rate for Orders category to have 0 seconds/off mode
  • [Management Panel] Current service’s status now displayed in the Order’s Details page
  • [Management Panel] Company VAT validation removed
  • [Management Panel] Save as new button now shows only when editing an already existing Banner in the category Marketing, in order to clone it
  • [Customer Portal] New updated customer error message for new signups in case username/email is already used.
  • [Customer Portal] Payment methods’ image resources are now centralised for extraction from a single place
  • [Customer Portal] The price of the Cloud is displayed with six instead of two digits after the decimal point
  • [Customer Portal] No dashes allowed in the field for a phone number
  • [Customer Portal] Customer’s cart has been modified with a scroll and a button to empty the entire cart at once
  • [Customer Portal] Updated Cloud user interface ↓


  • [Customer Portal] Updated password rating of 65 for new cPanel accounts as per cPanel documentation

  • [Customer Portal] Improved check on password strength
  • [Customer Portal] Updated overview pages for Services and Domains ↓



  • [API] Paid orders from non-active users are set in Pending status until the user activates the account, at which point the order is then approved and provisioned

  • [API] Modified Document manager module ↓

This modified Document Manager feature now works on the basis of Templates and Appearances, which use the MJML language for configuration.



  • [API] Updated order confirmation
  • [API] Updated payment confirmation page to display Pending instead of Collapsed status when using any kind of delayed payment, e.g. Easypay
  • [API] Only one primary email per user is allowed
  • [API] Ability to sync domains with ResellerClub
  • [Help Center] Clicking on a link in a Help Center article opens it in a new tab
  • [Help Center] Updated suggestions for adding Help Center categories to other subcategories


  • [Management Panel] Fixed ability to add note to customer profile
  • [Management Panel] Fixed search per ID in Single discounts, category Marketing.
  • [Management Panel] Fixed the redirect from a transactions’ ID in the category Customers, subcategory Transactions, to the details of that particular order
  • [Management Panel] Exporting data in any other format than .CSV generates corrupted files
  • [Management Panel] Unable to change admin/user password in category Management, subcategory Manage Admins
  • [Management Panel] Promo code Search function doesn’t work properly
  • [Management Panel] Filtering orders by date range doesn’t work properly and still displays all orders
  • [Management Panel] Unable to filter out unpaid orders for a specific time period
  • [Management Panel] Selecting the user’s name in category Customers, subsection Orders, doesn’t redirect to customer’s profile
  • [Management Panel] Cannot modify products’/services’ expiry dates
  • [Customer Portal] Currency doesn’t update when modified in the Cloud page
  • [Customer Portal] Fixed account search fails with status 501 when there are no results matching, for cMailPro module
  • [Customer Portal] SSL clients’ data from their own panels is not visible in regards to renewing products/services
  • [API] SingleSignOn now available for Plesk module
  • [API] Fixed synchronisation issue between domain contacts and domain registrar
  • [API] Fixed pagination issue for email templates landing page
  • [API] Session now shared between Management and Customer panels while Impersonating a client
  • [API] Fixed issue with customer products being stuck in infinite processing
  • [API] Updated REST endpoint to return correct currency information to end-users
  • [API] System sends notification emails to all profile email addresses of the user, instead of only the primary one
  • [API] Fixed domain synchronization which allows all domain transfers to have their expiry, suspension and redemption automatically synced.
  • [API] Activation emails contain unusable account activation buttons
  • [API] Fixed Domain’s Days active calculation
  • [Help Center] Articles from Help Center preview appear duplicated if they are added in more than one category

[3.5.0] - 2018-05-21


  • [API] Integrated Plesk plugin. Major functionalities are included for: products, billing, customer, site, webspace. All CRUD related functions are standard for Plesk servers.
  • [API] Added more options for managing manual invoices. Once user generates a manual invoice the system will no longer automatically generate the same invoice. If an invoice is manually modified the system overwrites the same document with the same reference number. Additionally, users can flag a document in the system to be sent to client.
  • [API] Social login: Support for logging in the system by using the credentials of one of the social platforms that you use (Facebook, Twitter, LinkedIn, etc.).
  • [API] Added Console Welcome message. The system will print all supported commands on “Not found” in the console.
    $ php ./public/index.php test
                    Welcome to ApiHwak
    https://apihawk.com ; support@apihawk.com ; billia.io
            _          _ _   _                _    
           / \   _ __ (_) | | | __ ___      _| | __
          / _ \ | '_ \| | |_| |/ _` \ \ /\ / / |/ /
         / ___ \| |_) | |  _  | (_| |\ V  V /|   < 
        /_/   \_\ .__/|_|_| |_|\__,_| \_/\_/ |_|\_\
    [2014] - [2018] ApiHawk Incorporated
    All Rights Reserved.
    NOTICE: All information contained herein is, and remains
    the property of ApiHawk and its suppliers,
    if any. The intellectual and technical concepts contained
    erein are proprietary to ApiHawk
    and its suppliers and may be covered by EU and Foreign Patents,
    patents in process, and are protected by trade secret or copyright law.
    Dissemination of this information or reproduction of this material
    is strictly forbidden unless prior written permission is obtained
    from ApiHawk Technologies.
     Script: "index.php test" not found!
      index.php cronjob dump_activity_from_redis_to_db [--chunkSize=]    Dump activity from redis to db                                                                                                                   
      index.php cronjob clean_obsolete_events_from_db [--backInTime=]    Clean obsolete events from db                                                                                                                    
      index.php worker cart-update [-d|--debug]    Worker cart update  
    Reason for failure: Invalid arguments or no arguments provided 


  • [Customer Portal] Updated front-end support for group options in shopping cart. This allows for all options to be rendered and ordered correctly from the API. Options can now be toggled dynamically via radio buttons or check boxes. Option data is also successfully been set based on the option choice selected from the group. If item is not configured properly the customer is restricted from being able to check out.
  • [API] Improvement in Email Module to be able to send email not only to customers. If you send “to” field as a param, the EmailModule will be able to send the email, whiteout searching for User.
  • [API] If not tlds provided to the Search RPC in DomainModule, the system will automatically search in all olds.
  • [API] Improvements in DomainSearch RPC to return product information and pricing with Advanced Header.
  • [API]


  • [Management Panel] Two end points in the management panel were found to return 404 error. Configuration describing these paths was added to "modules-available.json" for resolving the issue.
  • [Customer Portal] Hardcoded variables for CSV options in shopping card are now pared dynamically.
  • [API] Improvement in PremiumDomain Module to send two request to DomainsBot, for fetching registered and available domains for better UX.
  • [API] Speed optimisation in SearchModule not to open socket to RBMQ and Elastic on every request.
  • [API] Added support for streaming loaded file in realtime to the AbstractRPCController
  • [API] Improvements in TAX calculations on “tax_excluded” mode.
  • [API] Improved 401 message: The user must be logged in to make this API request. Check the value of the Authorization HTTP request header.
  • [API] Significant speed optimisation on WhoAmI. The load is optimised from 20s to 500ms
  • [API] Fix in user finder RPC to fetch emails for a specific profile, not the whole account.
  • [API] Fix in Product Quantity Calculation to return the right price for all quantities.
  • [API] Invalidate in memory cache after update and before fatch for all db connected APIs

[3.4.0] - 2018-05-04


  • [API] Social Login. Supported Vendors: Facebook, Twitter, Google, GitHub, Reddit, BitBucket, WordPress, Tumblr, Disqus, Dribbble, WindowsLive, Foursquare, Instagram, LinkedIn, Yahoo, Vkontakte, Mailru, Odnoklassniki, StackExchange, OpenID, PaypalOpenID, StackExchangeOpenID, YahooOpenID, AOLOpenID, Steam, Discord, TwitchTV


  • [Customer Portal] Live chat integration with XIMSS protocol. Currently supported vendor: cMailPro

The chat is opening socket connection and handle the communication if the customer’s browser is opened. The messages are send to support staff, with animated “bot” answering for increasing the wait time.


  • [Management Panel] Custom document generation per order-purchase. You can manually generate or overwrite any existing document. You can generate: invoice, proform, protocol, debit or credit note. This feature is important for your billing and financial department for providing opportunities to sell non-sellable items and increase customer satisfaction with the ability to changing invoice params/fields on request.


  • [Management Panel] Custom Document Generation. You can generate custom/manual document (invoice, proform, protocol, debit or credit note) for an already existing customer or new one. The system will automatically generate the reference number and the document will be part of company's financial reports.

  • [Management Panel] In customers emails, provide information is this email subscribed to the GDPR marketing list. Supports management functionality with document uploading for authorising the change.


  • [Customer Panel] New functionality for subscribing an email/customer to the marketing lists (based on the GDPR regulations) This feature is giving you the ability to manage subscriptions to the marketing lists. Inspired and required from the lates EU regulations: GDPR, this feature is a must if you need to send marketing materials to your end customers. The software is stirring securely all subscribed emails, with an activity information, what, when and why is changed in the subsctiption of the email address.

  • [HelpCenter] Syntax highlighting support in article with prism color text. bzbRDjI

  • [API] New API Referene based on ReDoc and OpenAPI3. The system automatically generates the openapi specifications and visualise them via redoc. Screenshot_2018-05-02_17.57.54

  • [API] Improved API Headers and meeting latest security standards. New headers: Strict-Transport-Security, Content-Security-Policy, X-Frame-Options, X-Xss-Protection, X-Content-Type-Options, Referrer-Policy, Expect-CT Screenshot_2018-05-02_18.04.13


  • [Management Panel] Redesigned navigation on the administration area, with support for "new" labels and counters of the important resources, such as Customers and Orders Screenshot_2018-05-02_16.00.47

  • [Management Panel] If an order or purchase has any audit logs, new warning message will be shown.
  • [Management Panel] Profile changing in already placed purchase through management panel Screenshot_2018-05-02_17.11.18

  • [Management Panel] Customer profile: ability to add emails and company information for each customer profile.
  • [Management Panel] Customer Grid: Remove edit button and add “view” button, which will navigate to the customer preview
  • [Management Panel] Customer Grid: Add customer avatar in the grid
  • [API] QueryBuilder supports nested objects:
  • You can send: [ 'where' => [ [ 'nest' => 'open', 'field' => 'resource', 'where' => 'and', 'type' => 'equalTo', 'value' => 'order_purchase' ], [ 'nest' => 'close', 'field' => 'resource_id', 'where' => 'or', 'type' => 'equalTo', 'value' => '805 ' ], [ 'nest' => 'open', 'field' => 'resource', 'where' => 'and', 'type' => 'equalTo', 'value' => 'order' ], [ 'nest' => 'close', 'field' => 'resource_id', 'where' => 'and', 'type' => 'in', 'values' => [947, 948] ], ] ]

and will generate:

SELECT `audit_logger`.* FROM `audit_logger` WHERE ((`resource` = ‘order_purchase’ AND `resource_id` = ’805 ’) OR (`resource` = ‘order’ AND `resource_id` IN (‘947’, ‘948’))) AND `user_id` = ‘1078’ AND `audit_logger`.`trash` = ’0’ORDER BY `id` DESC
  • [API] New log type: Audit Log. This is permanent log with automatic generation of human readable message. User Pavel Nikolov(me@pavel.bg) has changed order details: status: "provisioned" Screenshot_2018-05-02_18.12.55


  • [Management Panel] Missing user’s date_registered at User Details
  • [Management Panel] Missing currencies to the upcoming renewals in Dashboard
  • [Management Panel] Order Preview: Missing date paid information.
  • [Management Panel] Order Preview: Missing service period
  • [Management Panel] Global Search: When click on the search icon, the cursor will be already placed into the input area, for faster searching action.
  • [API] Wron order calculations in the management area. The order is multiplexed by the quantity.
  • [API] Notes adding is returning internal server error.
  • [Management Panel] Customer Preview: Currency is not populated
  • [Customer Panel] The add to shopping cart button is missing under Safari
  • [Customer Panel] Missing empty box background image in the customer dashboard.
  • [Management Panel] Panels debugger is not writing all information provided from the API
  • [Management Panel] Option behaviour field is not working properly and it is not saved automatically.
  • [Management Panel] Missing payments type in the add new payment page.
  • [Customer Panel] When impersonating user in the customer area and the access_token expires, the software crashes.
  • [API] DbConnected API is not triggering properly the events on fetch/create/update/delete actions
  • [API] In memory cache is not working due to the events triggering
  • [API] Workers are not working properly after fixing the in memory cache due to old information stored in the the memory.
  • [API] Do not index already deleted (trash = 1) items in the elastic search and if they are indexed, delete the index.

[3.3.0] - 2018-04-05


  • [API] Banner functionality. Used for showing ads to the end customers and up-sell them with specific products.
  • [Management Panel] Banner Management added in the Marketing Menu
  • [Customer Panel] Marketing Subscription Page for GDPR compliance
  • [Customer Panel] Option Groups support in shopping cart
  • [Customer Panel] Live Chat in Customer Panel via cMailPro
  • [Management Panel] Option Group support and management
  • [Management Panel] Option Visibility Management with one to many relation for visibilities
  • [Management Panel] Option Value Type Management
  • [API] Email Service will automatically generate emails if missing with some dummy data and will no longer crash with error on not defined template.
  • [AppCell] cMailPro Plugin with REST API
  • [AppCell] Created a Go skeleton for pluggable commands. The first command is: CheckEnv.


  • [API] Customer Fast Create, no returns proper 422 on existing account and automatically generates login credentials on register.
  • [API] Improvements into RBAC module, when permission is missing to create all other actions such as: Create, Read, Update, Delete
  • [HelpCenter] HelpCenter Content Indexer provide full url, based on the primary category
  • [HelpCenter] Migrated to the new Language Module stored into database
  • [Management Panel] Redesigned Catalog Option Management page
  • [Customer Panel] Support for new option visibilities in shopping cart and Billia store
  • [Customer Panel] Dashboard redesign with more systematic and valuable information tailored towards the user.


  • [API] Added HTML entity decode before parsing email templates for fixing the issue: "Unexpected character "&" in "template""
  • [API] Product Quantity Calculator fix for wrong price calculations
  • [API] Fix for changing quantity in shopping cart
  • [API] Added to CatalogOptionResource field validations
  • [HelpCenter] Notice when indexing content without tags
  • [Customer Panel] CSV field support in all products, based on the behaviour field
  • [Customer Panel] AngularJS cannot be bootstrapped in IE11
  • [Management Panel] Attaching option to group is working properly
  • [Management Panel] Eventor alias duplication issue
  • [Management Panel] If go directly from the menu to the Eventor page, it does not show an empty page.
  • [Management Panel] Adding options in catalog product is working properly.

[3.2.0] - 2018-02-21


  • [Management Panel] Eventor Management Service Blog post
  • [Management Panel] New JSON input control, used for writing json strings with validation and syntax highlighting.
  • [Management Panel] New Catalog Management Page, with simplified configuration, tabulations and new features.
  • [Management Panel] Choice Value field. This field is used for different "user friendly" title and "system friendly value"
  • [Management Panel] Choice Generating page. This page is used for generating huge amount of option, based on progression. e.g. 1GB, 2GB, ... 100GB
  • [Management Panel] Option Reordering Support in Catalog/Product configuration page.
  • [Customer Panel] Live Chat with cMailPro backend added into customer panel.
  • [Management Panel] After changing an email appearance, the system will automatically rebuild all email templates attached to this appearance and will save the newly compiled HTML
  • [Management Panel] Email Templates Example Data. Now you can see, edit and use all email template's example data. The data is collected when for the first time the email is sent.
  • [Management Panel] Email Templates variables and functions support. Giving the administrator an easy and powerful tool for configuring the email templates with easy to see, what variables are supported.
  • [API] PremiumDomain Module added with support for domain suggestion from DomainBot and automatically (under the hood) slow domain validation, which will be pushed to the NOF via AMQP.
  • [API] Added functionality for generating PDF documents based on user input request.
  • [Customer Panel] CLI interface for modules configuration.


  • [Gear] Retry Queues automatically delete themselves on zero messages
  • [Management Panel] Added new option types: 'csv','min-max' to Catalog/Option management pages
  • [Management Panel] Added new save strategy: 'saveonly' to Catalog/Option management pages
  • [Management Panel] Added new field 'behavior' with JSON support. This field is used for adding custom behaviour to an option.
  • [API] Shopping Cart now supports states: configured, not-configured, price-changed, not-available. The shopping cart can be checkout only if all of the items are configured.
  • [HelpCenter] HelpCenter can now be started without the need of Billia's main API service. Both Customer and Management panel can connect only to the HelpCenter software.


  • [Customer Panel] Wrong icons in service preview page
  • [Customer Panel] VAT number is not required field
  • [Management Panel] Delete article: popup message do not close

[3.1.0] - 2018-02-05


  • [Management Panel] page for managing "Applications", which have access to the software.
  • [Management Panel] new language management configuration.
  • [Management Panel] new country management page that returns all supported countries and taxes in the software.
  • [API] New Documentation (API Reference) system based on ReDoc (https://redoc.ly).
  • [API] New API for Choice Generation.
  • [API] Choices new field "value" used for system purposes. The field is automatically populated from the "name field" if empty.
  • [API] EmailTemplate/Appearance has QueryBuilder Support.
  • [API] Added pre-parsing collector in EmailModule. Used for adding custom functionalities in HTML, where it is not supported from the HTML parsers. E.g. Betweens rows of a table.
  • [API] Added RPC for Catalog Product Price calculations based on different quantities provided. The functionality automatically calculates quantity discounts, taxes and totals for every quantity.


  • [API] Enable Query Builder for /email/template and /email/appearance.
  • [Customer Panel] VAT number is no longer required for adding and editing company information.
  • [API] Migrated SystemModule to SystemManagerModule due to loading issue.
  • [API] Help Center: changed description field in categories from varchar(255) to text to increase character set.
  • [API] Updated Wallet functionality to process real time wallet transactions.


  • [API] Deprecated RPC system/download-email-templates used for downloading email templates. This feature is removed due to migrating the emails to MJML and starring them into database.
  • [API] Deprecated RPC system/search in favor of SearchModule


  • [API] Fixed AuthBridge for returning the right configuration file in lower event priority.
  • [Management Panel] drop-down menus not closing after item selection
  • [API] fixed AuthBridge for returning the right configuration file in lower event priority.