hosting

If the reseller is selling Web Hosting

Managing DNS, Email, Hosting, Website Builder, SiteLock and CodeGuard through your HTTP API Integration

The following Services reside on separate servers from the ones you connect to, via the HTTP API, due to this, your Customers need to
login to their (individual) Control Panels, for managing such Services:

  • DNS

  • Email (Free Email Account [POP/IMAP] and Email Forwarding)

  • Single Domain Hosting

  • Multi Domain Hosting

  • Reseller Hosting

  • Dedicated Server

  • Enterprise Email

  • Business Email

  • SiteLock

  • CodeGuard

  • Impress.ly

  • Web Services (Legacy Web Hosting, Email Hosting, Website Builder)

now provides you with another method of directly allowing access to your Customer, to manage the above Products / Services from your interfaces itself.

To accomplish this, you need to pass the following parameters to the mentioned URL, via an HTTP POST method:

URL: http://<Your_Control Panel_Branded_URL>/servlet/ManageServiceServletForAPI

  • auth-token: You need to generate an authentication token, that you need to pass as the value of this parameter for allowing the
    Customer to manage his Order. This can be accomplished by calling the HTTP API Generating a Token method. The generated authentication token will be valid for a very short period of time and you should use it immediately upon generating it.

  • orderid: The Order ID of the Web Services (Legacy Web Hosting, Email Hosting, Website Builder) / Single Domain
    Hosting / Multi Domain Hosting / Reseller Hosting / Dedicated Server / Managed Server / Enterprise Email / SiteLock / CodeGuard Order that your Customer wants to manage. In case of DNS, Email Service, the Order ID of the Product associated with the DNS / Email Service needs to be passed. Based on the orderid, the productCategory will be determined.

    Note

    For DNS / Email Service Orders that do not have any other Product associated with them, you can continue to pass the existing orderid to reach the
    DNS Management Console and Email Service Management interface respectively.

  • service-name: This parameter needs to be passed to manage the specified service name. The value of this parameter needs to be
    either:

    • dns: For managing DNS Service.

    • mailfwd: For managing Email Forwarding Service.

    • free_email: For managing Free Email Account Service.

    • webhosting: For managing Web Hosting Service.

    • mailhosting: For managing Email Hosting Service.

    • websitebuilder: For managing Website Builder Service.


    • impressly: For managing an Impress.ly Order.

  • url: This parameter needs to be passed to manage an Impress.ly order. The value of this parameter needs to be a URL on your server that accepts the app-id provided by Impress.ly. You can then retrieve the order details by using the app-id in the Get Callback URL call.

  • OR

    panel: This parameter needs to be passed to manage WHM. The value of this parameter needs to be whm.

    Note

    For Single Domain
    Hosting / Multi Domain Hosting / Reseller Hosting / Dedicated Server / Managed Server / Enterprise Email / SiteLock / CodeGuard Orders, you can pass the corresponding Product Key as the value for this parameter.

    Additional Information

    Product Keys

You would need to create an intermediate interface, which should call the Generating a Token HTTP API method and build a URL
with orderid, auth-token and service-name/panel as parameters, and then redirect the Customer to this URL.

Java Example:

Let us call this interface a servlet named ManageOrderBoxControlPanel.

  1. This interface would accept the Order ID of the Web Services (Legacy Web Hosting, Email Hosting, Website Builder) / Single Domain
    Hosting / Multi Domain Hosting / Reseller Hosting / Dedicated Server / Managed Server / Enterprise Email / SiteLock / CodeGuard Order or the Order ID of the Service associated with DNS or
    Email Service as a parameter. So, in order to manage a Service, you will call this interface with
    http://<Your-Server-URL>/ManageOrderBoxControlPanel?orderid=<orderid>.

  2. This servlet would need to call the Generating a Token HTTP API method.

  3. The final URL to which you would then redirect your Customer to, would look like:

    • For management of WHM:
      http://<Your_Branded_URL>/servlet/ManageServiceServletForAPI?auth-token=<auth-token>&orderid=<orderid>&panel=whm

    • For management of DNS Service, Email (Free Email Account [POP/IMAP] and Email Forwarding) Service, Web Services (Legacy Web Hosting, Email Hosting, Website Builder), Single Domain Hosting, Multi Domain Hosting, Reseller Hosting, Dedicated Server, Managed Server, Enterprise Email, SiteLock, CodeGuard:
      http://<Your_Branded_URL>/servlet/ManageServiceServletForAPI?auth-token=<auth-token>&orderid=<orderid>&service-name=<servicename>

Get Modify/Upgrade Price

Description

Gets the applicable modify/upgrade price for a particular Web Services Order.

Parameters

Name Data Type Required / Optional Description
auth-userid Integer Required Authentication Parameter
api-key String Required Authentication Parameter
order-id Integer Required The OrderId for which the details are to be fetched.
new-plan-id Integer Required The new plan to which the Order is to be upgraded/downgraded. To fetch the plan details: plan-id etc., use this method.
months Integer Required The number of months (tenure) in the new plan for which the Order to be placed.

HTTP Method

GET

Example Test URL Request


https://test.httpapi.com/api/webservices/modify-pricing.json?auth-userid=0&api-key=key&order-id=0&new-plan-id=0&months=0

Response

Returns the applicable modify/ upgrade price for a particular Web Services Order.

Example:


{
"upgradecost":0.0,
"modifiedOrderPrice":0.0,
"endtime":"0000000000",
"modifyCostResult":"upgrade",
"remainingmonths":0,
"currentOrderPrice":0.0
}

where

  • currentOrderPrice: The current pricing of the Order for remaining months.

  • modifiedOrderPrice: New applicable pricing of the Order as per the new plan.

  • upgradecost: Actual price applicable i.e. modifiedOrderPrice - currentOrderPrice

Search Orders

Description

Gets a list and details of Orders matching the search criteria.

Parameters

Name Data Type Required / Optional Description
auth-userid Integer Required Authentication Parameter
api-key String Required Authentication Parameter
no-of-records Integer Required Number of Orders to be fetched.
page-no Integer Required Page number for which details are to be fetched.
order-id Array of Integers Optional Order Id(s) of the Order(s) whose details need to be fetched.
reseller-id Array of Integers Optional Reseller Id(s) whose Orders need to be fetched.
customer-id Array of Integers Optional Customer Id(s) whose Orders need to be fetched.
show-child-orders Boolean Optional Whether Sub-Reseller Orders need to be fetched or not.
status Array of Strings Optional Status of the Order: Active, InActive, Deleted, etc.
domain-name String Optional Name of the Domain of the Web Services Order.
creation-date-start String Optional UNIX TimeStamp for listing of Orders whose Creation Date is greater than creation-date-start.
creation-date-end String Optional UNIX TimeStamp for listing of Orders whose Creation Date is less than creation-date-end.
expiry-date-start String Optional UNIX TimeStamp for listing of Orders whose expiry date is greater than expiry-date-start.
expiry-date-end String Optional UNIX TimeStamp for listing of Orders whose expiry date is less than expiry-date-end.
order-by Array of Strings Optional One or more parameters by which you want to sort the Orders. Default is orderid.

Example:

If page-no is 1, no-of-records is 30 and order-by is orderid; it will fetch the first 30 Orders which suit the search criteria sorted by orderid.
If page-no is 2, no-of-records is 30 and order-by is order id; it will fetch the second batch of 30 Orders sorted by orderid

HTTP Method

GET

Example Test URL Request


https://test.httpapi.com/api/webservices/search.json?auth-userid=0&api-key=key&no-of-records=1&page-no=1

Response

Returns the list of the Orders which match the search criteria.

Get Customer Pricing

Description

Use this method to get details of the pricing for your plans.

Response

Returns a map with the prices of Web Services plans along with the prices of the other products.

The response structure for the Web Services will be:


"productkey":
{
"planid":
{
"action":
{
"tenure-in-months":price
},
"ssl":0.0
}
}

Example:


"hosting":
{
"0":
{
"renew":
{
"12":0.0,
"24":0.0
},
"ssl":0.0,
"add":
{
"12":0.0,
"24":0.0
}
},
"1":
{
"renew":
{
"12":0.0,
"24":0.0
},
"add":
{
"12":0.0,
"24":0.0
}
}
}

Get Active Plan Categories

Description

Gets the list of the active plan categories (under Web Services) of the reseller.

Parameters

Name Data Type Required / Optional Description
auth-userid Integer Required Authentication Parameter
api-key String Required Authentication Parameter

HTTP Method

GET

Example Test URL Request


https://test.httpapi.com/api/webservices/active-plan-categories.json?auth-userid=0&api-key=key

Response

Returns the list of the active plan categories (under Web Services) of the reseller.

Get Plan Details

Description

Use this method to get details of your plans.

Response

Returns the details of the plans of Web Services along with the plan details of other Products of the reseller.

Example:

The response structure for the Web Services will be:


hosting

{

"plan-id(value)"

{

"plan details keys" => "plan details values"

}

}

Get Details

Description

Gets the details of an existing Web Services Order.

Parameters

Name Data Type Required / Optional Description
auth-userid Integer Required Authentication Parameter
api-key String Required Authentication Parameter
order-id Integer Required The OrderId for which the details to be fetched.

HTTP Method

GET

Example Test URL Request


https://test.httpapi.com/api/webservices/details.json?auth-userid=0&api-key=key&order-id=0

Response

Returns the details of an existing Web Services order.

Delete

Description

Deletes an existing Web Services Order.

Parameters

Name Data Type Required / Optional Description
auth-userid Integer Required Authentication Parameter
api-key String Required Authentication Parameter
order-id Integer Required The OrderId which is to be deleted.

HTTP Method

POST

Example Test URL Request


https://test.httpapi.com/api/webservices/delete.json?auth-userid=0&api-key=key&order-id=0

Response

Returns a map of the execution details of the delete operation.

Modify/Upgrade

Description

Modifies/upgrades an existing Web Services Order.

Parameters

Name Data Type Required / Optional
auth-userid Integer Required Authentication Parameter
api-key String Required Authentication Parameter
order-id Integer Required The OrderId which is to be modified.
new-plan-id Integer Required The new Plan to which the order is to be upgraded/downgraded. To fetch the Plan details i.e. plan-id etc, use this method.
Note
  • The new Plan category can be websitebuilder_plan or email_plan.

  • The new Plan category can be linux_hosting_plan only if the current Plan category is linux_hosting_plan. Similarly, the new Plan category can be windows_hosting_plan only if the current Plan category is windows_hosting_plan. In all other cases, an exception will be thrown if the new Plan category is linux_hosting_plan or windows_hosting_plan.

months Integer Required The number of months in the new Plan for which the Order is to be placed.
invoice-option String Required This parameter will decide how the Customer Invoices will be handled. Values can be: NoInvoice, PayInvoice, KeepInvoice, OnlyAdd

HTTP Method

POST

Example Test URL Request


https://test.httpapi.com/api/webservices/modify.json?auth-userid=0&api-key=key&order-id=0&new-plan-id=0&months=0&invoice-option=PayInvoice

Response

Returns a map of the execution details of the modify operation.

Renew

Description

Renews an existing Web Services Order.

Parameters

Name Data Type Required / Optional Description
auth-userid Integer Required Authentication Parameter
api-key String Required Authentication Parameter
order-id Integer Required The OrderId which is to be renewed.
months Integer Required The number of months for which the Order is to be renewed.
enable-ssl Boolean Optional Values can be: true or false (default). To learn more, click here.
auto-renew Boolean Required

Enables / Disables the Auto Renewal setting for the Order.

invoice-option String Required This parameter will decide how the Customer Invoices will be handled. Values can be: NoInvoice, PayInvoice, KeepInvoice, OnlyAdd

HTTP Method

POST

Example Test URL Request


https://test.httpapi.com/api/webservices/renew.json?auth-userid=0&api-key=key&order-id=0&months=0&invoice-option=NoInvoice

Response

Returns a map of the execution details of the Renew operation.