Domains Reseller For WHMCS
(→API Documentation) |
(→Dashboard) |
||
(39 intermediate revisions by 2 users not shown) | |||
Line 234: | Line 234: | ||
{| | {| | ||
|style="padding: 0px 0px 0px 30px;"|✔ Release/Delete Domain | |style="padding: 0px 0px 0px 30px;"|✔ Release/Delete Domain | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ Get Domain Information | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ Get Domain Suggestions | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ Get Cart TLDs Register/Renew/Transfer Pricing | ||
|} | |} | ||
{| | {| | ||
Line 277: | Line 286: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Integrated With | + | |style="padding: 0px 0px 0px 30px;"|✔ Integrated With [https://www.modulesgarden.com/products/whmcs/domain-orders-extended Domain Orders Extended For WHMCS] - Innovative Way Of Selling TLDs & gTLDS |
|} | |} | ||
{| | {| | ||
Line 286: | Line 295: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Supports PHP 8. | + | |style="padding: 0px 0px 0px 30px;"|✔ Supports PHP 8.2 Back To PHP 7.4 |
|} | |} | ||
{| | {| | ||
Line 292: | Line 301: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 0px 30px;"|✔ Supports WHMCS V8. | + | |style="padding: 0px 0px 0px 30px;"|✔ Supports WHMCS V8.11 Back To WHMCS V8.8 |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 30px;"|✔ Easy Module Upgrade To [https://www.modulesgarden.com/products/whmcs/domains-reseller#open-source-version Open Source Version] | + | |style="padding: 0px 0px 0px 30px;"|✔ Requires Database With InnoDB Storage Engine |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 0px 30px;"|✔ Requires ionCube Loader V13 Or Later | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 30px;"|✔ Easy [https://www.docs.modulesgarden.com/How_To_Upgrade_WHMCS_Module Module Upgrade] To [https://www.modulesgarden.com/products/whmcs/domains-reseller#open-source-version Open Source Version] | ||
|} | |} | ||
Line 315: | Line 330: | ||
{| | {| | ||
|style="padding: 0px 0px 15px 15px;"|'''2. In the downloaded file you might find one or two packages that support different PHP versions.'''<br/> | |style="padding: 0px 0px 15px 15px;"|'''2. In the downloaded file you might find one or two packages that support different PHP versions.'''<br/> | ||
− | In the most recent versions of the module, you will find only one package that supports PHP 7. | + | In the most recent versions of the module, you will find only one package that supports PHP 7.4 and later.<br/> <!-- If you need a package for the previous versions of PHP, please [https://www.modulesgarden.com/support/ticket/general-support contact our support]. --> |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:PHP74_81.png]] |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 15px 15px;"|Previous updates of the module may contain a package dedicated to other PHP versions, that are no longer officially supported. Find more info [http://php.net/supported-versions.php here] <br/> |
+ | '''''Note''': You can check the current PHP version in your WHMCS. To do so, proceed to ''' 'Utilities' → 'System' → 'PHP Info'.''''' | ||
|} | |} | ||
{| | {| | ||
Line 336: | Line 344: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:DR_2.png]] |
|} | |} | ||
{| | {| | ||
Line 343: | Line 351: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 25px;"|[[File: | + | |style="padding: 0px 0px 20px 25px;"|[[File:DR3_3.png]] |
|} | |} | ||
{| | {| | ||
Line 354: | Line 362: | ||
{| | {| | ||
|style="padding: 0px 0px 15px 15px;"|'''6. In the next step, set up the '' 'storage' '' folder as recursively writable.'''<br /> | |style="padding: 0px 0px 15px 15px;"|'''6. In the next step, set up the '' 'storage' '' folder as recursively writable.'''<br /> | ||
− | This folder is available at '' 'yourWHMCS/modules/addons/ | + | This folder is available at '' 'yourWHMCS/modules/addons/DomainsReseller/'. '' |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 20px 25px;"|[[File:dr3_5.png]] |
|} | |} | ||
{| | {| | ||
Line 403: | Line 411: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 30px 25px;"|[[File:DR3_26.png]] | + | |style="padding: 0px 0px 20px 25px;"|[[File:DR3_26.png]] |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|To allow more flexibility, you are given a chance to freely customize your dashboard and turn off/on single elements visible on it.<br/> | ||
+ | To do so, find and open the '' "dashboard.yml" '' configuration file located at: ''(...)modules\addons\DomainsReseller\app\Config\UIElements\AdminArea'' directory.<br/> There manage the dashboard elements' status by changing it from on to off according to your needs. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:DR3_26-0.png]] | ||
|} | |} | ||
Line 409: | Line 424: | ||
{| | {| | ||
|style="padding: 10px 0px 15px 15px;"|'' 'Settings' '' tab allows you to access general settings of your Domain Reseller API. <br/> | |style="padding: 10px 0px 15px 15px;"|'' 'Settings' '' tab allows you to access general settings of your Domain Reseller API. <br/> | ||
− | Here you may set up general options but still, you will be able to change them per single group. If you skip group settings, | + | Here you may set up general options but still, you will be able to change them per single group. If you skip group settings, this configuration will be taken into account. |
|} | |} | ||
{| | {| | ||
Line 420: | Line 435: | ||
*'' 'IP Addresses Restriction' '' - enable/disable restricting connection to Domains Reseller API only for IP addresses specified in the '' 'Allowed IP Addresses' '' field.<br /> | *'' 'IP Addresses Restriction' '' - enable/disable restricting connection to Domains Reseller API only for IP addresses specified in the '' 'Allowed IP Addresses' '' field.<br /> | ||
*'' 'API Requests Restriction' '' - enable option to restrict the number of API requests.<br /> | *'' 'API Requests Restriction' '' - enable option to restrict the number of API requests.<br /> | ||
− | *'' 'Remove Logs After (days)' '' - define the | + | *'' 'Remove Logs After (days)' '' - define the number of days, log records older than the provided here number will be automatically deleted. |
|} | |} | ||
{| | {| | ||
Line 429: | Line 444: | ||
*'' 'Low Credit Notification' '' - a notification to your client will be sent when credit balance on client's account falls below entered value.<br /> You may view and edit the '' "Low Credit Notification" '' custom email template sent to clients at '' 'WHMCS' → 'System Settings' → 'Email Templates'.'' This email message is sent with the main WHMCS cron job. | *'' 'Low Credit Notification' '' - a notification to your client will be sent when credit balance on client's account falls below entered value.<br /> You may view and edit the '' "Low Credit Notification" '' custom email template sent to clients at '' 'WHMCS' → 'System Settings' → 'Email Templates'.'' This email message is sent with the main WHMCS cron job. | ||
− | *'' 'Low Credit Amount' '' - the number of credits, when reached a notification will be sent<br/> | + | *'' 'Low Credit Amount' '' - the number of credits, when reached a notification will be sent.<br/> |
*'' 'Payment Type' ''options: | *'' 'Payment Type' ''options: | ||
**'' 'Pay After Registration' '' - resellers must have sufficient credits amount, but he is charged only after a domain has been successfully registered. | **'' 'Pay After Registration' '' - resellers must have sufficient credits amount, but he is charged only after a domain has been successfully registered. | ||
− | **'' 'Pay After Order' '' - resellers must settle the payment just after the order, the amount due is taken from | + | **'' 'Pay After Order' '' - resellers must settle the payment just after the order, the amount due is taken from their account instantly.<br /> |
*'' 'Refund Type' '' - defines behavior of the module upon unsuccessful domain registration.<br /> | *'' 'Refund Type' '' - defines behavior of the module upon unsuccessful domain registration.<br /> | ||
− | **'' 'Credits Only' '' - if selected, refunds are granted in form of credits only | + | **'' 'Credits Only' '' - if selected, refunds are granted in form of credits only. |
− | **'' 'Refund Invoice' '' - if selected, refunds are delivered in form of credits along with a newly generated invoice | + | **'' 'Refund Invoice' '' - if selected, refunds are delivered in form of credits along with a newly generated invoice. |
− | **'' 'Disabled' '' - if selected, refunds are not accepted | + | **'' 'Disabled' '' - if selected, refunds are not accepted. |
*'' 'Allow Debits' '' - if enabled, resellers with no credits on their account will be allowed to order domains. In such a case, an invoice with '' 'Unpaid' '' status will be created for the ordered domain.<br/> | *'' 'Allow Debits' '' - if enabled, resellers with no credits on their account will be allowed to order domains. In such a case, an invoice with '' 'Unpaid' '' status will be created for the ordered domain.<br/> | ||
Line 469: | Line 484: | ||
{| | {| | ||
|style="padding: 10px 0px 15px 15px;"|You can set up configuration for resellers who are assigned to this very group only.<br/> These settings will overwrite the general [[#General Settings|settings]] defined in the previous step. | |style="padding: 10px 0px 15px 15px;"|You can set up configuration for resellers who are assigned to this very group only.<br/> These settings will overwrite the general [[#General Settings|settings]] defined in the previous step. | ||
− | *'' 'API Status' '' - enable/disable Domains Reseller API for Resellers assigned to this very group only<br /> | + | *'' 'API Status' '' - enable/disable Domains Reseller API for Resellers assigned to this very group only.<br /> |
*'' 'IP Address Restriction' '' - enable/disable restricting connection to Domains Reseller API only for IP addresses specified in the 'Allowed IP Addresses' field. | *'' 'IP Address Restriction' '' - enable/disable restricting connection to Domains Reseller API only for IP addresses specified in the 'Allowed IP Addresses' field. | ||
*'' 'API Requests Restriction' '' - enable the option to restrict the number of API requests. | *'' 'API Requests Restriction' '' - enable the option to restrict the number of API requests. | ||
Line 476: | Line 491: | ||
**'' 'Override' ''- you will be able to set pricing in the TLD's Tab. | **'' 'Override' ''- you will be able to set pricing in the TLD's Tab. | ||
**'' 'WHMCS' '' - pricing is copied from that one set in WHMCS and you will not be able to set pricing in the TLD's Tab. | **'' 'WHMCS' '' - pricing is copied from that one set in WHMCS and you will not be able to set pricing in the TLD's Tab. | ||
− | *'' 'Promotion Code' '' - provide a WHMCS promo code if you own one, the discount will be applied to every order covering pro code restrictions '''''(WHMCS pricing method only)''''' | + | *'' 'Promotion Code' '' - provide a WHMCS promo code if you own one, the discount will be applied to every order covering pro code restrictions '''''(WHMCS pricing method only.)''''' |
*'' 'Low Credit Notification' '' - turn on sending notifications to your client when credit balance on client's account falls below entered value.<br/>You may view and edit the '' "Low Credit Notification" '' custom email template sent to clients at '' 'WHMCS' → 'System Settings' → 'Email Templates'.'' This email message is sent with the main WHMCS cron job. | *'' 'Low Credit Notification' '' - turn on sending notifications to your client when credit balance on client's account falls below entered value.<br/>You may view and edit the '' "Low Credit Notification" '' custom email template sent to clients at '' 'WHMCS' → 'System Settings' → 'Email Templates'.'' This email message is sent with the main WHMCS cron job. | ||
− | *'' 'Low Credit Level' '' - amount of credits, when reached a notification will be sent | + | *'' 'Low Credit Level' '' - amount of credits, when reached a notification will be sent. |
*'' 'Payment Type' '' options: | *'' 'Payment Type' '' options: | ||
**'' 'Pay After Registration' - resellers must have sufficient credits amount, but he is charged only after a domain has been successfully registered. | **'' 'Pay After Registration' - resellers must have sufficient credits amount, but he is charged only after a domain has been successfully registered. | ||
− | **'' 'Pay After Order' - resellers must settle the payment just after the order, the amount due is taken from | + | **'' 'Pay After Order' - resellers must settle the payment just after the order, the amount due is taken from their account instantly. |
*'' 'Refund Type' '' - defines behavior of the module upon unsuccessful domain registration. | *'' 'Refund Type' '' - defines behavior of the module upon unsuccessful domain registration. | ||
− | **'' 'Credits Only' '' - if selected, refunds are granted in form of credits only | + | **'' 'Credits Only' '' - if selected, refunds are granted in form of credits only. |
− | **'' 'Refund Invoice' '' - if selected, refunds are delivered | + | **'' 'Refund Invoice' '' - if selected, refunds are delivered in form of credits only. |
− | **'' 'Disabled' '' - if selected, refunds are not accepted | + | **'' 'Disabled' '' - if selected, refunds are not accepted. |
− | *'' 'Allow Debits' '' - resellers with no credits on their account will be allowed to order domains, invoice with '' 'Unpaid' '' status will be created for such order | + | *'' 'Allow Debits' '' - resellers with no credits on their account will be allowed to order domains, invoice with '' 'Unpaid' '' status will be created for such order. |
**'' 'Maximum Debit Amount'' ' - define the maximum amount a reseller may spend on new domains (if there are no credits on the account).<br/> '''''Important:''' This amount is a total of all the 'Unpaid' invoices created in your system.'' | **'' 'Maximum Debit Amount'' ' - define the maximum amount a reseller may spend on new domains (if there are no credits on the account).<br/> '''''Important:''' This amount is a total of all the 'Unpaid' invoices created in your system.'' | ||
*'' 'Default Registrant' '' - select default contact that will be used during registration. This option is available only if registrant contact uses WHMCS details. | *'' 'Default Registrant' '' - select default contact that will be used during registration. This option is available only if registrant contact uses WHMCS details. | ||
Line 500: | Line 515: | ||
===API Permissions=== | ===API Permissions=== | ||
{| | {| | ||
− | |style="padding: 10px 0px 20px 15px;"|Toggle options that resellers will be allowed to use via API. Select | + | |style="padding: 10px 0px 20px 15px;"|Toggle options that resellers will be allowed to use via API. Select single options or use '' 'Switch All' '' button to toggle all permissions. |
|} | |} | ||
{| | {| | ||
Line 588: | Line 603: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|Your group configuration is now ready. If you have more groups, repeat these steps for each of them.<br/> | + | |style="padding: 0px 0px 15px 15px;"|You can also set up pricing and margins with WHMCS [https://docs.whmcs.com/Registrar_TLD_Sync Registrar TLD Sync].<br/> |
+ | Your group configuration is now ready. If you have more groups, repeat these steps for each of them.<br/> | ||
Remember that you may always edit the single group name or delete it if no longer needed. Just press adequate buttons to do so. | Remember that you may always edit the single group name or delete it if no longer needed. Just press adequate buttons to do so. | ||
|} | |} | ||
Line 727: | Line 743: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 20px 15px;"|Use action buttons to delete | + | |style="padding: 0px 0px 20px 15px;"|Use action buttons to delete selected logs or just single entries. |
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 20px 25px;"|[[File:DR3_51_2.png]] |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 15px;"|You can also delete all logs by using the "Delete All Logs" function. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 25px;"|[[File:DR3_51_3.png]] | ||
|} | |} | ||
Line 948: | Line 970: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px 15px 15px;"|It is time to quickly set up the pricing, do not forget to define higher prices | + | |style="padding: 0px 0px 15px 15px;"|It is time to quickly set up the pricing, do not forget to define higher prices than the provider has stated in your Reseller Area to assure incomes! Save the changes once ready.<br/> |
You can find more information about the pricing in Domain Orders Extended For WHMCS [https://www.docs.modulesgarden.com/Domain_Orders_Extended_For_WHMCS#Edit_TLD_Pricing here]. | You can find more information about the pricing in Domain Orders Extended For WHMCS [https://www.docs.modulesgarden.com/Domain_Orders_Extended_For_WHMCS#Edit_TLD_Pricing here]. | ||
|} | |} | ||
Line 1,073: | Line 1,095: | ||
|style="padding: 0px 0px 15px 15px;"|Allowed actions on the product:<br/> | |style="padding: 0px 0px 15px 15px;"|Allowed actions on the product:<br/> | ||
− | *'''Create''' - once a client orders the product, go to Client's ''Products/Services'' and run the '' 'Create' '' action.<br/> When successful, the client appears on the list of resellers in your addon ''(see the screen below)'' | + | *'''Create''' - once a client orders the product, go to Client's ''Products/Services'' and run the '' 'Create' '' action.<br/> When successful, the client appears on the list of resellers in your addon ''(see the screen below).'' |
− | *'''Suspend''' - after successful ''Suspend'' action in the Client's ''Products/Services'', the ' ''API Key Status'' ' of this reseller is switched off | + | *'''Suspend''' - after successful ''Suspend'' action in the Client's ''Products/Services'', the ' ''API Key Status'' ' of this reseller is switched off. |
− | *'''Unsuspend''' - run '' 'Unsuspend'' ' command to again switch on the reseller's '' 'API Key Status'' ' | + | *'''Unsuspend''' - run '' 'Unsuspend'' ' command to again switch on the reseller's '' 'API Key Status.' '' |
− | *'''Terminate''' - when the product is terminated, the Reseller's '' 'API Key Status' '' is again switched off | + | *'''Terminate''' - when the product is terminated, the Reseller's '' 'API Key Status' '' is again switched off. |
|} | |} | ||
{| | {| | ||
Line 1,092: | Line 1,114: | ||
{| | {| | ||
|style="padding: 0px 0px 15px 15px;"|'''Once any of your clients orders this product, they will automatically become resellers.''' <br/> | |style="padding: 0px 0px 15px 15px;"|'''Once any of your clients orders this product, they will automatically become resellers.''' <br/> | ||
− | They will get access to '' 'Reseller Area', '' | + | They will get access to the '' 'Reseller Area', '' from where they can resell the domains, that belong to their pricing group. |
|} | |} | ||
{| | {| | ||
Line 1,119: | Line 1,141: | ||
<h5 style="color: #ff0000; font-weight:bold;">Please be aware that when updating from version 1.x. to 2.0.0 of the module no data are migrated!<br/> | <h5 style="color: #ff0000; font-weight:bold;">Please be aware that when updating from version 1.x. to 2.0.0 of the module no data are migrated!<br/> | ||
− | All the resellers and their configuration will need to be set up from the beginning.</h5><br/> | + | All the resellers and their configuration will need to be set up from the beginning.</h5> |
+ | |} | ||
+ | =Upgrade Guide= | ||
+ | {| | ||
+ | |style="padding: 10px 0px 30px 15px;"|Seeking a solution that offers greater flexibility, customization tailored to your precise needs, and unrestricted availability?<br/> There is an option that not only proves to be cost-effective in the long run but also includes prioritized support services, making it a truly valuable investment.<br/> | ||
+ | |||
+ | Opt for the [https://www.modulesgarden.com/products/whmcs/domains-reseller#open-source-version Open Source version] of your Domains Reseller For WHMCS module to unlock these benefits.<br/> Simply click on either the '''Get Source Code''' or '''Upgrade To Lifetime''' button found on the product's page in our client area to complete the one-step upgrade process, with a '''dedicated discount''' already applied.<br/> | ||
− | + | Follow a [https://www.docs.modulesgarden.com/How_To_Upgrade_WHMCS_Module comprehensive guide] covering the transition process, the advantages it brings, and step-by-step instructions on what to do next after the order has been successfully finalized. | |
− | + | ||
|} | |} | ||
Line 1,135: | Line 1,162: | ||
|} | |} | ||
{| | {| | ||
− | |style="padding: 0px 0px | + | |style="padding: 0px 0px 5px 15px;"|3. Error '' 'Function Not Supported by Registrar Module' '' means that registrar on main WHMCS does not support the operation you were trying to do. |
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 15px 15px;"|4. Error: '' 'Provided domain has not been found in reseller account' '' <br/> | ||
+ | '''Explanation:''' The Domains Reseller For WHMCS module does not support the "[https://docs.whmcs.com/Clients:Domains_Tab#Transfer_Ownership Transfer Ownership]" action. If you attempt to transfer a domain between WHMCS clients (resellers), the above error will appear. <br/> | ||
+ | '''Solution:''' Transfer the domain between resellers manually at the database level. To do so, execute the following command: <br/> | ||
+ | <code> | ||
+ | UPDATE `DomainsReseller_ResellerRelations` SET `resellerid` = (SELECT id FROM `DomainsReseller_Resellers` WHERE `clientid` = :newClientID) WHERE relid = :domainId and type = 'domain'; | ||
+ | </code> | ||
+ | <br/> | ||
+ | '''Where:''' | ||
+ | * ''clientid'' - ID number of a WHMCS client (a reseller) to which a domain has been transferred | ||
+ | * ''relid'' - ID number of the transferred domain<br/> | ||
+ | based on the data from WHMCS system activity log.<br/> | ||
+ | |||
+ | '''For example:'''<br/> | ||
+ | <code> | ||
+ | UPDATE `DomainsReseller_ResellerRelations` SET `resellerid` = (SELECT id FROM `DomainsReseller_Resellers` WHERE `clientid` = 3804) WHERE relid = 5176 and type = 'domain'; | ||
+ | </code> | ||
+ | |||
+ | Based on system activity log data: | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 20px 25px;"|[[File:DR2 66.png]] | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 5px 15px;"|5. Error: '' 'Provided domain has not been found in reseller account' '' <br/> | ||
+ | '''Explanation:''' When the above error is returned by the API for any reseller domain action, it means that the order for this domain was added by default by WHMCS and not by the API of the module (reseller functionality).<br/> | ||
+ | '''Solution:''' The domain should be additionally [[#Domains|imported]] to the reseller manually. | ||
+ | |} | ||
+ | {| | ||
+ | |style="padding: 0px 0px 30px 15px;"|6. Do not upload any non ".php" files into the '' 'modules/addons/DomainsReseller/app/Libs/Resources/Submodules/Types'' ' folder, as it might cause certain issues with the functioning of the module. | ||
|} | |} |
Latest revision as of 14:15, 4 October 2024
Contents
|
[edit] About Domains Reseller For WHMCS
Domains Reseller For WHMCS allows you to resell TLDs as well as manage obtained income and resellers. All these in a single pane of glass. The module facilitates its own API which can be used by your resellers to offer domains within various systems like WHMCS, HostBill, Blesta and others. |
- Provider:
✔ View Resellers And TLDs Income Statistics |
✔ View Most Profitable Resellers And Latest Invoices |
✔ Create And Manage Resellers: |
✔ Assign To Dedicated Group |
✔ Assign Client's Account |
✔ Generate Access API Key |
✔ Restrict Access To Specific IP Addresses |
✔ Allow API Access |
✔ Define API Limits Interval And Requests |
✔ View Reseller's Orders And Income |
✔ Automatically Create Resellers From Clients Using Provisioning Module |
✔ Create And Manage Groups: |
✔ Allow API Access With Defined Permissions |
✔ Allow Access To API Documentation |
✔ Select Pricing Method For Reselling TLDs: |
✔ Override With Own Pricing Slab |
✔ Use Default WHMCS Pricing Slab |
✔ Provide Promotion Code With WHMCS Pricing Method |
✔ Send Low Credit Notification |
✔ Define Payment Collection Type: |
✔ After Domain Registration |
✔ After Order Placement |
✔ Define Refund Policy Upon Unsuccessful Domain Registration: |
✔ Disabled |
✔ Via Credits Only |
✔ Via Invoice Refund |
✔ Allow Reseller Debit Within Defined Unpaid Invoices Limit |
✔ Define Default Domain Registrant |
✔ Define Tech/Admin/Billing Domain Contact Details |
✔ Define Domain Contacts To Be Edited By End Clients |
✔ Create Domain Registrar Integration Modules For Resellers: |
✔ Choose Dedicated Platform: |
✔ WHMCS |
✔ Blesta |
✔ Define Name And Description |
✔ Provide Logo |
✔ Attach Additional Fields Integration File |
✔ Attach Documentation |
✔ Assign Offered TLDs For Resellers |
✔ Define Pricing For Each TLD Extension: |
✔ For Register, Transfer And Renew Action |
✔ For Each Year Period |
✔ For Each Currency |
✔ Create Response Templates To Overwrite Registrars Messages Displayed To End Clients |
✔ Configure Default Settings: |
✔ Toggle Global API Status |
✔ Toggle Global API IP Restriction |
✔ Toggle Global API Requests Restriction |
✔ Define Default Group Settings |
✔ View API Request And Response Logs |
✔ View API Documentation |
- Resellers:
✔ Access Dedicated Reseller Area |
✔ View Domains Orders |
✔ View TLDs Pricing |
✔ View And Assign Bought Domains |
✔ Access Reseller Settings: |
✔ View Available Account Credits |
✔ Access API Details: |
✔ View Available Credentials |
✔ View/Generate API Key |
✔ View/Modify IP Addresses Restrictions |
✔ Download Domain Registrar Integration Module |
✔ Download Provider Documentation |
✔ Download Additional Fields Integration File |
✔ View API Request And Response Logs |
✔ View API Documentation |
- End Clients:
✔ Manage Contact Information |
✔ Manage Email Forwarders |
✔ Manage DNS Records |
✔ Register/Manage Private Nameservers |
✔ Enable/Disable ID Protection |
- API Functionality:
✔ Register/Transfer/Renew Domain |
✔ Release/Delete Domain |
✔ Get Domain Information |
✔ Get Domain Suggestions |
✔ Get Cart TLDs Register/Renew/Transfer Pricing |
✔ Get/Modify Contact Details |
✔ Get EPP Code |
✔ Get/Modify Registrar Lock Status |
✔ Get/Save DNS Records |
✔ Get/Register/Modify/Delete Nameservers |
✔ Get/Save Email Forwarding |
✔ Modify ID Protection |
✔ Check Domain And Transfer Synchronization |
✔ Check Domain Availability |
✔ Get Available TLDs |
✔ Get Available Credits |
✔ Get Version |
- General Info:
✔ Transactions Between Resellers And Provider Settled With Credits |
✔ Integrated With Domain Orders Extended For WHMCS - Innovative Way Of Selling TLDs & gTLDS |
✔ Fully Integrated With Lagom WHMCS Client Theme |
✔ Multi-Language Support |
✔ Supports PHP 8.2 Back To PHP 7.4 |
✔ Supports WHMCS Themes "Six" And "Twenty-One" |
✔ Supports WHMCS V8.11 Back To WHMCS V8.8 |
✔ Requires Database With InnoDB Storage Engine |
✔ Requires ionCube Loader V13 Or Later |
✔ Easy Module Upgrade To Open Source Version |
[edit] Installation
This tutorial will show you how to successfully install and configure Domains Reseller For WHMCS. We will guide you step by step through the whole installation and configuration process. |
Please be aware that when updating from version 1.x. to 2.0.0 of the module no data are migrated!
All the resellers and their configuration will need to be set up from the beginning.
Note: If you are using Domains Reseller For WHMCS in any version prior to v2.x, follow these instructions.
1. Log in to our client area and download the module. |
2. In the downloaded file you might find one or two packages that support different PHP versions. In the most recent versions of the module, you will find only one package that supports PHP 7.4 and later. |
Previous updates of the module may contain a package dedicated to other PHP versions, that are no longer officially supported. Find more info here Note: You can check the current PHP version in your WHMCS. To do so, proceed to 'Utilities' → 'System' → 'PHP Info'. |
3. Extract the package and upload its content into the main WHMCS directory.
The content of the package to upload should look like this |
4. When you install Domains Reseller For WHMCS for the first time you have to rename the 'license_RENAME.php' file. File is located in 'modules/addons/domainsReseller/license_RENAME.php'. Rename it from 'license_RENAME.php' to 'license.php'. |
5. In order to configure your license key, you have to edit a previously renamed 'license.php' file.' Enter your license key between quotation marks as presented on the following screen. You can find your license key in our client area → 'My Products'. |
6. In the next step, set up the 'storage' folder as recursively writable. This folder is available at 'yourWHMCS/modules/addons/DomainsReseller/'. |
7. Now you have to activate the module in your WHMCS system. Log in to your WHMCS admin area. Go to 'System Settings' → 'Addon Modules'. Afterwards, find 'Domains Reseller' and press 'Activate' button. |
8. In the next step you need to permit access to this module. To do so click on 'Configure' button, tick 'Full Administrator' and press 'Save Changes'. |
9. You have just successfully installed Domains Reseller! You can access your module at 'Addons' → 'Domains Reseller'. |
[edit] Configuration and Management
Domains Reseller For WHMCS allows your customers to resell domains on their own WHMCS. |
[edit] Dashboard
Dashboard page includes some truly valuable graphs and summaries on income generated from reselling TLDs. The 'Income' section presents your income which is converted into USD basing on 'Base Conv. Rate' in System Settings → Currencies. |
You may easily change the graph settings by changing the time scope and selecting TLDs you are interested in. |
Most Profitable Resellers & Latest Invoices summaries: |
To allow more flexibility, you are given a chance to freely customize your dashboard and turn off/on single elements visible on it. To do so, find and open the "dashboard.yml" configuration file located at: (...)modules\addons\DomainsReseller\app\Config\UIElements\AdminArea directory. |
[edit] General Settings
'Settings' tab allows you to access general settings of your Domain Reseller API. Here you may set up general options but still, you will be able to change them per single group. If you skip group settings, this configuration will be taken into account. |
We will describe these options below. Global API related section:
|
Miscellaneous:
Remember to submit the changes, once you have finished. |
[edit] Groups
At the 'API Users' tab you can manage all aspects related to your resellers who will be assigned to these groups later on. Start by creating the first group for your resellers. Use either of the buttons marked on the screen below. |
Then, simply type in a unique name of your group. Create as many groups as you will need and set up different configuration to adjust them and then assign resellers to adequate groups. |
[edit] Configuration Per Group
You can set up configuration for resellers who are assigned to this very group only. These settings will overwrite the general settings defined in the previous step.
Save the changes when ready. |
[edit] API Permissions
Toggle options that resellers will be allowed to use via API. Select single options or use 'Switch All' button to toggle all permissions. |
[edit] Integrations
In this section you can create and manage integration modules which resellers will need to upload and activate to be able to resell domains you offer them. Press 'Add Integration' to begin. |
To generate a new integration module you need to provide following data:
|
Newly created Integration will appear on the list. You may:
|
In order to delete numerous integration at once, use the mass action button. |
[edit] TLDs
Create a list of TLDs with their custom pricing details that resellers assigned to this group will be allowed to offer to their clients. Press 'Assign TLD' button to begin. |
Select TLDs from the available and press 'Confirm'. To learn more about available TLDs, please refer to the official documentation here. |
Assigned TLDs will appear on the list, you may also preview here the registrar name of the TLD extension and pricing details. Press the 'Pricing' icon to set up your custom prices per TLD for resellers assigned to this group. |
In the Set Pricing tab, you can set the domain pricing for each of the registration periods in each available currency per every active TLD for resellers. In addition, if you put:
|
If you want to set up the same prices for all TLDs in this group, simply use the mass action button to do it almost with one click. In the same way you may unassign numerous TLDs from the group. |
You can also set up pricing and margins with WHMCS Registrar TLD Sync. Your group configuration is now ready. If you have more groups, repeat these steps for each of them. |
Keep in mind that you may never delete a group if there are any resellers assigned to the group. Before deleting it, you must choose an alternative group to which the resellers will be reassigned. |
Important: In the case of integration with Blesta you also have to manually add all the TLDs to the registrar's "config" file, otherwise they will not be available in the dedicated platform. The 'config' file is located in: /Registrar_Name/components/modules/registrarname/config/registrarname.php. Open the file, at the bottom you will find a section: "All available TLDs" with a few examples added by default, fill in the list with your TLDs. |
[edit] Resellers
In this section you will find a list of your active Resellers. Press 'Add Reseller' to make one of your clients a reseller. |
|
Instead of adding single resellers one by one, you may use the 'Add Resellers In Bulk' option. Then all your remaining users will be converted into resellers. |
Select a group to which the newly created resellers will be assigned. |
[edit] Reseller Details
[edit] API Configuration
Here you may easily alter the settings that you have defined when creating the reseller. Apart from them, you may preview the API Email Address and API Key required to activate and configure the integration module. |
[edit] Orders
This section includes a list of orders placed to purchase a domain with offered to this reseller TLDs. Take a look at any crucial details on the orders. |
[edit] Income
'Income' tab contains a current list of invoices that generate any income for the reseller. Press the invoice ID and you will be redirected to the invoice summary. |
[edit] Response Templates
In 'Response Templates' section you may add and edit new templates with text messages/information that are sent to clients instead of defined here system responses. In order to add a new response template press the 'Create Template' button and then follow the below instructions. |
Provide the pattern for search and replace in the system response depending on the type.
|
In the second step Replace With you need to enter a text message that will be sent to a client when the above entered pattern is found. The two messages will be replaced with one another. |
Define Priority. The higher number you enter, the higher priority will be assigned. Important! All active patterns within the same group found with different priorities are performed starting from the higher to lower priority. |
Finally,
It will specify if provided text in the first field should be treated as a text or a regular expression while searching for a pattern.
Remember, to finish successfully you need to press 'Confirm' button. |
Now you can see a newly configured response is visible on the list. You may edit the added response or remove it any time you need. Just use action buttons marked on the screen. |
[edit] Module Logs
In 'Logs' section you may preview a list of API requests and responses, including errors with the most important details on them. |
Use action buttons to delete selected logs or just single entries. |
You can also delete all logs by using the "Delete All Logs" function. |
[edit] Documentation
[edit] API Documentation
Under 'Documentation' tab you will find two subsections. The first one is dedicated to API. This API documentation has been prepared to allow you to write your own integration modules for platforms other than WHMCS and Blesta (included by default). 'Information' subtab contains:
|
'Calls' subtab contains information about actions supported by the API. Note: The screen below does not capture all the supported functions. |
The last section includes 'Models' details. |
[edit] Module Documentation
'Module Documentation ' is a hyperlink. It leads to the 'Domains Reseller For WHMCS' wiki article you are currently reading. |
[edit] Reseller Area
Resellers can manage API connection credentials directly from the provider WHMCS client area as well as see any details on its TLDs offer. Go to 'Domains' → 'Reseller Area' to access them. |
[edit] Orders
As you can see, 'Orders' section includes a detailed list of orders placed on domains with offered TLDs, with any payment details and date. |
[edit] Pricing
'Pricing' section includes a list of the Reseller's TLDs with the option to preview its pricing set up by the provider. |
[edit] Domains
The 'Domains' section allows Resellers to manage their domains. If you want to assign any domains that were bought previously, simply click on the following button. |
Now you can select one or more domains from the dropdown menu. |
There is also the possibility to unassign the particular domain. Note: Please remember that once a domain is unassigned, you are not able to manage it until it is assigned again. |
[edit] Settings
Under 'Settings' section you will find any API details necessary to install and activate the integration module. |
Underneath the API details you will find a list of generated integrations. Depending on the provider, you may download the packages, download the additional fields and documentation per Integration. |
[edit] Logs
Preview a list of logs on API requests and responses, including errors stored in the module. |
[edit] API Documentation
Access API documentation details with basic information and API Calls and Models. This API documentation has been prepared to allow you to write your own integration modules for platforms other than WHMCS and Blesta (included by default). 'Information' tab contains:
|
Available 'Calls' list: Note: The screen below does not capture all the supported functions. |
Available 'API Models' list: |
[edit] Domains Reselling Workflow
[edit] Installation Of Integration Module
Below you can find instructions for installation of the integration module on the reseller's WHMCS. Please refer to section Integrations to learn how to generate an integration module for your resellers. |
An exemplary flow of installation and configuration of the integration module to resell TLDs on Blesta, can be found in Blesta official documentation. |
1. Upload and extract the registrar module into your WHMCS. Once you have extracted the module, you should find a new folder with the registrar in 'resellerWHMCS/modules/registrars/' directory. |
2. Go to 'System Settings' → 'Domains Registrars' , find the module you have just uploaded and press 'Activate' next to it. |
3. Now, press 'Configure' button, enter 'User Email' and 'API Key' provided along with the module. You can find these data in your Reseller Area in the Provider's Client Area. Afterwards, press 'Save Changes'. |
5. To continue, go to 'System Settings' → 'Domains Pricing'. Set up TLD your provider allows you to resell, select additional features, choose registrar you have just installed from a dropdown menu and save it through pressing 'Save Changes'. |
6. Afterwards, set pricing for your TLD. To do so, press 'Open Pricing' text. It will open in a new window, so make sure your browser does not block it. |
7. Next, enter prices for specific actions. Press 'Save Changes' to confirm. |
8. Congratulations, you have just successfully installed your registrar! |
[edit] Extended TLDs Management - Integration With Domain Orders Extended For WHMCS
Domain Orders Extended For WHMCS allows quick and easy management of multiple TLDs that may turn out to be a fundamental tool for your resellers! In this part we are going to present how fluently these two modules may work together to gain the most from the integration. |
The provider in 'Domains Reseller' module must have previously configured and set up the pricing for domains he wants to offer to a reseller. |
Open your Domain Orders Extended For WHMCS addon module, move to 'Predefined TLD Sets' section and install the ones the provider has offered you to resell. |
Come back to the 'TLDs Configuration', find your group with newly assigned TLDs and define pricing for each of them. To make it faster, select all TLDs and use a mass action button. |
It is time to quickly set up the pricing, do not forget to define higher prices than the provider has stated in your Reseller Area to assure incomes! Save the changes once ready. You can find more information about the pricing in Domain Orders Extended For WHMCS here. |
Select all TLDs the same way you did earlier and 'Edit TLDs Configuration'. There, find 'Overwrite Registrar' option and toggle it. A dropdown menu with available registrars will appear. Select the integration module delivered by your provider. |
Most importantly, the offer can be now extremely client-friendly due to a high range of selection of Domain Orders Extended domain registration forms including:
|
There is surely a solution for resellers who do not own Domain Orders Extended module yet. They will simply have to add and set up each TLD separately at the 'System Settings' → 'Domain Pricing', which may be time consuming. |
As you can see, integrating of Domains Resellers For WHMCS with Domain Orders Extended For WHMCS allows you to offer vast array of TLDs with ease. A win-win situation with benefits for all: you expanding and perfecting your offer, your resellers managing the TLDs and surely for the end-clients enjoying the final outcomes! |
[edit] End Client Area
Domains Reseller integration module allows end clients to register, transfer and renew domain as well as run standard actions on domains. WHMCS Client Area view with an ordered domain via integration module. |
Blesta Client Area view with an ordered domain via integration module. |
[edit] Sample Workflow
In this section we will present to you a sample workflow of the module. In a basic workflow 3 users take part: |
[edit] Domains Reseller Product
Domains Reseller For WHMCS module may also be configured as a provisioning module. You will have to create a new product that will be offered to purchase for resellers. This simple trick will allow you to skip the manual configuration of all resellers. The process will be automatized once the reseller orders such product.
1. In order to create a new Domains Reseller product, go to 'Setup' → 'Products/Services' → 'Products/Services'. |
2. Fill in a product group name and press 'Save Changes'. |
3. Next, add a new product in the previously created group. |
4. Set the product type to 'Other', name the product and assign it to the Domians Reseller module. |
5. Now, go to the 'Module Settings' section and choose one of the previously created in the addon groups of resellers from dropdown menu. Press 'Save Changes' . Note that there is no server that shall be selected. Your product is ready to order! |
Allowed actions on the product:
|
Addon view: |
Once any of your clients orders this product, they will automatically become resellers. They will get access to the 'Reseller Area', from where they can resell the domains, that belong to their pricing group. |
[edit] Tips
1. If your reseller gets an error 'Unable to register domain, please contact administration (license problem).', that means your license is invalid or expired. |
2. Make sure that you are not blocking access to the 'api' catalog by your '.htaccess' file. |
3. Domains Reseller For WHMCS enables you to resell your domains not only to WHMCS and Blesta systems. You are able to easily prepare registrar module for any system (HostBill, Clientexec, BoxBilling and many more) using Domains Reseller For WHMCS API. |
4. If a client buys a domain from the reseller and pays in a different currency than the reseller's default currency then the amount will be converted into the reseller's default currency basing on the 'Base Conv. Rate' (your WHMCS → System Settings → Currencies). |
[edit] Update Instructions
Essential guidance through the process of updating the module is offered here.Please be aware that when updating from version 1.x. to 2.0.0 of the module no data are migrated!
|
[edit] Upgrade Guide
Seeking a solution that offers greater flexibility, customization tailored to your precise needs, and unrestricted availability? There is an option that not only proves to be cost-effective in the long run but also includes prioritized support services, making it a truly valuable investment. Opt for the Open Source version of your Domains Reseller For WHMCS module to unlock these benefits. Follow a comprehensive guide covering the transition process, the advantages it brings, and step-by-step instructions on what to do next after the order has been successfully finalized. |
[edit] Common Problems
1. When you have problems with connection, check whether your SELinux or firewall does not block ports. |
2. In the case of problems with connection between the main WHMCS and the reseller's module, make sure the firewall does not interfere with:
|
3. Error 'Function Not Supported by Registrar Module' means that registrar on main WHMCS does not support the operation you were trying to do. |
4. Error: 'Provided domain has not been found in reseller account' Explanation: The Domains Reseller For WHMCS module does not support the "Transfer Ownership" action. If you attempt to transfer a domain between WHMCS clients (resellers), the above error will appear.
based on the data from WHMCS system activity log. For example: Based on system activity log data: |
5. Error: 'Provided domain has not been found in reseller account' Explanation: When the above error is returned by the API for any reseller domain action, it means that the order for this domain was added by default by WHMCS and not by the API of the module (reseller functionality). |
6. Do not upload any non ".php" files into the 'modules/addons/DomainsReseller/app/Libs/Resources/Submodules/Types ' folder, as it might cause certain issues with the functioning of the module. |