|
Managing Managed DNS, Web Hosting, Email Hosting, Live Chat, Website Builder Orders through your API integration
The Managed DNS, Web Hosting, Email Hosting,
Live Chat and Website Builder Orders reside on separate
servers from the ones you connect to, via the API Kits. Due to this, your
Customers need to login into their (individual) Control Panels, for managing
such Orders.
Trento Egypt now provides you with another method of
directly allowing access to your Customer, to manage their Managed DNS, Web Hosting, Email
Hosting, Live Chat and Website Builder Orders from your interfaces itself.
To accomplish this, you need to use either
of these 2 methods and pass the following parameters to the mentioned URL,
via an HTTP POST method:
Method 1 (recommended)
URL -
http://<Your_Control Panel_Branded_URL>/servlet/ManageServiceServletForAPI
- orderid - the Managed DNS/Web Hosting/Email Hosting/Live
Chat/Website Builder Service Order Id that your Customer wants to manage
- loginid - you need to generate a Login ID, 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 API method generateLoginID
in the Customer class. In order to call generateLoginID, you will have
to pass ipAddress as a parameter. This Login ID generated will be
valid for a very short period of time and you should use it immediately upon
generating it.
- viewdns - the value of this parameter can be either true
or false. If you do not pass any value for this parameter, then it is
interpreted as false.
Pass true - if the Order is Web Hosting or Mail Hosting and you want
to allow your Customer to manage the DNS Records of that particular Order.
Pass false - if the Order is Web Hosting or Mail Hosting and you want your Customer to manage
only the Web or Mail Hosting Order.
This method is the most secure method of
allowing your Customers to manage their Managed DNS, Web Hosting, Email Hosting,
Live Chat and Website Builder Orders, since it does not expose the Customer's Username
and Password in your interface.
If you choose to use this method, then you
would need to create an intermediate interface to which you can provide the
required parameters, and which in-turn generates a valid URL and redirects your
Customer.
You need to provide orderid and any
authentication details (optional) to this interface. This interface would
then call the API method generateLoginID of the Customer class and build
a URL with loginid, viewdns and orderid as parameters, and
then redirect the Customer
to this URL.
Example
Let us call this interface a servlet named
ManageOrderBoxControlPanel (assuming that you are using our JAVA API Kit).
- This interface would accept Managed DNS/Web Hosting/Email Hosting/Live Chat/Website Builder
Service Order Id as a parameter. So, in order to manage a Service, you will
call this interface with http://<Your-Server-URL>/ManageOrderBoxControlPanel?orderid=<orderid>.
- Now this servlet would need to call the API
method generateLoginID
of the Customer class like -
String loginid = API call to "generateLoginID(username,password,resellerid,langpref,role,ipAddress) ;
where,
- username - the Username of the
Customer, to whom the Order belongs
- password - the Password of the
Customer, to whom the Order belongs
- resellerid - the Reseller Id
associated with your Reseller account. This is obtainable from Settings ->
Personal Information -> Primary Profile in your Reseller Control Panel.
- role - customer
- The final URL to which you would then redirect
your Customer to, would look like -
http://<Your_Branded_URL>/servlet/ManageServiceServletForAPI?loginid=<loginid>&orderid=<orderid>&viewdns=<true/false>
The pseudo code for accomplishing the above is
as follows:
public class ManageOrderBoxControlPanel
extends HttpServlet
{
authentication params = Get Authentication parameters;
orderid = Get OrderBox orderid;
classname = Customer class;
viewdns = false;
set ipaddress with authentication parameters to call "generateLoginID";
try
Unknown macro: { loginid = API method call "generateLoginID" of Customer
class. }
catch()
Unknown macro: { handle exceptional condition. }
url = "http://<Your_Branded_URL>/servlet/ManageServiceServletForAPI?loginid="
+ loginid + "&orderid=" orderid + "&viewdns=" + viewdns ;
response.sendRedirect(url);
}
Method 2
URL -
http://<Your_Control Panel_Branded_URL>/servlet/ManageServiceServletForAPI
- orderid - the Managed DNS/Web Hosting/Email Hosting/Live
Chat/Website Builder Service Order Id that your Customer wants to manage
- username - the Username of the Customer, to whom the Order
belongs
- password - the Password of the Customer, to whom the Order
belongs
- resellerid - the Reseller Id associated with your Reseller account. This
is obtainable from
Settings ->
Personal Information -> Primary Profile in your Reseller Control Panel.
- viewdns - the value of this parameter can be either true
or false. If you do not pass any value for this parameter, then it is
interpreted as false.
Pass true - if the Order is Web Hosting or Mail Hosting and you want
to allow your Customer to manage the DNS Records of that particular Order.
Pass false - if the Order is Web Hosting or Mail Hosting and you want your Customer to manage
only the Web or Mail Hosting Order.
The disadvantage of using this method is that
it is a bit less secure as the Customer Username and Password along with your
Reseller Id can be viewed in the source of the page, from where you post to the
ManageServiceServletForAPI servlet.
IMPORTANT
Do not send the above mentioned as parameters
as part of a URL, or else this information will be displayed in your
Customer's Browser Address Bar.
|