com.logicboxes.foundation.sfnb.order
Class DomOrder

java.lang.Object
  extended by com.logicboxes.foundation.sfnb.order.DomOrder

public class DomOrder
extends java.lang.Object


Constructor Summary
DomOrder()
           
 
Method Summary
 java.util.HashMap add(java.lang.String userName, java.lang.String password, java.lang.String role, java.lang.String langpref, int parentid, java.util.HashMap domainHash, java.util.Vector ns, int registrantContactId, int adminContactId, int techContactId, int billingContactId, int customerId, java.lang.String invoiceOption)
          Deprecated. 
 java.util.HashMap addChildNameServer(java.lang.String userName, java.lang.String password, java.lang.String role, java.lang.String langpref, int parentid, int orderId, java.lang.String cns, java.util.Vector ipAddress)
          Adds child nameservers for a particular order
 java.util.HashMap addTransferDomain(java.lang.String userName, java.lang.String password, java.lang.String role, java.lang.String langpref, int parentid, java.util.Vector addParamList, java.util.Vector nameServersList, int customerId, java.lang.String invoiceOption, boolean enablePrivacyProtection, boolean validate, java.util.HashMap extraInfo)
          Attempts to place a Transfer order for the specified domain name(s) This method performs the action in three steps - 1.
 java.util.HashMap addTransferDomainWithoutvalidation(java.lang.String userName, java.lang.String password, java.lang.String role, java.lang.String langpref, int parentid, java.util.HashMap domainHash, int registrantContactId, int adminContactId, int techContactId, int billingContactId, int customerId)
          Deprecated. instead Use addTransferDomain(Hashtable domainHash, Vector nameServersList, int registrantContactId, int adminContactId, int technicalContactId, int billingContactId, int customerId, String invoiceOption, boolean enablePrivacyProtection, boolean validate, Hashtable extraInfo) throws LogicBoxesException
 java.util.HashMap addWithoutValidation(java.lang.String userName, java.lang.String password, java.lang.String role, java.lang.String langpref, int parentid, java.util.HashMap domainHash, java.util.Vector ns, int registrantContactId, int adminContactId, int techContactId, int billingContactId, int customerId, java.lang.String invoiceOption)
          Attempts to Register the specified domain name(s) without performing any validation of data.
 java.util.HashMap bulkAdd(java.lang.String userName, java.lang.String password, java.lang.String role, java.lang.String langpref, int parentid, java.util.Vector domains, int noOfYears, java.util.Vector ns, int registrantContactId, int adminContactId, int techContactId, int billingContactId, int customerId, java.lang.String invoiceOption)
          Registers the specified domain name.
 java.util.HashMap bulkAddTransferDomain(java.lang.String userName, java.lang.String password, java.lang.String role, java.lang.String langpref, int parentid, java.util.HashMap domainHash, int registrantContactId, int adminContactId, int techContactId, int billingContactId, int customerId, java.lang.String invoiceOption)
          Places a transfer order for the specified domain name(s) This method performs the action in two steps - 1.
 java.util.HashMap bulkModifyByCustomerId(java.lang.String userName, java.lang.String password, java.lang.String role, java.lang.String langpref, int parentid, int[] customerID, int[] resellerId, java.lang.String[] domainNames, java.util.Vector ns, int registrantContactId, int adminContactId, int techContactId, int billingContactId)
          Modifies the details of various domains in bulk based on the given customers.
 java.util.HashMap bulkModifyByDomainName(java.lang.String userName, java.lang.String password, java.lang.String role, java.lang.String langpref, int parentid, java.lang.String[] domainNames, java.util.Vector ns, int registrantContactId, int adminContactId, int techContactId, int billingContactId)
           
 java.lang.String cancelTransfer(java.lang.String userName, java.lang.String password, java.lang.String role, java.lang.String langpref, int parentid, int orderId)
          Cancels the Transfer-In Order which is awaiting Admin approval
 java.util.HashMap changePrivacyProtectionStatus(java.lang.String userName, java.lang.String password, java.lang.String role, java.lang.String langpref, int parentid, java.lang.String lockerId, int orderID, boolean newIsPrivacyProtected, java.lang.String reason)
          Will add privacy protetion feature for domain name registration

The main reason domain owners want to hide their contact information is because their email address listed on the whois record can be used to spam.

 java.util.HashMap checkAvailabilityMultiple(java.lang.String userName, java.lang.String password, java.lang.String role, java.lang.String langpref, int parentid, java.lang.String[] domainNames, java.lang.String[] tlds, boolean suggestAlternative)
          Returns the availability status of a domainname.
 java.util.HashMap checkNameServer(java.lang.String userName, java.lang.String password, java.lang.String role, java.lang.String langpref, int parentid, java.lang.String[] nameServer, java.lang.String[] productKeys)
          Checks if a particular nameserver is valid or not.
 java.util.HashMap del(java.lang.String userName, java.lang.String password, java.lang.String role, java.lang.String langpref, int parentid, int orderId)
          Deletes a given order.
 java.util.HashMap deleteChildNameServerIp(java.lang.String userName, java.lang.String password, java.lang.String role, java.lang.String langpref, int parentid, int orderId, java.lang.String cns, java.util.Vector ipAddress)
          Deletes the ip address associated with a particular child nameserver of a given order.
 java.util.HashMap getDetails(java.lang.String userName, java.lang.String password, java.lang.String role, java.lang.String langpref, int parentid, int orderId, java.util.Vector option)
          Returns entity details depending upon various option values.
 java.util.HashMap getDetailsByDomain(java.lang.String userName, java.lang.String password, java.lang.String role, java.lang.String langpref, int parentid, java.lang.String domainName, java.util.Vector option)
          Returns the complete details of a particular order from domainname.
 int getOrderIdByDomain(java.lang.String userName, java.lang.String password, java.lang.String role, java.lang.String langpref, int parentid, java.lang.String domainName, java.lang.String productkey)
          Returns the orderid of a particular order from domainname.
 boolean isTransferRequestValid(java.lang.String userName, java.lang.String password, java.lang.String role, java.lang.String langpref, int parentid, java.lang.String domainName)
          Verifies if the status of a given domain allows it to be transferred from one registrar to the other.
 java.util.HashMap list(java.lang.String userName, java.lang.String password, java.lang.String role, java.lang.String langpref, int parentid, int[] orderId, int[] resellerId, int[] customerId, boolean showChildOrders, java.lang.String[] classKey, java.lang.String[] currentStatus, java.lang.String description, java.lang.String[] ns, java.lang.String contactName, java.lang.String contactCompanyName, java.lang.String creationDTRangStart, java.lang.String creationDTRangEnd, java.lang.String endTimeRangStart, java.lang.String endTimeRangEnd, int numOfRecordPerPage, int pageNum, java.lang.String[] orderBy)
          Returns Hashtable of order details depending on different variables passed as parameter.
 java.util.HashMap modifyChildNameServerIp(java.lang.String userName, java.lang.String password, java.lang.String role, java.lang.String langpref, int parentid, int orderId, java.lang.String cns, java.lang.String oldIp, java.lang.String newIp)
          Modifies the ip addresses associated with the child name servers of a particular order.
 java.util.HashMap modifyChildNameServerName(java.lang.String userName, java.lang.String password, java.lang.String role, java.lang.String langpref, int parentid, int orderId, java.lang.String oldCns, java.lang.String newCns)
          Modifies the child nameservers of the given order.
 java.util.HashMap modifyContact(java.lang.String userName, java.lang.String password, java.lang.String role, java.lang.String langpref, int parentid, int orderId, int registrantContactId, int adminContactId, int techContactId, int billingContactId)
          Modifies the contact details of a particular order.
 java.util.HashMap modifyDomainSecret(java.lang.String userName, java.lang.String password, java.lang.String role, java.lang.String langpref, int parentid, int orderId, java.lang.String newSecret)
          Modifies the domain secret of the given order.
 java.util.HashMap modifyNameServer(java.lang.String userName, java.lang.String password, java.lang.String role, java.lang.String langpref, int parentid, int orderId, java.util.HashMap nsHash)
          Modifies the name servers of the given order.
 java.util.HashMap namesuggestion(java.lang.String userName, java.lang.String password, java.lang.String role, java.lang.String langpref, int parentid, java.lang.String domainname, java.lang.String hyphenAllowed, java.lang.String numberAllowed, int domainNameLen, int noofResults, java.lang.String[] arrTlds)
          Suggest the domain names similar to the domain nanem hat you specify which are available at the registry.
 java.util.HashMap registerDomain(java.lang.String userName, java.lang.String password, java.lang.String role, java.lang.String langpref, int parentid, java.util.Vector addParamList, java.util.Vector nameServersList, int customerId, java.lang.String invoiceOption, boolean enablePrivacyProtection, boolean validate, java.util.HashMap extraInfo)
          Attempts to Register the specified domain name(s).
This method performs the action in three steps -
1) It validates data sent for registration.
2) It adds an order in the system for the domain name.
3) It attempts to register the domainname in the Registry.
 java.util.HashMap renewDomain(java.lang.String userName, java.lang.String password, java.lang.String role, java.lang.String langpref, int parentid, java.util.HashMap domainHash, java.lang.String invoiceOption)
          Renews a domain.
 void resendTransferAuthorizationMail(java.lang.String userName, java.lang.String password, java.lang.String role, java.lang.String langpref, int parentid, int orderId)
          Resends the transfer authorization mail
 java.util.HashMap restore(java.lang.String userName, java.lang.String password, java.lang.String role, java.lang.String langpref, int parentid, int orderId, java.lang.String invoiceOption)
          Restore domain
 java.util.HashMap transferDomain(java.lang.String userName, java.lang.String password, java.lang.String role, java.lang.String langpref, int parentid, java.util.HashMap domainHash, int registrantContactId, int adminContactId, int techContactId, int billingContactId, int customerId, java.lang.String invoiceOption)
          Deprecated. 
 java.util.HashMap validateDomainRegistrationParams(java.lang.String userName, java.lang.String password, java.lang.String role, java.lang.String langpref, int parentid, java.util.HashMap domainHash, java.util.Vector ns, int registrantContactId, int adminContactId, int techContactId, int billingContactId, int customerId, java.lang.String invoiceOption)
          This method validated parameters which you will use for registration.
 java.util.HashMap validateDomainTransferParams(java.lang.String userName, java.lang.String password, java.lang.String role, java.lang.String langpref, int parentid, java.util.HashMap domainHash, int registrantContactId, int adminContactId, int techContactId, int billingContactId, int customerId, java.lang.String invoiceOption)
          This method validated parameters which you will use for registration.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DomOrder

public DomOrder()
Method Detail

checkAvailabilityMultiple

public java.util.HashMap checkAvailabilityMultiple(java.lang.String userName,
                                                   java.lang.String password,
                                                   java.lang.String role,
                                                   java.lang.String langpref,
                                                   int parentid,
                                                   java.lang.String[] domainNames,
                                                   java.lang.String[] tlds,
                                                   boolean suggestAlternative)
Returns the availability status of a domainname.

Parameters:
domainNames - domainnames for which availability is to be checked
suggestAlternative - alternative domainName If this parameter is true, then availability will be checked for all supported TLD's. If it is false, then availability will be checked only for the specified TLD
Returns:
Hashtable - Hash contains Hash Of Hash where outer Hash contains key as DomainName and value as Hash. For Inner Hash if value for key status is available then domain is available. If value for key status is regthroughus then domain is already registered through directi as a registrar. If value for key status is regthroughothers then domain is already registered through other registrar. The Hashtable has the domainname as the key and a Hashtable as the value

The inner Hashtable has two keys - status and classkey {atestdomain.com={status=regthroughothers, classkey=domcno}} Possible values for the status are: available, regthroughus and regthroughothers The classkey denotes the TLD type of the domainname.

Throws:
LogicBoxesException - if domainName value is null SqlException if any Database related Exception occurs LogicBoxesException if any internal errors occur

transferDomain

@Deprecated
public java.util.HashMap transferDomain(java.lang.String userName,
                                                   java.lang.String password,
                                                   java.lang.String role,
                                                   java.lang.String langpref,
                                                   int parentid,
                                                   java.util.HashMap domainHash,
                                                   int registrantContactId,
                                                   int adminContactId,
                                                   int techContactId,
                                                   int billingContactId,
                                                   int customerId,
                                                   java.lang.String invoiceOption)
Deprecated. 

Places a transfer order for the specified domain name(s) This method performs the action in two steps - 1. It adds an order in the system for the domain name. 2. It attempts to register the domainname in the Registry. Your Reseller account must have sufficient funds to register the domain names since this is a billable action.

Parameters:
domainHash - This should contain the domain name(s) which are to be registered. The Hashtable should have the domainname as the key, and the domain transfer secret as the value. In case of domains which do not have a transfer secret, an empty string should be passed. ex. {domain1.com=secret1,domain2.net=secret2}
registrantContactId - The contact to be used as the Registrant for all the specified domains.
adminContactId - The contact to be used as the Admin Contact for all the specified domains.
techContactId - The contact to be used as the Tech Contact for all the specified domains.
billingContactId - The contact to be used as the Billing Contact for all the specified domains.
customerId - The customer under whom the orders should be added
invoiceOption - This parameter will decide how the Customer Invoices will be handled. NoInvoice - If this value is passed, then no customer invoice will be generated for the domains. PayInvoice - If this value is passed, then a customer invoice will be generated for the domains in the first step. If there is sufficient balance in the Customer's Debit Account, then the invoices will be paid and the domains will be registered. If a customer has less balance than required, then as many domains as possible will be registered with the existing funds. All other orders will remain pending in the system. KeepInvoice - If this value is passed, then a customer invoice will be generated for the domains. However, these invoices will not be paid. They will be kept pending, while the orders will be executed.
Returns:
Hashtable A Hashtable with the result of the Transfer order. The Hashtable has the domainnames as the key, and a Hashtable as the value. The inner Hashtable will have key-values as follows:

entityid=435 description=apitest04.com actiontype=AddTransferDomain actiontypedesc=Transfer of apitest04.com from old Registrar alongwith 1 year Renewal actionstatus=RFASent actionstatusdesc=Transfer waiting for Admin Contact Approval status=Success eaqid=1169

Incase you have chosen "KeepInvoice" or "PayInvoice", the return Hashtable will also contain the following data:

customerid=8 invoiceid=727 sellingcurrencysymbol=INR sellingamount=-500.000 unutilisedsellingamount=-500.000

invoiceid is the Id that you will need to pass to Fund.payCustomerTransaction if you wish to pay the invoice at a later date. selllingamount is the Invoice amount in your Selling Currency unutilisedselllingamount is the Pending Invoice amount in your Selling Currency. In case of "KeepInvoice", the pending amount will always be equal to the invoice amount. In case of "PayInvoice", if the Customer does not have sufficient funds to pay the entire invoice amount, unutilisedsellingamount will reflect the balance amount that is pending. If the invoice has been completely paid, the unutilisedsellingamount will be 0.

Throws:
LogicBoxesException - if domainName value is null SqlException if any Database related Exception occurs LogicBoxesException if any internal errors occur

add

@Deprecated
public java.util.HashMap add(java.lang.String userName,
                                        java.lang.String password,
                                        java.lang.String role,
                                        java.lang.String langpref,
                                        int parentid,
                                        java.util.HashMap domainHash,
                                        java.util.Vector ns,
                                        int registrantContactId,
                                        int adminContactId,
                                        int techContactId,
                                        int billingContactId,
                                        int customerId,
                                        java.lang.String invoiceOption)
Deprecated. 

Registers the specified domain name(s) This method performs the action in two steps - 1. It adds an order in the system for the domain name. 2. It attempts to register the domainname in the Registry. Your Reseller account must have sufficient funds to register the domain names since this is a billable action.

Parameters:
domainHash - This should contain the domain name(s) which are to be registered. The Hashtable should have the domainname as the key, and the number of years to register the domain for as the value. ex. {domain1.com=1,domain2.net=2}
ns - The NameServers to be used for the domains being registered. The same NS's will be used forall the domain names specified in the domain hash.
registrantContactId - The contact to be used as the Registrant for all the specified domains.
adminContactId - The contact to be used as the Admin Contact for all the specified domains.
techContactId - The contact to be used as the Tech Contact for all the specified domains.
billingContactId - The contact to be used as the Billing Contact for all the specified domains.
customerId - The customer under whom the orders should be added
invoiceOption - This parameter will decide how the Customer Invoices will be handled. NoInvoice - If this value is passed, then no customer invoice will be generated for the domains. PayInvoice - If this value is passed, then a customer invoice will be generated for the domains in the first step. If there is sufficient balance in the Customer's Debit Account, then the invoices will be paid and the domains will be registered. If a customer has less balance than required, then as many domains as possible will be registered with the existing funds. All other orders will remain pending in the system. KeepInvoice -If this value is passed, then a customer invoice will be generated for the domains. However, these invoices will not be paid. They will be kept pending, while the orders will be executed.
Returns:
Hashtable A Hashtable with the result of the domain registration. The Hashtable has the domainnames as the key, and a Hashtable as the value. The inner Hashtable will have key-values as follows:

entityid=434 description=apitest04.info actiontype=AddNewDomain actiontypedesc=Registration of apitest04.info for 1 years actionstatus=Success actionstatusdesc=Domain registration Completed Successfully status=Success eaqid=1168

Incase you have chosen "KeepInvoice" or "PayInvoice", the return Hashtable will also contain the following data:

customerid=8 invoiceid=727 sellingcurrencysymbol=INR sellingamount=-500.000 unutilisedsellingamount=-500.000

invoiceid is the Id that you will need to pass to Fund.payCustomerTransaction if you wish to pay the invoice at a later date. selllingamount is the Invoice amount in your Selling Currency unutilisedselllingamount is the Pending Invoice amount in your Selling Currency. In case of "KeepInvoice", the pending amount will always be equal to the invoice amount. In case of "PayInvoice", if the Customer does not have sufficient funds to pay the entire invoice amount, unutilisedsellingamount will reflect the balance amount that is pending. If the invoice has been completely paid, the unutilisedsellingamount will be 0.

Throws:
LogicBoxesException - DataConstraintException if any Data passed as parameter are not proper SqlException if any Database related Exception occurs LogicBoxesException if any internal errors occur
Since:
This method should not be used to register the .EU Domains. Instead you need to use the add method of DotEU class.

renewDomain

public java.util.HashMap renewDomain(java.lang.String userName,
                                     java.lang.String password,
                                     java.lang.String role,
                                     java.lang.String langpref,
                                     int parentid,
                                     java.util.HashMap domainHash,
                                     java.lang.String invoiceOption)
Renews a domain.

Parameters:
domainHash - Contains the key-value pair for the orders that need to be renewed. The domain names are keys and the values contain the entityid, noOfyears for which the order needs to be renewed and the current expration timestamp
invoiceOption - This parameter will decide how the Customer Invoices will be handled. NoInvoice - If this value is passed, then no customer invoice will be generated for the domains. PayInvoice - If this value is passed, then a customer invoice will be generated for the domains in the first step. If there is sufficient balance in the Customer's Debit Account, then the invoices will be paid and the domains will be registered. If a customer has less balance than required, then as many domains as possible will be registered with the existing funds. All other orders will remain pending in the system. KeepInvoice - If this value is passed, then a customer invoice will be generated for the domains. However, these invoices will not be paid. They will be kept pending, while the orders will be executed.
Throws:
DataConstraintException - if there invalid data passed as parameter SqlException if any Database related Exception occurs LogicBoxesException if any internal errors occur

bulkAdd

public java.util.HashMap bulkAdd(java.lang.String userName,
                                 java.lang.String password,
                                 java.lang.String role,
                                 java.lang.String langpref,
                                 int parentid,
                                 java.util.Vector domains,
                                 int noOfYears,
                                 java.util.Vector ns,
                                 int registrantContactId,
                                 int adminContactId,
                                 int techContactId,
                                 int billingContactId,
                                 int customerId,
                                 java.lang.String invoiceOption)
Registers the specified domain name. This method performs the action in two steps - 1) It adds an order in the system for the domain name. 2) It attempts to register the domainname in the Registry. Your Reseller account must have sufficient funds to register the domain names since this is a billable action.

Parameters:
domains - This should contain the domain name which are to be registered. If the domains needs to be privacy protected, then the vector should also conatain a value called 'isprivacyprotected'.
ns - The NameServers to be used for the domains being registered. The same NS's will be used for all the domain names specified in the domain hash.
registrantContactId - The contact to be used as the Registrant for all the specified domains.
adminContactId - The contact to be used as the Admin Contact for all the specified domains.
techContactId - The contact to be used as the Tech Contact for all the specified domains.
billingContactId - The contact to be used as the Billing Contact for all the specified domains.
customerId - The customer under whom the orders should be added
invoiceOption - This parameter will decide how the Customer Invoices will be handled. NoInvoice - If this value is passed, then no customer invoice will be generated for the domains. PayInvoice - If this value is passed, then a customer invoice will be generated for the domains in the first step. If there is sufficient balance in the Customer's Debit Account, then the invoices will be paid and the domains will be registered. If a customer has less balance than required, then as many domains as possible will be registered with the existing funds. All other orders will remain pending in the system. KeepInvoice -If this value is passed, then a customer invoice will be generated for the domains. However, these invoices will not be paid. They will be kept pending, while the orders will be executed.
Returns:
Hashtable A Hashtable with the result of the domain registrations. The Hashtable has two hashtables in it. One with key "domainsinprocessing" which contains the domainnames which are under process and the other one "invaliddomains" which contains invalid domain names.
Throws:
LogicBoxesException - DataConstraintException if any Data passed as parameter are not proper SqlException if any Database related Exception occurs LogicBoxesException if any internal errors occur

bulkAddTransferDomain

public java.util.HashMap bulkAddTransferDomain(java.lang.String userName,
                                               java.lang.String password,
                                               java.lang.String role,
                                               java.lang.String langpref,
                                               int parentid,
                                               java.util.HashMap domainHash,
                                               int registrantContactId,
                                               int adminContactId,
                                               int techContactId,
                                               int billingContactId,
                                               int customerId,
                                               java.lang.String invoiceOption)
Places a transfer order for the specified domain name(s) This method performs the action in two steps - 1. It adds an order in the system for the domain name. 2. It attempts to register the domainname in the Registry. Your Reseller account must have sufficient funds to register the domain names since this is a billable action.

Parameters:
domainHash - This should contain the domain name(s) which are to be registered. The Hashtable should have the domainname as the key, and the domain transfer secret as the value. In case of domains which do not have a transfer secret, an empty string should be passed. ex. {domain1.com=secret1,domain2.net=secret2} The domainHash can have 'isPrivacyProtected' as a key The value of 'isPrivacyProtected' is as below if priavcy protection have to be enabled isPrivacyProtected = true if privacy protection have to be disabled isPrivacyProtected = false
registrantContactId - The contact to be used as the Registrant for all the specified domains.
adminContactId - The contact to be used as the Admin Contact for all the specified domains.
techContactId - The contact to be used as the Tech Contact for all the specified domains.
billingContactId - The contact to be used as the Billing Contact for all the specified domains.
customerId - The customer under whom the orders should be added
invoiceOption - This parameter will decide how the Customer Invoices will be handled. NoInvoice - If this value is passed, then no customer invoice will be generated for the domains. PayInvoice - If this value is passed, then a customer invoice will be generated for the domains in the first step. If there is sufficient balance in the Customer's Debit Account, then the invoices will be paid and the domains will be registered. If a customer has less balance than required, then as many domains as possible will be registered with the existing funds. All other orders will remain pending in the system. KeepInvoice - If this value is passed, then a customer invoice will be generated for the domains. However, these invoices will not be paid. They will be kept pending, while the orders will be executed.
Returns:
A Hashtable with the result of the Transfer order.The Hashtable has two key-value pairs. One with key "status" the value of which is "success" and the other key "invalidtransferdomain" which contains invalid domain names list of t domainnames which are not valid for the transfer.
Throws:
LogicBoxesException - if domainName value is null SqlException if any Database related Exception occurs LogicBoxesException if any internal errors occur

bulkModifyByDomainName

public java.util.HashMap bulkModifyByDomainName(java.lang.String userName,
                                                java.lang.String password,
                                                java.lang.String role,
                                                java.lang.String langpref,
                                                int parentid,
                                                java.lang.String[] domainNames,
                                                java.util.Vector ns,
                                                int registrantContactId,
                                                int adminContactId,
                                                int techContactId,
                                                int billingContactId)
Parameters:
domainNames -
ns -
registrantContactId - Specifies the new registrant contactid to be set.
adminContactId - Specifies the new admin contactid to be set.
techContactId - Specifies the new tech contactid to be set.
billingContactId - Specifies the new billing contactid to be set.
Returns:
Hashtable containing result in key=>value format
Throws:
LogicBoxesException - DataConstraintException if any Data passed as parameter are not proper SqlException if any Database related Exception occurs LogicBoxesException if any internal errors occur

bulkModifyByCustomerId

public java.util.HashMap bulkModifyByCustomerId(java.lang.String userName,
                                                java.lang.String password,
                                                java.lang.String role,
                                                java.lang.String langpref,
                                                int parentid,
                                                int[] customerID,
                                                int[] resellerId,
                                                java.lang.String[] domainNames,
                                                java.util.Vector ns,
                                                int registrantContactId,
                                                int adminContactId,
                                                int techContactId,
                                                int billingContactId)
Modifies the details of various domains in bulk based on the given customers.

Parameters:
customerID - Specifies the identification numbers of the various customers.
resellerId - Specifies the identification numbers of the various resellers.
domainNames - Specifies the varuious domains the details of which needs to be modified.
ns - Specifies the nameservers that need to be set for the corresponding domains.
registrantContactId - Specifies the new registrant contactid to be set.
adminContactId - Specifies the new admin contactid to be set.
techContactId - Specifies the new tech contactid to be set.
billingContactId - Specifies the new billing contactid to be set.
Returns:
Hashtable containing result in key=>value format
Throws:
LogicBoxesException - DataConstraintException if any Data passed as parameter are not proper SqlException if any Database related Exception occurs LogicBoxesException if any internal errors occur

addChildNameServer

public java.util.HashMap addChildNameServer(java.lang.String userName,
                                            java.lang.String password,
                                            java.lang.String role,
                                            java.lang.String langpref,
                                            int parentid,
                                            int orderId,
                                            java.lang.String cns,
                                            java.util.Vector ipAddress)
Adds child nameservers for a particular order

Parameters:
orderId - Specifies the orderid for which the child name server needs to be added.
cns - Specifies the child nameserver that needs to be added.
ipAddress - Specifies the IP address that should be associated with the newly added child nameserver.
Returns:
Hashtable containing result in key=>value format
Throws:
LogicBoxesException - DataConstraintException if any Data passed as parameter are not proper SqlException if any Database related Exception occurs LogicBoxesException if any internal errors occur

deleteChildNameServerIp

public java.util.HashMap deleteChildNameServerIp(java.lang.String userName,
                                                 java.lang.String password,
                                                 java.lang.String role,
                                                 java.lang.String langpref,
                                                 int parentid,
                                                 int orderId,
                                                 java.lang.String cns,
                                                 java.util.Vector ipAddress)
Deletes the ip address associated with a particular child nameserver of a given order.

Parameters:
orderId - Specifies the order the ip address of the childnameservers of which needs to be deleted.
cns - Specifies the child nameserver of which the IP address needs to be deleted.
ipAddress - Specifies the IP address that needs to be deleted.
Returns:
Hashtable containing result in key=>value format
Throws:
LogicBoxesException - DataConstraintException if any Data passed as parameter are not proper SqlException if any Database related Exception occurs LogicBoxesException if any internal errors occur

del

public java.util.HashMap del(java.lang.String userName,
                             java.lang.String password,
                             java.lang.String role,
                             java.lang.String langpref,
                             int parentid,
                             int orderId)
Deletes a given order.

Parameters:
orderId - Specifies the order to be deleted.
Returns:
Hashtable containing result in key=>value format
Throws:
LogicBoxesException - DataConstraintException if any Data passed as parameter are not proper SqlException if any Database related Exception occurs LogicBoxesException if any internal errors occur

modifyChildNameServerIp

public java.util.HashMap modifyChildNameServerIp(java.lang.String userName,
                                                 java.lang.String password,
                                                 java.lang.String role,
                                                 java.lang.String langpref,
                                                 int parentid,
                                                 int orderId,
                                                 java.lang.String cns,
                                                 java.lang.String oldIp,
                                                 java.lang.String newIp)
Modifies the ip addresses associated with the child name servers of a particular order.

Parameters:
orderId - Specifies the order, the ip addresses of whose child nameservers needs to be modifies.
cns - Specifies the child nameservers.
oldIp - Specifies the current IP address associated with the child nameserver.
newIp - Specifies the new IP address that needs to be associated with that child nameserver.
Returns:
Hashtable containing result in key=>value format
Throws:
LogicBoxesException - DataConstraintException if any Data passed as parameter are not proper SqlException if any Database related Exception occurs LogicBoxesException if any internal errors occur

modifyChildNameServerName

public java.util.HashMap modifyChildNameServerName(java.lang.String userName,
                                                   java.lang.String password,
                                                   java.lang.String role,
                                                   java.lang.String langpref,
                                                   int parentid,
                                                   int orderId,
                                                   java.lang.String oldCns,
                                                   java.lang.String newCns)
Modifies the child nameservers of the given order.

Parameters:
orderId - Specifies the orderid whose child nameservers needs to be modified.
oldCns - Specifies the current child nameservers of the order.
newCns - Specifies the new child nameservers that need to be set.
Returns:
Hashtable containing result in key=>value format
Throws:
LogicBoxesException - DataConstraintException if any Data passed as parameter are not proper SqlException if any Database related Exception occurs LogicBoxesException if any internal errors occur

modifyContact

public java.util.HashMap modifyContact(java.lang.String userName,
                                       java.lang.String password,
                                       java.lang.String role,
                                       java.lang.String langpref,
                                       int parentid,
                                       int orderId,
                                       int registrantContactId,
                                       int adminContactId,
                                       int techContactId,
                                       int billingContactId)
Modifies the contact details of a particular order.

Parameters:
orderId - Specifies the orderid of whcih the contacts needs to be modified.
registrantContactId - Specifies the new registrant contactid to be set.
adminContactId - Specifies the new admin contactid to be set.
techContactId - Specifies the new tech contactid to be set.
billingContactId - Specifies the new billing contactid to be set.
Returns:
Hashtable containing result in key=>value format
Throws:
LogicBoxesException - DataConstraintException if any Data passed as parameter are not proper SqlException if any Database related Exception occurs LogicBoxesException if any internal errors occur

modifyDomainSecret

public java.util.HashMap modifyDomainSecret(java.lang.String userName,
                                            java.lang.String password,
                                            java.lang.String role,
                                            java.lang.String langpref,
                                            int parentid,
                                            int orderId,
                                            java.lang.String newSecret)
Modifies the domain secret of the given order.

Parameters:
orderId - Specifies the order of which you want to change the nameservers.
newSecret - Specifies the new domain secret to be set in modification process.
Returns:
A Hashtable with the results of the domainsecret modification.
Throws:
LogicBoxesException - DataConstraintException if any Data passed as parameter are not proper SqlException if any Database related Exception occurs LogicBoxesException if any internal errors occur

modifyNameServer

public java.util.HashMap modifyNameServer(java.lang.String userName,
                                          java.lang.String password,
                                          java.lang.String role,
                                          java.lang.String langpref,
                                          int parentid,
                                          int orderId,
                                          java.util.HashMap nsHash)
Modifies the name servers of the given order.

Parameters:
orderId - Specifies the order of which you want to change the nameservers.
nsHash - Specifies hash of the nameservers that you want to set for the given order. This hash contains the no of the nameserver as the key and the actual nameserver as the value. e.g key is ns1 and the value can be ns1.ditrecti.com
Returns:
A Hashtable with the results of the nameserver modification.
Throws:
LogicBoxesException - DataConstraintException if any Data passed as parameter are not proper SqlException if any Database related Exception occurs LogicBoxesException if any internal errors occur

namesuggestion

public java.util.HashMap namesuggestion(java.lang.String userName,
                                        java.lang.String password,
                                        java.lang.String role,
                                        java.lang.String langpref,
                                        int parentid,
                                        java.lang.String domainname,
                                        java.lang.String hyphenAllowed,
                                        java.lang.String numberAllowed,
                                        int domainNameLen,
                                        int noofResults,
                                        java.lang.String[] arrTlds)
Suggest the domain names similar to the domain nanem hat you specify which are available at the registry.

Parameters:
domainname - Specifies the domain name similar to which are the domains available at the registry to register.
hyphenAllowed - Specifies if the suggested domain name can have hyphens in it.
numberAllowed - Specifies if the suggested domain name can have numbers in it.
domainNameLen - Specifies the maximum length of th domain.
noofResults - Specifies the number of domain name suggestion that you want.
arrTlds - Sprcifies the alternate tlds for which you want the name suggestion to be given.
Returns:
A Hashtable with the result of the domain name suggestions. The Hashtable contains the suggested domain names as the keys and an inner hasmap as the values. The inner hash in turn contains each of the tlds as the keys and the status of the corresponsing suggested domain name in that tld as the value.
Throws:
LogicBoxesException - DataConstraintException if any Data passed as parameter are not proper SqlException if any Database related Exception occurs LogicBoxesException if any internal errors occur

isTransferRequestValid

public boolean isTransferRequestValid(java.lang.String userName,
                                      java.lang.String password,
                                      java.lang.String role,
                                      java.lang.String langpref,
                                      int parentid,
                                      java.lang.String domainName)
Verifies if the status of a given domain allows it to be transferred from one registrar to the other.

Parameters:
domainName - Sprcifies the domain name for which the transfer status needs to be checked.
Returns:
true/false The function returns true if the tramsfer can be made for the given domain andfalse otherwise.
Throws:
LogicBoxesException - DataConstraintException if any Data passed as parameter are not proper SqlException if any Database related Exception occurs LogicBoxesException if any internal errors occur

checkNameServer

public java.util.HashMap checkNameServer(java.lang.String userName,
                                         java.lang.String password,
                                         java.lang.String role,
                                         java.lang.String langpref,
                                         int parentid,
                                         java.lang.String[] nameServer,
                                         java.lang.String[] productKeys)
Checks if a particular nameserver is valid or not.

Parameters:
nameServer - Specifies a list of nameservers that you want to check.
productKeys - Specifies a list of productKeys that you want to check the nameserver for.
Returns:
Returns a hashtable containg the result about each nameserver in the subimitted nameservers list.

validateDomainRegistrationParams

public java.util.HashMap validateDomainRegistrationParams(java.lang.String userName,
                                                          java.lang.String password,
                                                          java.lang.String role,
                                                          java.lang.String langpref,
                                                          int parentid,
                                                          java.util.HashMap domainHash,
                                                          java.util.Vector ns,
                                                          int registrantContactId,
                                                          int adminContactId,
                                                          int techContactId,
                                                          int billingContactId,
                                                          int customerId,
                                                          java.lang.String invoiceOption)
This method validated parameters which you will use for registration. If you don't want to perform validation at the time of registration call, first make call to this method separately and then call method which will

Parameters:
domainHash - This should contain the domain name(s) which are to be registered. The HashMap should have the domainname as the key, and the number of years to register the domain for as the value. ex. {domain1.com=1,domain2.net=2}
ns - The NameServers to be used for the domains being registered. The same NS's will be used forall the domain names specified in the domain hash.
registrantContactId - The contact to be used as the Registrant for all the specified domains.
adminContactId - The contact to be used as the Admin Contact for all the specified domains.
techContactId - The contact to be used as the Tech Contact for all the specified domains.
billingContactId - The contact to be used as the Billing Contact for all the specified domains.
customerId - The customer under whom the orders should be added
invoiceOption - This parameter will decide how the Customer Invoices will be handled. This could be one of below NoInvoice - If this value is passed, then no customer invoice will be generated for the domains. PayInvoice - If this value is passed, then a customer invoice will be generated for the domains in the first step. If there is sufficient balance in the Customer's Debit Account, then the invoices will be paid and the domains will be registered. If a customer has less balance than required, then as many domains as possible will be registered with the existing funds. All other orders will remain pending in the system. KeepInvoice -If this value is passed, then a customer invoice will be generated for the domains. However, these invoices will not be paid. They will be kept pending, while the orders will be executed.
Returns:
Returns the hashtable containing information about which all parametrs are valid and which are not.
Throws:
LogicBoxesException

validateDomainTransferParams

public java.util.HashMap validateDomainTransferParams(java.lang.String userName,
                                                      java.lang.String password,
                                                      java.lang.String role,
                                                      java.lang.String langpref,
                                                      int parentid,
                                                      java.util.HashMap domainHash,
                                                      int registrantContactId,
                                                      int adminContactId,
                                                      int techContactId,
                                                      int billingContactId,
                                                      int customerId,
                                                      java.lang.String invoiceOption)
This method validated parameters which you will use for registration. If you don't want to perform validation at the time of transfer call, first make call to this method separately and then call method which will

Parameters:
domainHash - This should contain the domain name(s) which are to be transfered. The HashMap should have the domainname as the key, and the domain secret for the domain as the value. ex. {domain1.com=secret1,domain2.net=secret2}
registrantContactId - The contact to be used as the Registrant for all the specified domains.
adminContactId - The contact to be used as the Admin Contact for all the specified domains.
techContactId - The contact to be used as the Tech Contact for all the specified domains.
billingContactId - The contact to be used as the Billing Contact for all the specified domains.
customerId - The customer under whom the orders should be added
invoiceOption - This parameter will decide how the Customer Invoices will be handled. This could be one of below NoInvoice - If this value is passed, then no customer invoice will be generated for the domains. PayInvoice - If this value is passed, then a customer invoice will be generated for the domains in the first step. If there is sufficient balance in the Customer's Debit Account, then the invoices will be paid and the domains will be registered. If a customer has less balance than required, then as many domains as possible will be registered with the existing funds. All other orders will remain pending in the system. KeepInvoice -If this value is passed, then a customer invoice will be generated for the domains. However, these invoices will not be paid. They will be kept pending, while the orders will be executed.
Returns:
Returns a hashtabel containing the information about which alll parameters are valid for domain transfer operationa nd which is not.
Throws:
LogicBoxesException

addTransferDomainWithoutvalidation

public java.util.HashMap addTransferDomainWithoutvalidation(java.lang.String userName,
                                                            java.lang.String password,
                                                            java.lang.String role,
                                                            java.lang.String langpref,
                                                            int parentid,
                                                            java.util.HashMap domainHash,
                                                            int registrantContactId,
                                                            int adminContactId,
                                                            int techContactId,
                                                            int billingContactId,
                                                            int customerId)
Deprecated. instead Use addTransferDomain(Hashtable domainHash, Vector nameServersList, int registrantContactId, int adminContactId, int technicalContactId, int billingContactId, int customerId, String invoiceOption, boolean enablePrivacyProtection, boolean validate, Hashtable extraInfo) throws LogicBoxesException

To be removed, used by older API's Attempts to place a Transfer order for the specified domain name(s) without performing validation. This method assumes that you have already validated the transfer params by calling the isTransferRequestValid method of the domOrder class. It adds an order in the system for the domain name.

Parameters:
domainHash - This should contain the domain name(s) which are to be transfered. The HashMap should have the domainname as the key, and the domain transfer secret as the value. In case of domains which do not have a transfer secret, an empty string should be passed. ex. {domain1.com=secret1,domain2.net=secret2}
registrantContactId - The contact to be used as the Registrant for all the specified domains.
adminContactId - The contact to be used as the Admin Contact for all the specified domains.
techContactId - The contact to be used as the Tech Contact for all the specified domains.
billingContactId - The contact to be used as the Billing Contact for all the specified domains.
customerId - The customer under whom the orders should be added
Returns:
HashMap A HashMap with the result of the Transfer order. The HashMap has the domainnames as the key, and a HashMap as the value. The inner HashMap will have key-values as follows:

entityid=435 description=apitest04.com actiontype=AddTransferDomain actiontypedesc=Transfer of apitest04.com from old Registrar alongwith 1 year Renewal actionstatus=RFASent actionstatusdesc=Transfer waiting for Admin Contact Approval status=Success eaqid=1169

Incase you have chosen "KeepInvoice" or "PayInvoice", the return HashMap will also contain the following data:

customerid=8 invoiceid=727 sellingcurrencysymbol=INR sellingamount=-500.000 unutilisedsellingamount=-500.000

invoiceid is the Id that you will need to pass to Fund.payCustomerTransaction if you wish to pay the invoice at a later date. selllingamount is the Invoice amount in your Selling Currency unutilisedselllingamount is the Pending Invoice amount in your Selling Currency. In case of "KeepInvoice", the pending amount will always be equal to the invoice amount. In case of "PayInvoice", if the Customer does not have sufficient funds to pay the entire invoice amount, unutilisedsellingamount will reflect the balance amount that is pending. If the invoice has been completely paid, the unutilisedsellingamount will be 0.

Throws:
LogicBoxesException - - LogicBoxesException

addWithoutValidation

public java.util.HashMap addWithoutValidation(java.lang.String userName,
                                              java.lang.String password,
                                              java.lang.String role,
                                              java.lang.String langpref,
                                              int parentid,
                                              java.util.HashMap domainHash,
                                              java.util.Vector ns,
                                              int registrantContactId,
                                              int adminContactId,
                                              int techContactId,
                                              int billingContactId,
                                              int customerId,
                                              java.lang.String invoiceOption)
Attempts to Register the specified domain name(s) without performing any validation of data. This method performs the action in two steps - 1. It adds an order in the system for the domain name. 2. It attempts to register the domainname in the Registry. Your Reseller account must have sufficient funds to register the domain names since this is a billable action.

Parameters:
domainHash - This should contain the domain name(s) which are to be registered. The HashMap should have the domainname as the key, and the number of years to register the domain for as the value. ex. {domain1.com=1,domain2.net=2}
ns - The NameServers to be used for the domains being registered. The same NS's will be used forall the domain names specified in the domain hash.
registrantContactId - The contact to be used as the Registrant for all the specified domains.
adminContactId - The contact to be used as the Admin Contact for all the specified domains.
techContactId - The contact to be used as the Tech Contact for all the specified domains.
billingContactId - The contact to be used as the Billing Contact for all the specified domains.
customerId - The customer under whom the orders should be added
invoiceOption - This parameter will decide how the Customer Invoices will be handled. NoInvoice - If this value is passed, then no customer invoice will be generated for the domains. PayInvoice - If this value is passed, then a customer invoice will be generated for the domains in the first step. If there is sufficient balance in the Customer's Debit Account, then the invoices will be paid and the domains will be registered. If a customer has less balance than required, then as many domains as possible will be registered with the existing funds. All other orders will remain pending in the system. KeepInvoice -If this value is passed, then a customer invoice will be generated for the domains. However, these invoices will not be paid. They will be kept pending, while the orders will be executed.
Returns:
HashMap A HashMap with the result of the domain registration. The HashMap has the domainnames as the key, and a HashMap as the value. The inner HashMap will have key-values as follows:

entityid=434 description=apitest04.info actiontype=AddNewDomain actiontypedesc=Registration of apitest04.info for 1 years actionstatus=Success actionstatusdesc=Domain registration Completed Successfully status=Success eaqid=1168

Incase you have chosen "KeepInvoice" or "PayInvoice", the return HashMap will also contain the following data:

customerid=8 invoiceid=727 sellingcurrencysymbol=INR sellingamount=-500.000 unutilisedsellingamount=-500.000

invoiceid is the Id that you will need to pass to Fund.payCustomerTransaction if you wish to pay the invoice at a later date. selllingamount is the Invoice amount in your Selling Currency unutilisedselllingamount is the Pending Invoice amount in your Selling Currency. In case of "KeepInvoice", the pending amount will always be equal to the invoice amount. In case of "PayInvoice", if the Customer does not have sufficient funds to pay the entire invoice amount, unutilisedsellingamount will reflect the balance amount that is pending. If the invoice has been completely paid, the unutilisedsellingamount will be 0.


getDetails

public java.util.HashMap getDetails(java.lang.String userName,
                                    java.lang.String password,
                                    java.lang.String role,
                                    java.lang.String langpref,
                                    int parentid,
                                    int orderId,
                                    java.util.Vector option)
Returns entity details depending upon various option values. Pass All if all details are required.

Parameters:
orderId - OrderId for which details required
option - Vector of different option for details listing.Allowed Option values are All, OrderDetails, ContactIds, RegistrantContactDetails, AdminContactDetails, TechContactDetails, BillingContactDetails, NsDetails, DomainStatus
Returns:
Hashtable key/value pair for all fields depending upon option
Throws:
LogicBoxesException - if option value is null or Invalid SqlException if any Database related Exception occurs LogicBoxesException if any internal errors occur

getDetailsByDomain

public java.util.HashMap getDetailsByDomain(java.lang.String userName,
                                            java.lang.String password,
                                            java.lang.String role,
                                            java.lang.String langpref,
                                            int parentid,
                                            java.lang.String domainName,
                                            java.util.Vector option)
Returns the complete details of a particular order from domainname.

Parameters:
domainName - The domainName for which details are required
option - The various details that are required for the order. Valid entries are:

OrderDetails StatusDetails ContactIds RegistrantContactDetails AdminContactDetails TechContactDetails BillingContactDetails NsDetails DomainStatus PricingDetails

All

Returns:
Hashtable with name-value pairs for all the details of the order

orderid=123 entityid=123 description=foundationapi.org ns2=ns3.logicboxes.com ns1=ns1.logicboxes.com entitytypeid=7 eaqid=0 currentstatus=Active customercost=10.0 parentkey=1 domainstatus=[] orderstatus=[] creationtime=1060855310 classname=com.logicboxes.foundation.sfnb.order.domorg.DomOrg classkey=domorg domsecret=JKz42pbB5H cns={}, endtime=1092457910 domainname=foundationapi.org registrantcontactid=320 admincontactid=320 techcontactid=320 billingcontactid=320

If you have requested for the contact details as well, you will get keys as registrantcontact, billingcontact, admincontact and techcontact. The value for these keys will be a Hashtable with the following keys:

contactid=320 name=Contact company=FAPI customerid=21 parentkey=1 emailaddr=contact@fapi.com address1=Somewhere address2= address3= city=Someplace state= country=SH zip=12345 telnocc=123 telno=135435456 faxnocc= faxno= contacttype=[domorg]

Throws:
LogicBoxesException - if option value is null or Invalid SqlException if any Database related Exception occurs LogicBoxesException if any internal errors occur

getOrderIdByDomain

public int getOrderIdByDomain(java.lang.String userName,
                              java.lang.String password,
                              java.lang.String role,
                              java.lang.String langpref,
                              int parentid,
                              java.lang.String domainName,
                              java.lang.String productkey)
Returns the orderid of a particular order from domainname.

Parameters:
domainName - The domainName for which details are required
productkey - Productkey i.e. domcno, domorg, dotin etc
Returns:
int orderid of the domain name
Throws:
LogicBoxesException - if option value is null or Invalid SqlException if any Database related Exception occurs LogicBoxesException if any internal errors occur

list

public java.util.HashMap list(java.lang.String userName,
                              java.lang.String password,
                              java.lang.String role,
                              java.lang.String langpref,
                              int parentid,
                              int[] orderId,
                              int[] resellerId,
                              int[] customerId,
                              boolean showChildOrders,
                              java.lang.String[] classKey,
                              java.lang.String[] currentStatus,
                              java.lang.String description,
                              java.lang.String[] ns,
                              java.lang.String contactName,
                              java.lang.String contactCompanyName,
                              java.lang.String creationDTRangStart,
                              java.lang.String creationDTRangEnd,
                              java.lang.String endTimeRangStart,
                              java.lang.String endTimeRangEnd,
                              int numOfRecordPerPage,
                              int pageNum,
                              java.lang.String[] orderBy)
Returns Hashtable of order details depending on different variables passed as parameter.

This method accepts different parameter for search criteria.For by passing parameter null must be passed for object parameter and 0 must be passed for Numeric parameter

Parameters:
orderId - - Array of OrderIds for Listing of Specific orders or null for all orders
resellerId - - Array of ResellerId for Listing of reseller specific orders or null for all orders when called by Admin
customerId - - Array of CustomerId for Listing of customer specific orders or null for all orders when called by Admin or Reseller
showChildOrders - - flag denoting whether to show child orders or not
classKey - - Array of classKey for Listing of DomOrders of specific EntityType or null for all EntityType
currentStatus - - Array of CurrentStatus for Listing of DomOrders of specific CurrentStatus or null for all CurrentStatus
endTimeRangStart - - UNIX TimeStamp for Listing of DomOrders whose endDT Greater than endTimeRangStart or null for all orders
endTimeRangEnd - - UNIX TimeStamp for Listing of DomOrders whose endDT Less than endTimeRangEnd or null for all orders
creationDTRangStart - - UNIX TimeStamp for Listing of DomOrders whose creationDT Greater than creationDTRangStart or null for all orders
creationDTRangEnd - - UNIX TimeStamp for Listing of DomOrders whose creationDT Less than creationDTRangEnd or null for all orders
description - - String for Listing of DomOrders whose Description is Like description or null for all orders
numOfRecordPerPage - - No of Records Require per page
pageNum - -Page Number from which records require
orderBy - - Array of Field names for sorting Listing of DomOrders or null for default by orderId
Returns:
Hashtable which contains order details key for hashtable is index starting from 1 value is another Hashtable which contains key value pair for different order variable. This second Hashtable contains key as tablename.fieldname
Throws:
LogicBoxesException - DataConstraintException if any Data passed as parameter are not proper SqlException if any Database related Exception occurs LogicBoxesException if any internal errors occur

registerDomain

public java.util.HashMap registerDomain(java.lang.String userName,
                                        java.lang.String password,
                                        java.lang.String role,
                                        java.lang.String langpref,
                                        int parentid,
                                        java.util.Vector addParamList,
                                        java.util.Vector nameServersList,
                                        int customerId,
                                        java.lang.String invoiceOption,
                                        boolean enablePrivacyProtection,
                                        boolean validate,
                                        java.util.HashMap extraInfo)
Attempts to Register the specified domain name(s).
This method performs the action in three steps -
1) It validates data sent for registration.
2) It adds an order in the system for the domain name.
3) It attempts to register the domainname in the Registry.
Your Reseller account must have sufficient funds to register the domain names since this is a billable action.

Parameters:
addParamList - This should contain the list of hashtables grouped according to contact types.
This hashtables should contain the hash of domains & contacts.
E.g. {domainhash=Hash, contacthash=Hash}
The domain hash should contain domain name(s) which are to be registered as the key, and the number
of years to register the domain for as the value.
ex. {domain1.com=1,domain2.net=2}
The contact hash should contain the contactids as values, the structure should be as follows:
{registrantcontactid=1, billingcontactid=2, technicalcontactid=3, admincontactid=4}, where order may vary.
Note: If a domain type doesnt support any of the above given contact types then they need not be mentioned
in the contact hash.
E.g. .EU/.UK domains contact hash would look like, {registrantcontactid=1}
Typically, the addParamList's structure while register multiple types of domains would be:
[
{domainhash={{domain1.com=1,domain2.org=2}},contacthash={{registrantcontactid=1, billingcontactid=2, technicalcontactid=3, admincontactid=4}}},
{domainhash={{eudomain1.eu=1,eudomain2.eu=2,eudomain3.eu=6}},contacthash={{registrantcontactid=5}}},
{domainhash={{thirdleveldomain1.co.uk=2}},contacthash={registrantcontactid=7}}
]
nameServersList - The NameServers to be used for the domains being registered.
The same NS's will be used for all the domain names specified
in the domain hash.
customerId - The customer under whom the orders should be added
invoiceOption - This parameter will decide how the Customer Invoices
will be handled.
NoInvoice - If this value is passed, then no customer invoice will be generated for the domains.
Note: Only reseller can choose this option while adding an order for his customer.
KeepInvoice - If this value is passed, then a customer invoice will be generated
for the domains. However, these invoices will not be paid.
They will be kept pending, while the orders will be executed.
Note: Only reseller can choose this option while adding an order for his customer.
PayInvoice - If this value is passed, then a customer invoice will be generated for the
domains in the first step. If there is sufficient balance in the
Customer's Debit Account, then the invoices will be paid and the domains
will be registered. If a customer has less balance than required,
then as many domains as possible will be registered with the existing funds.
All other orders will remain pending in the system.
enablePrivacyProtection - This parameter should contain either true or false. This field provides option to choose
if you want to enable privacy protection service.
validate - This parameter should contain either true or false. Setting it true will validate
the NS's provided & Domain Availability before adding the order.
extraInfo - This paramter can contain the extra details required to register a domain. The details should be
provided as key - value pair in HashTable.
Note: While registering .ASIA domain name following details are mandatory:
1. Charter Eligibility Declaration (CED) Contact ID
You may select any one of Admin, Technical, Billing or Registrant contact id of the domain name
been registered as CED Contact ID. The neccessary details need to be associated with the
selected contact, before making domain registration call.
For e.g. extraInfoHash=[cedcontactid={Mention Contact ID}]
For more information on CED Contact please refer to Knowledge Base.
Returns:
HashTable A HashTable with the result of the domain registration. The HashTable has the domainnames as the key, and a HashTable as the value. The inner HashTable will have key-values as follows:

entityid=434 description=apitest04.info actiontype=AddNewDomain actiontypedesc=Registration of apitest04.info for 1 years actionstatus=Success actionstatusdesc=Domain registration Completed Successfully status=Success eaqid=1168

Incase you have chosen "KeepInvoice" or "PayInvoice", the return HashTable will also contain the following data:

customerid=8 invoiceid=727 sellingcurrencysymbol=INR sellingamount=-500.000 unutilisedsellingamount=-500.000

invoiceid is the Id that you will need to pass to Fund.payCustomerTransaction if you wish to pay the invoice at a later date. selllingamount is the Invoice amount in your Selling Currency unutilisedselllingamount is the Pending Invoice amount in your Selling Currency. In case of "KeepInvoice", the pending amount will always be equal to the invoice amount. In case of "PayInvoice", if the Customer does not have sufficient funds to pay the entire invoice amount, unutilisedsellingamount will reflect the balance amount that is pending. If the invoice has been completely paid, the unutilisedsellingamount will be 0. The returnHash may also contain the failed domains with inner HashTable key-values as:

status=error error=Invalid Domain Format

Throws:
LogicBoxesException - - LogicBoxesException

addTransferDomain

public java.util.HashMap addTransferDomain(java.lang.String userName,
                                           java.lang.String password,
                                           java.lang.String role,
                                           java.lang.String langpref,
                                           int parentid,
                                           java.util.Vector addParamList,
                                           java.util.Vector nameServersList,
                                           int customerId,
                                           java.lang.String invoiceOption,
                                           boolean enablePrivacyProtection,
                                           boolean validate,
                                           java.util.HashMap extraInfo)
Attempts to place a Transfer order for the specified domain name(s) This method performs the action in three steps - 1. It validates data sent for registration. 2. It adds an order in the system for the domain name. 3. It attempts to transfer the domainname in the Registry. Your Reseller account must have sufficient funds to transfer the domain names since this is a billable action.

Parameters:
addParamList - This should contain the list of hashtables grouped according to contact types. This hashtables should contain the hash of domains & contacts. E.g. {domainhash=Hash, contacthash=Hash} The domain hash should contain domain name(s) which are to be transfered as the key, and the domain secret as the value. In case of domains which do not have a transfer secret, an empty string should be passed. ex. {domain1.com=secret1,domain2.net=secret2} The contact hash should contain the contactids as values, the structure should be as follows: {registrantcontactid=1, billingcontactid=2, technicalcontactid=3, admincontactid=4}, where order may vary. Note: If a domain type doesnt support any of the above given contact types then they need not be mentioned in the contact hash. E.g. .EU domains contact hash would look like, {registrantcontactid=1, technicalcontactid=2} Typically, the addParamList's structure while tranfer multiple types of domains would be: [ {domainhash={{domain1.com=secret1,domain2.org=secret2}},contacthash={{registrantcontactid=1, billingcontactid=2, technicalcontactid=3, admincontactid=4}}}, {domainhash={{eudomain1.eu=,eudomain2.eu=,eudomain3.eu=}},contacthash={{registrantcontactid=5, technicalcontactid=6}}}, {domainhash={{thirdleveldomain1.co.uk=}},contacthash={registrantcontactid=7}} ] ex. {domain1.com=secret1,domain2.net=secret2}
nameServersList - The NameServers to be used for the domains being transfered. If you pass the nameservers, then the original nameservers will be replaced by the new ones otherwise the orinal nameservers will remain as it is. The same NS's will be used for all the domain names specified in the domain hash.
customerId - The customer under whom the orders should be added
invoiceOption - This parameter will decide how the Customer Invoices will be handled. NoInvoice - If this value is passed, then no customer invoice will be generated for the domains. PayInvoice - If this value is passed, then a customer invoice will be generated for the domains in the first step. If there is sufficient balance in the Customer's Debit Account, then the invoices will be paid and the domains will be registered. If a customer has less balance than required, then as many domains as possible will be registered with the existing funds. All other orders will remain pending in the system. KeepInvoice - If this value is passed, then a customer invoice will be generated for the domains. However, these invoices will not be paid. They will be kept pending, while the orders will be executed.
enablePrivacyProtection - This parameter should contain either true or false. This field provides option to choose if you want to enable privacy protection service.
validate - This parameter should contain either true or false. Setting it true will validate the NS's provided & Domain Availability before adding the order.
extraInfo - This paramter can contain the extra details required to transfer a domain. The details should be
provided as key - value pair in HashTable.
Note: While transferring .ASIA domain name following details are mandatory:
1. Charter Eligibility Declaration (CED) Contact ID
You may select any one of Admin, Technical, Billing or Registrant contact id of the domain name
been registered as CED Contact ID. The neccessary details need to be associated with the
selected contact, before making domain registration call.
For e.g. extraInfoHash=[cedcontactid={Mention Contact ID}]
For more information on CED Contact please refer to Knowledge Base.
Returns:
HashMap A HashMap with the result of the Transfer order. The HashMap has the domainnames as the key, and a HashMap as the value. The inner HashMap will have key-values as follows:

entityid=435 description=apitest04.com actiontype=AddTransferDomain actiontypedesc=Transfer of apitest04.com from old Registrar alongwith 1 year Renewal actionstatus=RFASent actionstatusdesc=Transfer waiting for Admin Contact Approval status=Success eaqid=1169

Incase you have chosen "KeepInvoice" or "PayInvoice", the return HashMap will also contain the following data:

customerid=8 invoiceid=727 sellingcurrencysymbol=INR sellingamount=-500.000 unutilisedsellingamount=-500.000

invoiceid is the Id that you will need to pass to Fund.payCustomerTransaction if you wish to pay the invoice at a later date. selllingamount is the Invoice amount in your Selling Currency unutilisedselllingamount is the Pending Invoice amount in your Selling Currency. In case of "KeepInvoice", the pending amount will always be equal to the invoice amount. In case of "PayInvoice", if the Customer does not have sufficient funds to pay the entire invoice amount, unutilisedsellingamount will reflect the balance amount that is pending. If the invoice has been completely paid, the unutilisedsellingamount will be 0.

Throws:
LogicBoxesException - - LogicBoxesException

changePrivacyProtectionStatus

public java.util.HashMap changePrivacyProtectionStatus(java.lang.String userName,
                                                       java.lang.String password,
                                                       java.lang.String role,
                                                       java.lang.String langpref,
                                                       int parentid,
                                                       java.lang.String lockerId,
                                                       int orderID,
                                                       boolean newIsPrivacyProtected,
                                                       java.lang.String reason)
Will add privacy protetion feature for domain name registration

The main reason domain owners want to hide their contact information is because their email address listed on the whois record can be used to spam. The only way to prevent spam is to hide the email address on the whois record or to shield the address with a spam-proof privacy email service.

Registrars have come up with Privacy Protection registration. This is generally a registration process that costs a little extra, but the registrar will place their information in the WHOIS in place of yours.

Parameters:
lockerId - The userid (resellerid or customerid) who is going to do the enable / disable Privacy Protection.
orderID - The orderID for which enable / disable Privacy Protection action to be done
newIsPrivacyProtected - This is the flag shows what action (enable or disable Privacy Protection) to be done. if Privacy Protection enabled newIsPrivacyProtected = true if Privacy Protection disabled newIsPrivacyProtected = false
reason - The reason, why Privacy Protection enable or disable
Returns:
returnHash Hashtable. A Hashtable with a result of enable / disable Privacy Protection. The Hashtable will have key-values as follows: status = success or failed or actionStatus error = error description if there is any error occured message = success message order details are ....... entityid=434 description=apitest04.info actiontype=PrivacyProtectionEnableDisable actiontypedesc=Enable Privacy Protection Service or Disable Privacy Protection Service actionstatus=Success actionstatusdesc=Operation done successfully
Throws:
LogicBoxesException

restore

public java.util.HashMap restore(java.lang.String userName,
                                 java.lang.String password,
                                 java.lang.String role,
                                 java.lang.String langpref,
                                 int parentid,
                                 int orderId,
                                 java.lang.String invoiceOption)
Restore domain

Parameters:
orderId - OrderId of the domain.
invoiceOption - This parameter will decide how the Customer Invoices will be handled.
  • NoInvoice - If this value is passed, then no customer invoice will be generated for the domains.
  • PayInvoice - If this value is passed, then a customer invoice will be generated for the domains in the
    first step. If there is sufficient balance in the Customer's Debit Account, then the invoices will be paid
    and the domains will be registered. If a customer has less balance than required, then as many domains
    as possible will be registered with the existing funds. All other orders will remain pending in the system.
  • KeepInvoice - If this value is passed, then a customer invoice will be generated for the domains.
    However, these invoices will not be paid. They will be kept pending, while the orders will be executed.
  • Only Add - If this value is passed, then a customer invoice will be generated for the domain and order will
    be pending in the system till invoice get paid.
Returns:
A Hashtable of Hashtables with the results of adding the Restore order.
Throws:
LogicBoxesException - if any internal error occurs

resendTransferAuthorizationMail

public void resendTransferAuthorizationMail(java.lang.String userName,
                                            java.lang.String password,
                                            java.lang.String role,
                                            java.lang.String langpref,
                                            int parentid,
                                            int orderId)
Resends the transfer authorization mail

Parameters:
orderId - specifies the order for which you want to resend the authorization mail
Throws:
LogicBoxesException

cancelTransfer

public java.lang.String cancelTransfer(java.lang.String userName,
                                       java.lang.String password,
                                       java.lang.String role,
                                       java.lang.String langpref,
                                       int parentid,
                                       int orderId)
Cancels the Transfer-In Order which is awaiting Admin approval

Parameters:
orderId - specifies the Order that you want to cancel
Returns:
String ie, Success if executed Successfully otherwise error message
Throws:
LogicBoxesException