Gossimer’s Premier Web Hosting and Domain Registration Knowledgebase.
Changes in version 3.10
-
Java Docs updated
-
Changes related to classes and methods:
New Classes and Methods
| Domains Kit |
| New Class Name |
New Method |
| ThirdLevelDotUk |
String invoiceOption |
| ThirdLevelDotUk |
String existingEndTime |
New Parameters introduced in Existing Methods
| Other Products Kit |
| Class Name |
Method Name |
New Parameters |
| EngageOrder |
renew |
String invoiceOption |
| EngageOrder |
renew |
String existingEndTime |
Deprecated Parameters in Methods
| Domains Kit |
| Class Name |
Method Name |
Deprecated Parameters |
| ZoneOrder |
add |
“No Of Records” in DomainHash |
Deprecated Methods
| Domains Kit |
| Class Name |
Deprecated Method |
Suggested Class |
Suggested Method |
| DomContact |
addDefaultContact |
DomContact |
addDefaultContacts |
| DomContact |
add |
DomContact |
addContact |
| DomContact |
list |
DomContact |
listByType |
| DomContactExt |
isValidRegistrantContact |
DomContactExt |
isValidContact |
| DomOrder |
transferDomain |
DomOrder |
addTransferDomain |
| DomOrder |
add |
DomOrder |
registerDomain |
| ZoneOrder |
mod |
ZoneOrder |
Functionality not required anymore |
| DotEu |
tradeDomain |
DotEu |
trade |
| DotEu |
transferDomain |
DotEu |
transfer |
| DotEu |
add |
DomOrder |
registerDomain |
| Core Kit |
| Class Name |
Deprecated Method |
Suggested Class |
Suggested Method |
| Customer |
addCustomer |
Customer |
signUp |
| Customer |
modDetails |
Customer |
mod |
| Reseller |
addReseller |
Reseller |
signUp |
| Reseller |
modDetails |
Reseller |
mod |
| Reseller |
addResellerWithStateId |
Reseller |
Functionality not required anymore |
| OrderSetup |
getResellerSlabPercentageForProducts |
OrderSetup |
Functionality not required anymore |
| OrderSetup |
getCustomerSlabPercentage |
OrderSetup |
Functionality not required anymore |
Changes in version 3.9
- Java Docs updated
-
Changes related to classes and methods:
The following method in the Domains Kit is deprecated and its use should be discontinued -
| Deprecated method |
Class |
New method to be used |
| |
|
|
| isValidRegistrantContact |
DomContactExt |
isValidContact |
Changes in version 3.8
-
Java Docs updated
-
Changes related to classes and methods:
-
The following changes have been introduced under the DotEu class within the Domains Kit -
- New methods
- Deprecated methods
- tradeDomain
- transferDomain
-
The following new methods have been introduced under DigitalCertificateOrder class within the Other Products Kit -
- enrollForThawteCertificate
- reissue
- renew
- checkDigitalCertificateStatus
- del
- cancelDigicertOrder
- changeDigicertPassword
- addAdditionalLicenses
- getDetails
- getDetailsByDomain
- getOrderIdByDomain
Changes in version 3.7
-
Java Docs updated
-
Changes related to classes and methods:
Some old parameters have been removed and new parameters introduced in their place under the following methods -
| LinuxHostingOrder Class |
| Method |
Old Parameter |
New Parameters |
| add |
Hashtable orderParams |
String packageKey*, boolean ssl# |
| mod |
Hashtable orderParams |
String packagekey*, boolean ssl#,
int excessBandwidth## |
| getMonthlyCostAndValidate |
Hashtable orderParams |
String packageKey*, boolean ssl#,
int execessBandwidth## |
| getModPricing |
Hashtable orderParams |
String packageKey*, boolean ssl#,
int execessBandwidth## |
| WindowsHostingOrder Class |
| Method |
Old Parameter |
New Parameters |
| add |
Hashtable orderParams |
String packageKey*, boolean ssl# |
| mod |
Hashtable orderParams |
String packagekey*, boolean ssl#,
int excessBandwidth## |
| getMonthlyCostAndValidate |
Hashtable orderParams |
String packageKey*, boolean ssl#,
int execessBandwidth## |
| getModPricing |
Hashtable orderParams |
String packageKey*, boolean ssl#,
int execessBandwidth## |
| MailHostingOrder Class |
| Method |
Old Parameter |
New Parameters |
| add |
Hashtable orderParams |
String packageKey* |
| mod |
Hashtable orderHash |
String packagekey*, int additionalMailBoxes** |
| getMonthlyCostAndValidate |
Hashtable orderParams |
String packageKey*, int additionalMailBoxes** |
| getModPricing |
Hashtable orderParams |
String packageKey*, int additionalMailBoxes** |
| SiteBuilder Class |
| Method |
Old Parameter |
New Parameters |
| mod |
Hashtable orderParams |
String packageKey* |
| getMonthlyCostAndValidate |
Hashtable orderParams |
String packageKey* |
NOTE:
* packageKey will be the Identifier Key of the Plan (plan1, plan2, plan3, plan4) for which the Order needs to be added/modified.
# ssl will be true or false depending whether the user wants Dedicated IP / SSL for the Order placed.
## excessBandwidth is the Bandwidth which the user wants over and above the Bandwidth of the Order’s current plan.
** additionalMailBoxes is the number of additional mail boxes over and above the existing ones in blocks of 100 accounts.
- The following classes and their methods are removed:
- LinuxHostingPlanOnlyOrder
- WindowsHostingPlanOnlyOrder
- MailHostingPlanOnlyOrder
- The SiteBuilderLite class has been renamed to SiteBuilder.
- Two new methods, mod and signUp, have been introduced under the Reseller and Customer classes.
- The return type of the ListByType method of DomContact class in the Domains Kit has been changed to Hashtable from Vector.
Changes in version 3.6
-
Java Docs updated
-
Changes related to classes and methods:
- New methods have been added in the Core Kit under the following class:
getProductMetadata – Product class
- New methods have been added in the Domains Kit under the following classes:
getDefaultContactId – DomContactExt class
listByType – DomContact class
addTransferDomain – DomOrder class
changePrivacyProtectionStatus – DomOrder class
registerDomain – DomOrder class
- Changes to the DomOrder class in Domains Kit:
- Privacy Protection Handling is added in the bulkAdd and bulkAddTransferDomain methods.
- The ‘ns’ parameter has been removed from the validateDomainTransferParams method.
- The following methods in the Domains Kit are deprecated and their use should be discontinued:
| Deprecated method |
Class |
New method to be used |
| |
|
|
| add |
DomContact |
addContact |
| addDefaultContact |
DomContact |
addDefaultContacts |
| list |
DomContact |
listByType |
| add |
DomOrder |
registerDomain |
| transferDomain |
DomOrder |
addTransferDomain |
| transferDomainWithoutValidation |
DomOrder |
addTransferDomain |
| addTransferDomainWithoutvalidation |
DomOrder |
addTransferDomain |
| add |
DotEu |
registerDomain in DomOrder class |
IMPORTANT
While these methods are currently available, they are no longer supported and may be discontinued in the near future.
- New methods have been added in the Hosting Kit under the following class:
getHostingMetaData – WebHostingOrderData class
- Changes to classes in the Hosting Kit:
The invoiceOption parameter has been added to the add method of MailHostingPlanOnlyOrder, WindowsHostingPlanOnlyOrder and LinuxHostingPlanOnlyOrder classes
Changes in version 3.5
-
Java Docs updated
-
Changes related to classes and functions:
- New functions have been added in the Core Kit under the following classes:
getList – Country class
getStateListForCountry – Country class
getDetails – Order class
addResellerWithStateId – Reseller class
- An extra option called Supersite is added in the getDetails function of the Reseller class in the Core Kit.
- A new class LegalAgreement is added with the following methods under the Core Kit:
getRegistrantAgreement
getProductCategory
getAgreement
getAllAgreements
- A new function has been added in the Domains Kit under the following class:
addCoopContact – DotCoopContact class
- The following functions in the DomOrder class in the Domains Kit are changed to show the Invoice options also:
validateDomainRegistrationParams
validateDomainTransferParams
addWithoutValidation
Changes in version 3.4
-
COM visible interfaces have been added for those who use ASP or VB, so that they are also able to use our DLLs.
-
Java Docs Updated
-
New Classes introduced in all Kits:
-
Core Kit
TaxService
getApplicableTaxes
getHashedTaxRules
-
Domains Kit
DotEu
getEUCountryList
tradeDomain
transferDomain
add
isEUCountry
DotEuContact
mod
add
addEuDefaultContact
DomOrder
validateDomainRegistrationParams
validateDomainTransferParams
addTransferDomainWithoutvalidation
addWithoutValidation
-
Hosting Kit
WindowsHostingPlanOnlyOrder
getDetails
getDetailsByDomain
getOrderIdByDomain
add
mod
renew
del
getMonthlyCostAndValidate
getModPricing
getDeletionRefundAmount
LinuxHostingPlanOnlyOrder
getDetails
getDetailsByDomain
getOrderIdByDomain
add
mod
renew
del
getMonthlyCostAndValidate
getModPricing
getDeletionRefundAmount
MailHostingPlanOnlyOrder
getDetails
getDetailsByDomain
getOrderIdByDomain
add
mod
renew
del
getMonthlyCostAndValidate
getModPricing
getDeletionRefundAmount
list
MailHostingSetup
getHostingKeyDisplayName
getHostingParamsDisplayName
getPricingKeyPricingParamMap
WindowsHostingSetup
getHostingKeyDisplayName
getHostingParamsDisplayName
getPricingKeyPricingParamMap
LinuxHostingSetup
getHostingKeyDisplayName
getHostingParamsDisplayName
getPricingKeyPricingParamMap
-
Other Products Kit
DigitalCertificateOrder
add
getCertPrice
SiteBuilderSetup
getPricingKeyPricingParamMap
EngageSetup
getPricingKeyPricingParamMap
Changes in version 3.3
-
All the DLLs have been modified to allow partially trusted callers to use it.
-
3 new functions have been added in the Core Kit under the following classes:
authenticateCustomerId – Customer class
login – Customer class
getOrderIdByDomainAndProductCategory – Order class
-
Bug Fix – A minor Java Script problem was causing the frame links in the examples to not work in some browsers like Mozilla and Opera.
Changes in version 3.2
-
New methods added viz. Order.removeCustomerLock, Order.getLockList
-
The testing form provided now has a third frame which accepts the standard parameters passed in every call. If you set these parameters from the form, you can make test calls independent of the settings in the properties/constants file.
-
We’ve added ‘Strong Names’ to the kit.
Version 3.0 Released
Changes in version 2.6
-
Added the method Customer.delete() which allows you to delete a Customer
-
Added the method DomOrder.cancelTransferRequest() which allows you to cancel the transfer-in request for a domain name
-
Added the method Order.sendRfa() which allows you to re/send the email asking for transfer-in approval for domain names.
Changes in version 2.5.3
Changes in version 2.5.2
Changes in version 2.5.1
Changes in version 2.5
-
Bug fix in Modify Customer Details and Modify Contact Details forms
-
More details in the Javadocs for DomOrder.getDetails()
-
Link to new Demo Server added.
-
Move Service functionality added in API
-
Add Funds functionality for both Sub-Resellers and Customers also added.
-
Domain Forwarding, Mail Forwarding, Managed DNS Products now available through the API.
Changes in version 1.5
Changes in version 1.4
-
Hashtable being passed by the Examples kit, to the domainHash parameter of the renewDomain method, in the Domain class, is now in the correct format.
Changes in version 1.2
Tags: Api, ASP, Core Kit, Customer Signup, Demo Server, Deprecated Methods, DNS, Java, Java Docs, Kit Class, Parameters, Registerdomain, SSL, Xml
Buying Process for a single Domain Name
- Checking Domain Availability: First call the DomOrder.checkAvailabilityMultiple() method to discover if the domain in question is available for registration.
- Customer Selection/Addition: If the domain is available, you will have to retrieve the customer id of the customer who wishes to buy the domain. If the customer already exists, you can use Customer.getCustomerId() to get it or use Customer.addCustomer() to create a new one. The customer id will be in the return value in both cases.
- Get Registration Info: You’ll need the Name Servers and the Contact Ids to register a domain at the registry. Get the list of existing contacts using DomContact.list().
- Validate the parameters: Now pass all the information required to DomOrder.validateDomainRegistrationsParams() to validate them and ensure correctness.
- Register the Domain: Call DomOrder.addWithoutValidation() with all the parameters you’ve just validated and you’re basically done.
IMPORTANT
Using DomOrder.add(): The use of DomOrder.add() to register a domain is now deprecated. This method is single-threaded and inefficient and so is much slower than using steps 4 and 5 in the Buying process flow. Use the DomOrder.validateDomainRegistrationsParams(), DomOrder.addWithoutValidation() method pair instead.
Adding contacts for .US and .COOP domains: The contacts for .US and .COOP need to have addition information to be correctly added. .US requires a Nexus Category while .COOP requires 2 Sponsors. When attempting to register these domains, DomOrder.validateDomainRegistrationsParams() will return “InsufficientContactDataException in DomValidation while adding order” in the status has under the error key. When you see this error, you should use DomContactExt.setContactDetails() to set the relevant additional information and try again. If you attempt to call DomOrder.addWithoutValidation() with these incomplete contacts for .US or .COOP, you will get “Error during adding contact” in the status hash under the error key.
Modifying Domain Name Details
Reference: Domain Name Registration & Management >>
There is no single DomOrder.mod() method. Rather, you must call the relevant method to modify the appropriate property of a domain name. For example, to modify the Domain Secret, call DomOrder.modifyDomainSecret() and so on.
Modifying Domain Contact Details
Reference: Modifying the Whois / Contact Details of a Domain Name >>
There is a bit of a niggle when modifying the contacts to be used by a domain name. One can first get the contact ids for a particular domain by calling DomOrder.getDetails() with the orderid and ContactIds in the options Vector. We can then DomContact.listNames() to get a list of all contacts belonging to a particular Customer and show this in a list on the screen. We can then use DomOrder.modifyContact() to modify the contacts being used.
If the Customer chooses to modify the Registrant contact, then we should check if it is fit to be used in such a manner by calling DomContactExt.isValidRegistrantContact(). Some registries like .US and .COOP require additional information and this can be supplied to the contact with a call to DomContactExt.setContactDetails() if DomContactExt.isValidRegistrantContact() returns false.
If an attempt is made to use an incorrect contact id (one which would fail the DomContactExt.isValidRegistrantContact() test), then a InsufficientContactDataException is thrown. You can catch it and then set the details using DomContactExt.setContactDetails().
IMPORTANT
The system allows you to create an infinite number of Resellers and Sub-Resellers, each with customers under them. Orders can be placed only on behalf of the Customers and cannot be owned by Resellers or their Sub-Resellers directly. You can create as many Customers as you wish.
Reference: Videos describing the relationship between Customers and Sub-Resellers >>
Tags: Api, Buy Domain, Contact, Contacts, Coop, Correctness, Customer Id, Customer Selection, Discover, Domain Availability, Domain Name, Domain Names, Domain Registry, DomOrder.checkAvailabilityMultiple, First call, Ids, Name Servers, Nexus, Parameters, Register Domain, Register Domains, Registration Info, The
Before proceeding with the Transfer you are advised to first go check if your Domain Name can be Transferred. Click here to check if your domain name can be transferred >>
IMPORTANT
In case of a .EU Domain Name Transfer, the Expiry date is updated to 1 year from the date of Transfer and not to 1 year from the date the domain name was set to expire prior to Transfer.
For example, if a Domain Name has the Expiry date as 24 Oct, 2007 and it gets Transferred to another Registrar on 2 Sep, 2007. The new Expiry date will be 2 Sep, 2008 and not 24 Oct, 2008.
If you wish to Transfer a .EU Domain Name to Gossimer, then you need to follow the steps mentioned below:
Transfer Process for Customers
1. Login to your Control Panel from http://manage.gossimer.biz/customer.
2. In the Control Panel go to Domains -> Domain Registration -> Transfer. There, enter the Domain Name you wish to Transfer.
3. Select the Registrant Contact for this Domain Name. You may select from the available list of contacts or Add a New Contact.
It is compulsory for you to agree to the associated Product Agreement(s) by selecting the Check Box.
4. In order to avoid any downtime for the website/emails associated with your .EU domain name during the Transfer, it is necessary to mention the Name Servers already in use by your .EU domain name. You may also provide any new Name Servers that you would like to associate your .EU domain name with. Here, it is obvious that all the necessary DNS records are already created on the new Name Servers for the website/emails to be functional.
5. You need to mention any existing Child Name Servers for your .EU domain name alongwith their respective IP Addresses. This is necessary to avoid any downtime for the website/emails associated with any domain name using these Child Name Servers as their Name Servers. If you wish to Register any new Child Name Servers, you may also mention the same alongwith the respective IP Addresses. These new Child Name Servers will be Registered once the domain name is Transferred successfully.
Child Name Servers can also be Registered separately. Click here to know how >>
6. Finally, proceed with the Payment of the Invoice. Click here to read more details on Payment >>.
Now that you have placed the Transfer Order, the Registrant Contact for the Domain Name will receive an e-mail from the Registry for the Transfer Authorization process, which needs to be approved within 7 days. The Registry provides an additional grace period of 7 days for approval, in case the Transfer was not approved within the initial 7 day period. The authorization can also be provided through a fax to the Registry from the Registrant Contact. Template of the confirmation fax is provided below:
Transfer confirmation fax >>
The request is processed once the Registry receives approval from the Registrant.
Transfer Process for Resellers
1. Login to your Control Panel from http://manage.gossimer.biz/reseller.
2. In the Control Panel go to Products -> Domain Registration -> Transfer. There you would have to enter the Domain Name you wish to Transfer.
3. Enter the Username (Email Address) of the Customer, on whose behalf you wish to buy this Service. If the Customer is new, you can Add the Customer, by filling the form given there.
4. Select the Registrant Contact for this Domain Name. You may select from the available list of contacts or Add a New Contact.
It is compulsory for you to agree to the associated Product Agreement(s) by selecting the Check Box.
5. In order to avoid any downtime for the website/emails associated with your .EU domain name during the Transfer, it is necessary to mention the Name Servers already in use by your .EU domain name. You may also provide any new Name Servers that you would like to associate your .EU domain name with. Here, it is obvious that all the necessary DNS records are already created on the new Name Servers for the website/emails to be functional.
6. You need to mention any existing Child Name Servers for your .EU domain name alongwith their respective IP Addresses. This is necessary to avoid any downtime for the website/emails associated with any domain name using these Child Name Servers as their Name Servers. If you wish to Register any new Child Name Servers, you may also mention the same alongwith the respective IP Addresses. These new Child Name Servers will be Registered once the domain name is Transferred successfully.
Child Name Servers can also be Registered separately. Click here to know how >>
7. Finally, proceed with the Payment of the Invoice. Click here to read more details on Payment >>.
Now that you have placed the Transfer Order, the Registrant Contact for the Domain Name will receive an e-mail from the Registry for the Transfer Authorization process, which needs to be approved within 7 days. The Registry provides an additional grace period of 7 days for approval, in case the Transfer was not approved within the initial 7 day period. The authorization can also be provided through a fax to the Registry from the Registrant Contact. Template of the confirmation fax is provided below:
Transfer confirmation fax >>
The request is processed once the Registry receives approval from the Registrant.
Tags: Api, Contact, Control Panel, DNS, Dns Records, Domain Registration, Domain Transfer, Domains, Downtime, Emails, Eu Domain Name, European Union, Expiry Date, Ip Addresses, Name Domain, Name Servers, Product Agreement, Registrant, Registrar, Servers, Transfer Domain
As a Reseller, you need to make the following settings within your Reseller Control Panel to begin selling Products and Services to your Customers and Sub-Resellers.
1. Select your Selling and Accounting Currency
At the time of sign-up, you MUST select your desired Selling and Accounting Currency.
Click here to see a video on setting your Selling and Accounting Currency >>
Click here to read an article on setting your Selling and Accounting Currency >>
2. Add Funds in your Reseller Account
To let your Customers and Sub-Resellers buy Products and Services through you, you need to add sufficient Funds in your Reseller Account with . How? >>
3. Understand the relationship between Resellers, Customers, Sub-Resellers and Orders
Click here to see a video on an Introduction to Customers, Sub-Resellers and Orders >>
4. Decide which Products and Services to sign-up for, and configure them
Gossimer offers a wide-array of Products and Services that you can choose to sell. Select the services that you wish to sell, and sign-up for them from your Control Panel. How? >>
Once you have signed up for these Products and Services, you need to configure various settings before you get started
Click here to see a video on setting up your Domain Registration Business >>
Click here to read the Domain Registration Reseller Setup Guide >>
Click here to read the Domain/Mail Forwarding and Managed DNS Reseller Setup Guide >>
Click here to read the Web Hosting Reseller Setup Guide >>
Click here to read the Email Hosting Reseller Setup Guide >>
Click here to read the Website Builder Reseller Setup Guide >>
Click here to read the Live Chat Reseller Setup Guide >>
Click here to read the Digital Certificate Reseller Setup Guide >>
5. Configure your website
Gossimer offers you various methods of setting up your own Website to sell various Products and Services integrating your Sales process with our system. You could either
Use our ready-made private labeled SuperSite for all your retail business
Click here to read the SuperSite Guide >>
You MUST do the following if you are using the SuperSite -
- Change the URL for your SuperSite. How? >>
- Customize the header/footer of Supersite. How? >>
- Specify the Additional Payment Options for your Customers/Resellers in the SuperSite. How? >>
- Customize the content of the Static bar on your SuperSite. How? >>
- Customize the content of the Contact Us page on your SuperSite. How? >>
AND/OR
Use our ready-made private labeled PartnerSite for all your wholesale business
Click here to read the PartnerSite Guide >>
You MUST do the following if you are using the PartnerSite -
- Change the URL for your PartnerSite. How? >>
- Customize the header/footer of PartnerSite. How? >>
- Customize the content of the Static bar on your PartnerSite. How? >>
- Customize the content of the Contact Us page on your PartnerSite. How? >>
OR
Create your own website using our API
Along with your Reseller account you get a comprehensive API with FREE client kits in PHP, Java, Perl and .NET. All Resellers have API access to the system. Every functionality of the system is available as an API CALL.
Click here to learn more about the API >>
NOTE: The API Integration method is recommended only if you have a proficient development team.
6. Configure Control Panels for your Customers and Sub-Resellers
provides you with comprehensive private-labeled control panels for your Customers and Sub-resellers in order to manage the products and services they purchase from you. You can either -
Use our ready-made private labeled Control Panels
The Control Panels allow your Customers and Sub-Resellers to place, manage, upgrade, downgrade, use, renew, delete, suspend/unsuspend, lock their Orders for various Products and Services from a single management window.
You MUST do the following if you are using the Control Panels -
- Set your company logo on top of your Customer/Sub-Reseller Control Panels. How? >>
- Customize the Footer of your Customer/Sub-Reseller Control Panels. How? >>
Build your own Control Panels using our API
If you are already selling several other products and services to your existing customer-base through another interface/control panel and do not want to add the burden of introducing the new Control Panels to them, you could use the OrderBox API to integrate provisioning and management of all OrderBox Products and Services in your existing interfaces and Control Panels.
Gossimer provides you comprehensive API kits in Java, PHP, Perl and .Net. You can use any of these to integrate with the system. More on API >>
The API Integration method is recommended only if you have a large Customer base and employ the services of a proficient development team.
7. Integrate your Website and Shopping Cart with your Customer Control Panel
Once you have configured your website and Control Panels for your Customers in steps 5 and 6 above, you should configure the integration between your Customer Control Panels and your website, so that your Customers can jump from their Control Panels to your website to make any purchases. Click here to learn how you can do this >>
8. Update your Contact Information
Personal Details: Personal Information such as your Personal details, your Brand Name, your Website URL, your personal Language preferences, can be easily reviewed and modified from your Reseller Control Panel. How? >>
Company Contact Information: The system automatically sends emails to your Customers and Sub-Resellers from the e-mail addresses and From Names specified in your Contact Information section.
You should update the contact details of various departments in your company, to ensure that all communication with your Customers and Sub-resellers is carried out using your branded email addresses and email signatures. How? >>
9. Configure your Payment Collection options
Setup your Online Credit Card Payment Gateway: The system allows you to integrate any Payment Gateway of your choice to collect money online from your Customers and Sub-Resellers.
Click here to read the Payment Gateway Integration Guide for more details >>
Click here to learn ho you can define the Minimum Transaction Amount for a Payment Gateway Transaction >>
Specify offline Payment Collection Methods for the SuperSite: Apart from collecting funds via a payment gateway, you should also describe other offline means of receiving funds from your Customers, during their shopping process, within the SuperSite. How? >>
Specify offline Payment Collection Methods for the Control Panel: You may also present other offline means of receiving funds to Customers/Sub-Resellers who wish to pay you from within the Control Panels e.g. your Bank details for receiving Bank/Wire Transfers, your Company Details to receive Check/Draft payments. How? >>
Configuring Payment Collection Parameters: You can let OrderBox assist you in collecting payments from your Customers by specifying appropriate Payment Collection Parameters for every Product and Service, that you are selling through OrderBox. How? >>
10. Configure Other Miscellaneous Options
Set your Funds Threshold Level: You should ensure that you always have a healthy balance in your Advance Account with to allow execution of your Customers and Sub-Resellers orders, by defining your Funds Threshold Level from inside your Control Panel, so that OrderBox can remind you via e-mail when your balance falls below this level. How? >>
Company Users: Create special logins for your (sales, support etc.) company users to enable them manage your business efficiently. Control all access for these accounts; and restrict specific menus from being viewed through them. More >>
Sub-Reseller Sign-up options: OrderBox lets you control Sub-Reseller sign-ups under you. More >>
Tags: Accounting, Api, Array, Bank/Wire Transfers, Control Panels, Currency, Digital Certificate, DNS, Domain Mail, Domain Registration Business, Email, Email Hosting, Email Setup, Gossimer, Gt 2, Gt 4, Gt 5, Java, Live Chat, Mail Forwarding, Online Credit Card Payment, Perl, Php, Read Email, Read Mail, ready-made private, Relationship, Reseller Account, Reseller Control Panel, Resellers, retail, Setting Up Your Own Website, Startup Guide, Static Bar, Web Hosting, Web Hosting Reseller Setup Guide, Website Builder
Gossimer has directly integrated the PayPal API within our system, such that by mentioning a few details in your interface and your Business PayPal Account, you can safely and securely collect money from your Sub-Resellers and Customers.
When your Customer/Sub-Reseller decides to pay you through this Payment Gateway, we send all the variables via an API Call to the PayPal Server, to get the transaction authenticated. All this while your Customer/Sub-Reseller continues to remain within their OrderBox Control Panel itself.
Before you Start
You will need to verify/perform the following before you start -
-
Verify that you have a Business PayPal account only. You cannot integrate a Personal PayPal account with our System.
-
Apply for Website Payment Pro (for US Business PayPal accounts only)
You need to apply for Website Payment Pro before you can make successful API calls to services such as DirectPayment. If you have already been approved for Pro, you also need to accept the Billing Agreement. This is sometimes overlooked by merchants who think they have already accepted this by applying for Pro, but it is indeed a separate step that must be completed after approval.
To apply for Website Payment Pro, follow these steps:
a) Login to your PayPal account [must be a Business account] from https://www.paypal.com
b) Click the Merchant Tools tab
c) From the Dropdown select
Website Payment Pro
d) On the bottom of the right column, under Getting Started, click on
Submit Application
e) Complete the 2 page form
f) Click
Go To My Account
At this point, your account will undergo an approval process by PayPal that generally takes 2-3 days. Once you have been approved for Website Payments Pro, login back into your PayPal account and complete these steps:
i) Click the Merchant Tools tab
ii) In the top right corner, click Accept Billing Agreement
iii) Click Agree
-
Allow Gossimer’s PayPal API Name to make API calls on your account
a) Login to your PayPal account from https://www.paypal.com
b) Click on
Profile -> API Access -> API Access Authorization / Authorize API Access / API Authorizations
c) Click on
Add
d) Mention the API Account Name as
paypal_api1.myorderbox.com
e) Enable API Access for the following calls and click on the Save button
i) RefundTransaction
ii) GetTransactionDetails
iii) TransactionSearch
iv) DoCapture
v) DoVoid
vi) DoDirectPayment
vii) DoAuthorization
-
Using PayPal Direct Payment API Gateway, you would be able to accept funds from only 55 countries. The complete list of these countries is available at http://www.paypal.com/cgi-bin/webscr?cmd=_display-approved-signup-countries-outside.
Adding the PayPal Direct Payment API Gateway into your account consists of the following simple steps -
1. Login into your Reseller Control Panel from http://manage.gossimer.biz/reseller
2. Click on the Settings -> Finance & Billing -> Payment Gateway -> List / Add
3. Click on the Add Payment Gateway button and then on the Add a PayPal Direct Payment API Gateway link.
4. Enter the following details and Save your changes by clicking on the Submit button
Gateway Name – This Gateway Name would be shown to your Customers/Sub-Resellers, when they are about to make Payment. You can use something like “Credit Card Payment” or “Visa/Master Card” etc.
PayPal Account Username – The Username [e-mail address] you use to login into your PayPal Business account.
Currency – PayPal allows you to charge your Customers/Sub-Resellers in 6 different currencies. However, to use the PayPal Direct Payment API Gateway, you can only select USD Currency.
Currency Exchange Rate – If your Selling Currency differs from USD, we will have to convert the Order Value to the PayPal Currency, BEFORE we send your Customer/Sub-Reseller to PayPal. For this purpose the system needs a exchange rate between the two.
You may choose to maintain this exchange rate yourselves or let us maintain it for you. We download FOREX rates on a daily basis from a recognised source and update exchange rates for you. If however you wish to update the rates yourselves then you may do so by selecting the I would like to Maintain the currency exchange rate myself checkbox AND entering your own conversion rates.
Select the types of CREDIT CARDS that your merchant account supports - You need to select the types of Credit Card that are supported by your PayPal Account. The credit card types available are – Visa, MasterCard, American Express, Discover. You can also decide the sequence in which you want your Customers / Sub-Resellers to view these Card types on the payment page.
Payment Gateway Access Level for Customers and Sub-Resellers – Click here to know more about the Payment Gateway Transaction types and Access Levels for your Customers and Sub-Resellers >>
Deciding whether a Sub-Reseller and Customer is Credited with the Gross Amount or Net – PayPal deducts a fee per transaction. There are two types of Transactions that can pass through your PayPal integration – Invoice/Debit Note Payment, and Add Funds. Click here to know more about the Payment Gateway Transaction types and Access Levels for your Customers and Sub-Resellers >>
In case of an Add Funds Transaction, you have the option of crediting your Customers/Sub-Resellers with the NET Amount that PayPal credits you with, or choose to credit them with the gross funds and bear the charges yourselves.
IMPORTANT
If you have selected to credit a Customer/Sub-Reseller with the Net Amount in an Add Funds transaction, then you must submit either a Fixed Transaction fee (greater than 0) or a Variable Transaction fee (greater than 0).
Send me a Reminder if a transaction is pending for more than x days – In case you have not yet accepted a payment sent to you via the PayPal Payment Gateway, you can get e-mail reminders sent across to you from our system, after every x number of days, until you either Approve or Decline these payments. Click here to know how to Approve / Decline Payment Gateway transactions >>
Display Position – If you plan on adding Multiple Gateways you can select the position in which you wish to display this Gateway on your Payment Page.
IMPORTANT
1. The SuperSite contains information about the various Payment options you offer to your Customers and also presents these options at the time of purchasing Products and Services. This data is downloaded to your SuperSite from your Control Panel and cached (stored) on the SuperSite Server. Hence, you would need to refresh the cache of your SuperSite once you have completed the above process. You can accomplish this from within your Control Panel itself by clicking on Tools -> Reload SuperSite & PartnerSite Cache -> SuperSite Payment Preferences. Click here to know what is SuperSite >>
2. After you have setup the above, you must setup a PayPal Standard Checkout Gateway as well, as per the Legal guidelines mentioned by PayPal. Click here to know how >>
Tags: American Express, Api, Api Calls, Business Account, Control Panel, Gossimer, Interface, Merchant Tools, Merchants, Money, OrderBox Control Panel, Payment Gateway, Paypal, Paypal Account, Paypal Payment, Personal Account, Resellers, Tab C, Variables, Website Payments Pro, Www Paypal, www.paypal.com
- If any Reseller exceeds the limit for number of calls defined in our OrderBox API Acceptable Usage Policy (AUP), their IP address will be temporarily blocked from accessing our servers, for a period of 24 hrs. During this time, they will be unable to make any calls to our Servers using the API. This block will be automatically cleared after 24 hrs and a notification to that effect will be sent to them. However repeated abuse will result in permanent blocking of the account.
- Moreover, if the number of simultaneous connections from a single IP Address, increases beyond a certain number, OrderBox would automatically drop these excessive connections of that Reseller.
Tags: Acceptable Usage Policy, Api, Ip Address, Orderbox, Servers, Simultaneous Connections
The API is exposed using SOAP, a common web services protocol. SOAP is extremely simple to use and debug since it is an XML based protocol. While SOAP is a standardized protocol, we are using certain complex data types which are not completely compatible across all platforms. However we have written our own wrappers to handle this and we offer direct integration kits in various platforms which you can directly download and use.
IMPORTANT
When our System receives a request, it tries to complete the action immediately. If the System is unable to complete the action for some reason, it will return an error response and try to complete the action again after sometime. This ensures a high level of fault tolerance.
Due to this, it is imperative that when you encounter an error response (especially for commands that have financial implications like Registering or Renewing orders), you MUST check whether the command eventually failed or succeeded. To do this, you will have to issue additional API commands (depending on the command for which you received an error response) to check the final status of the original command.
It is recommended that you implement this querying process to check the status of API commands as a scheduled task/cron/batch process. Alternately, you can also check the status of the command by logging into your Reseller Control Panel.
Currently integration kits are available in PHP, Java, Perl and .NET. Our Server exposes all relevant methods using SOAP. SOAP is a simple XML-HTTP based protocol whose client implementations are available in EVERY language. Follow the steps below to begin making calls to the API -
Step 1. Sign up for a Demo Reseller Account
You will initially test your API scripts on our demo Server. Click here to read how to sign up for a demo Reseller account >> .
You will need the following items before you proceed to the next step
Your Signup Username
Your Signup Password
Your Parent ID
The first two items would have been entered by you during the signup. For the last item simply login to your Demo Account and click on Settings -> Personal Information -> Primary Profile.
IMPORTANT
You can use these accounts to try out various aspects of the system. However, the demo accounts are reset every day. As such, any additional orders placed herein, or any modification done to these accounts, shall cease to exist after 24 hours.
Step 2. Proceed to the corresponding API kit for your platform
Click on the links below to refer to further instructions for the platform you are developing on -
Java API Kit >>
PHP API Kit >>
.NET API Kit >>
Perl API Kit >>
Step 3. Download the API Documentation
The complete documentation of all classes and methods available in the API can be found in the Docs below. The Docs below are javadocs, but the function names and explanations remain the same for all the platforms and the documentation is self explanatory. We recommend you download the docs and read through them completely once before you integrate your application:
Core Docs v3_10
Domains Docs v3_10
Hosting Docs v3_10
Other Products Docs v3_10
Step 4. Refer to the Parameter Validation details of different parameters passed in any API Calls
We have a detailed document on the Validation routines which you need to build in for the various parameters which you send to the API call. Failure to validate these fields on your side may result in an undecipherable error from the Server. Click here to read about Data Validation of Parameters passed in an API Method Call >>
Step 5. Refer to the Error format document and the common errors
The first time you run any example you are likely to encounter errors if you have not followed the steps perfectly. It is important to understand the format of an error. Click here to understand the format of an error that you will receive >>
IMPORTANT
Sometimes, you may receive a 302 HTTP Redirect response from our System. Your API implementation should be capable of following such a redirect.
Step 6. Run the examples
All the above kits contain examples which you can run and test the API functionality. Try these examples out to verify everything is working fine. You should first run these examples on the Demo Server. Use the demo sign up information gathered above and the Demo Server URL below to run the examples on the demo server.
Demo Server URLs for API Kits ver 3.x and above
Java and PHP API Kits
http://api.onlyfordemo.net/anacreon/servlet/APIv3
https://www.foundationapi.com/anacreon/servlet/APIv3
Perl and .NET API Kit
http://api.onlyfordemo.net/anacreon/servlet/APIv3-XML
https://api.onlyfordemo.net/anacreon/servlet/APIv3-XML
Demo Server URLs for older API Kits
Java and PHP API Kits
http://demo.myorderbox.com/anacreon/servlet/rpcrouter
https://demo.myorderbox.com/anacreon/servlet/rpcrouter
.NET and Perl API Kits
http://demo.myorderbox.com/anacreon/servlet/XMLrpcrouter
https://demo.myorderbox.com/anacreon/servlet/XMLrpcrouter
Step 7. Refer to common errors
In this documentation we have some answers covering common errors you can expect while integrating with the API. Click here to know details about common API errors >>
Step 8. Change the information to Live information when you are ready
Once you have followed the steps above and got the test programs to work successfully, you can duplicate the same code in your live application and replace the Demo Server and Reseller account information with your live username and password. You will also need to change the server URL to the live server URL.
LIVE Server URLs for API Kits ver 3.x and above
Java and PHP API Kits
http://www.myorderbox.com/anacreon/servlet/APIv3
https://www.myorderbox.com/anacreon/servlet/APIv3
Perl and .NET API Kit
http://www.myorderbox.com/anacreon/servlet/APIv3-XML
https://www.myorderbox.com/anacreon/servlet/APIv3-XML
LIVE Server URLs for older API Kits
Java and PHP API Kits
http://www.myorderbox.com/anacreon/servlet/rpcrouter
https://www.myorderbox.com/anacreon/servlet/rpcrouter
.NET and Perl API Kits
http://www.myorderbox.com/anacreon/servlet/XMLrpcrouter
https://www.myorderbox.com/anacreon/servlet/XMLrpcrouter
Refer to the corresponding kit and integration guide of the platform that you choose for further instructions.
IMPORTANT
-
As you duplicate your code on the live application environment, remember to change your Parent ID to the one associated with your Live Reseller account. You can find this from Settings -> Personal Information -> Primary Profile in your Reseller Control Panel.
-
You need to display the Registrar Registrant Agreement for Domain Names Legal document within the domain name registration buy process on your website.
It is compulsory to display this document AS IS to your Customers and get them to agree to the terms mentioned therein, before buying domain names through you. You can view this agreement from within your Reseller Admin Control Panel at Help >> Legal Agreements.
Tags: Api, Api Commands, Data Types, Demo Server, Exposed, Fault Tolerance, Financial Implications, http, Integration, Java, Java Perl, Net Server, Parent, Parent Id, Perl, Php, Platforms, Protocol, Registrar, Relevant Methods, Reseller Account, Reseller Control Panel, Soap Soap, standardized protocol, Test Scripts, web services protocol, www.foundationapi.com/anacreon/servlet/APIv3, www.myorderbox.com/anacreon/servlet/APIv3, www.myorderbox.com/anacreon/servlet/APIv3-XML, www.myorderbox.com/anacreon/servlet/rpcrouter, www.myorderbox.com/anacreon/servlet/XMLrpcrouter, Xml
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.
Gossimer 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.
Tags: Api, Browser Address Bar, Control Panel, Customer Class, DNS, Dns Hosting, Dns Records, Email Hosting, Hosting Website, http, Individual Control, Java, Live Chat, Login, Lt, Mail Hosting, Mail Order, Managed Hosting, Parameters, Period Of Time, Servers, Short Period, Url, Web Email, Web Hosting, Web Hosting/Email Hosting/Live, Web Hosting/Email Hosting/Live Chat/Website Builder Service Order Id, Web Mail
Follow the instructions below to begin integration with the API using PHP -
Make sure you have read the General API Integration Instructions first. If you have already integrated the PHP API Kit at your end, read the Change Log first to know what has changed since.
Reference:
General API Integration Instructions >>
Change Log >>
IMPORTANT
The PHP API Kit is not compatible with version PHP5. You need to use version PHP4 in order to integrate the API Kit at your end.
Step 1. Download the API Kit
Click the link below to download the relevant API kits (updated on 6th March, 2008).
PHP_CoreKIT_v3_10.zip
PHP_DomainsKIT_v3_10.zip
PHP_HostingKIT_v3_10.zip
PHP_OtherProductsKIT_v3_10.zip
Step 2. Download the API Documentation
The complete documentation of all classes and methods available in the API can be found in the Docs below. The Docs below are javadocs, but the function names and explanations remain the same for all the platforms and the documentation is self explanatory. We recommend you download the docs and read through them completely once before you integrate your application (updated on 6th March, 2008).
Core_Docs_v3_10.zip
Domains_Docs_v3_10.zip (updated on 1st April, 2008)
Hosting_Docs_v3_10.zip
OtherProducts_Docs_v3_10.zip
IMPORTANT
Since “list” is a keyword in the PHP language, the “list()” methods in the various classes (in the PHP Kit) has been renamed to “listOrder().” However, the documentation still mentions the method name as “list” since the documentation is JAVA specific.
Instructions to pass parameters to functions using the PHP Kit
Since PHP uses typeless variables you will have to ignore the datatypes presented in the docs. But for assigning values to variable of types other than strings and integers special care will have to be taken. Below is the list of datatypes presented in the API Doc and their usage in PHP.
|
Java Data
|
Types Assigning values in PHP
|
| String |
“firstname@secondname.com” |
| int |
123 |
| HashMap (Datatype for storing name-value pair) |
array(“domain.com”=>”1″) |
| Array and Vector (Datatype for storing more than one value) |
array(“ns1.domain.com”,”ns2.domain.com”) |
| boolean (Datatype for storing true or false) |
true / false |
Example:
-
For Calling a Function which takes a String datatype and an integer datatype as its paramters
public int function1(java.lang.String userName, int parentid)
$result = $obj->function1(“firstname@secondname.com”,1);
-
For Calling a Function which takes a HashMap, a String Array and an integer Array as its parameters
public java.util.HashMap function2(java.util.HashMap domainHash, java.lang.String[] orderby, int[] resellerId)
and domainHash is accepting the domainname and the number of years as name value pair
$result = $obj->function2(array(“domain1.com”=>1,”domain2.com”=>2),array(“column1″,”column2″),array(22,33))
-
For Calling a Function which takes a Vector and a boolean as its parameters
public java.lang.String function3(java.util.Vector nameServers, boolean add)
$result = $obj->function3(array(“ns1.domain.com”,”ns2.domain.com”),true)
Step 3. Extract the files from the API Kit archive
You should get the following directory & files structure
examples/ – Pre-written examples. You can directly run these examples to test API functionality
lib/ – The PHP class files, library files and wsdl files that you need to run your application
Step 4. Run the examples
You can run the pre-written examples provided in the “examples” folder. Note the following steps to do so -
1. Upload the “examples” and “lib” folders to your web server where you run your PHP scripts. Make sure that both these folders are uploaded to the same parent folder.
2. You must have PHP 4 installed on the server
3. You must have a Demo account ready the first time. Read the General instructions if you have not yet setup your demo account. Reference: General API Integration Instructions >>
IMPORTANT
The Demo server duplicates all functionality of the live server, however all Domain Names will appear as available on the Demo Server. It does not query the live registry and therefore names which are not available on the live registry will still appear as available on the Demo Server. At times connectivity to the DEMO Registry may be down resulting in errors.
4. Make the appropriate changes to “constants.php” in the “examples” folder, by putting in the values for your “SERVICE_USERNAME”, “SERVICE_PASSWORD”, “SERVICE_PARENTID”. The remaining settings have already been made for you in this file. You may only need to change the path for the “lib” folder if you have uploaded the lib folder elsewhere
5. The URL to which the call is made is maintained in the “config.php” file inside the “lib” folder. By default all calls are made to the demo server URL using HTTP. You can make changes to this file and redirect your calls to the appropriate server
IMPORTANT
If you are using HTTPS calls you MUST have the extension for CURL installed and enabled in your PHP installation.
6. Another important parameter maintained in the “config.php” file is the variable $DEBUG. If this variable is set to “true”, then for each call you will see the entire XML Request and Response in the output. You should keep it to “true” during testing, but set it to false on the live environment.
7. Every Example file has a set of functions which you can run.
8. Once you have modified the appropriate example file, access it over your webserver by putting in your URL such as http://yourserver/examples/html and choose the required function from the links given in the left frame.
IMPORTANT
In registering/managing any domain name on the demo server always use ns1.onlyfordemo.net and ns2.onlyfordemo.net as your nameservers. ANY OTHER Nameserver will result in an INVALID NAMESERVER error.
Step 5. Understanding Errors
Make sure you have read the General API Integration Instructions to obtain links to the error format and possible error documents. Reference: General API Integration Instructions >>
Step 6. Writing your own code
After running each example above, if you simply refer to the corresponding .php file in the examples folder you will easily be able to figure out the code snippet you need to write in order to make a similar call.
Making an API call to perform any action is a matter of three steps:
(i) Include the appropriate PHP Class file as below
include($LIB_DIR.”Order.class.php”);
(ii) Obtain a pointer to the required Class. This is done by using the code below
$serviceObj = new Order($LIB_DIR . “wsdl/Order.wsdl”);
(iii) Call the required method on this object. A complete reference of all methods is available in the Docs folder. This can be achieved by using the code below
$AssociativeArray = $serviceObj->setCustomerLock($SERVICE_USERNAME, $SERVICE_PASSWORD, $SERVICE_ROLE, $SERVICE_LANGPREF, $SERVICE_PARENTID, $orderId);
IMPORTANT
You will notice above that EVERY method in the docs takes the same first 5 parameters as below
String SERVICE_USERNAME, String SERVICE_PASSWORD, String SERVICE_ROLE, String SERVICE_LANGPREF, int SERVICE_PARENTID
In the examples these parameters have been put into a single constants file from which they are accessed by including the constants file. These parameters are common no matter which method you call. These parameters mean the following:
String SERVICE_USERNAME: Your Username
String SERVICE_PASSWORD: Your Password
String SERVICE_ROLE: This will always be a string "reseller"
String SERVICE_LANGPREF: The 2 letter code of the language in which you wish to receive errors and descriptions - "en" for English
int SERVICE_PARENTID: The ID of your parent which you can get from your profile section
IMPORTANT
Remember, when passing numerical data in hashtables, please ensure that the number is passed as a String.
Step 7. Change the information to Live information when you are ready
Once you have followed the steps above and got the test examples to work successfully, you can duplicate the same code in your live application and replace the Demo Server and Reseller account information with your live username and password. The URL that you make your calls to also needs to change to the LIVE Server URL. You will make this change in the “config.php” file in the “lib” folder
Once again note, if you are using the HTTPS URL you MUST have the extension for CURL installed and enabled in your PHP installation.
Tags: Api, Api Documentation, Api Guide, Api Kit, appropriate server, Datatype, Datatypes, Demo Server, Docs, Explanations, http, Integers, Integration Guide, Java, Java Data Types, Javadocs, Parameters, Php, Php Guide, PHP installation, Php Java, Php Kit, Php Language, Php4, Platforms, Reference, Step 1, Step 2, Variables, Web Server, Xml
Changes in version 3.10
-
Java Docs updated
-
Changes related to classes and methods:
New Classes and Methods
| Domains Kit |
| New Class Name |
New Method |
| ThirdLevelDotUk |
String invoiceOption |
| ThirdLevelDotUk |
String existingEndTime |
New Parameters introduced in Existing Methods
| Other Products Kit |
| Class Name |
Method Name |
New Parameters |
| EngageOrder |
renew |
String invoiceOption |
| EngageOrder |
renew |
String existingEndTime |
Deprecated Parameters in Methods
| Domains Kit |
| Class Name |
Method Name |
Deprecated Parameters |
| ZoneOrder |
add |
“No Of Records” in DomainHash |
Deprecated Methods
| Domains Kit |
| Class Name |
Deprecated Method |
Suggested Class |
Suggested Method |
| DomContact |
addDefaultContact |
DomContact |
addDefaultContacts |
| DomContact |
add |
DomContact |
addContact |
| DomContact |
list |
DomContact |
listByType |
| DomContactExt |
isValidRegistrantContact |
DomContactExt |
isValidContact |
| DomOrder |
transferDomain |
DomOrder |
addTransferDomain |
| DomOrder |
add |
DomOrder |
registerDomain |
| ZoneOrder |
mod |
ZoneOrder |
Functionality not required anymore |
| DotEu |
tradeDomain |
DotEu |
trade |
| DotEu |
transferDomain |
DotEu |
transfer |
| DotEu |
add |
DomOrder |
registerDomain |
| Core Kit |
| Class Name |
Deprecated Method |
Suggested Class |
Suggested Method |
| Customer |
addCustomer |
Customer |
signUp |
| Customer |
modDetails |
Customer |
mod |
| Reseller |
addReseller |
Reseller |
signUp |
| Reseller |
modDetails |
Reseller |
mod |
| Reseller |
addResellerWithStateId |
Reseller |
Functionality not required anymore |
| OrderSetup |
getResellerSlabPercentageForProducts |
OrderSetup |
Functionality not required anymore |
| OrderSetup |
getCustomerSlabPercentage |
OrderSetup |
Functionality not required anymore |
Changes in version 3.9
- Java Docs updated
-
Changes related to classes and methods:
The following method in the Domains Kit is deprecated and its use should be discontinued -
| Deprecated method |
Class |
New method to be used |
| |
|
|
| isValidRegistrantContact |
DomContactExt |
isValidContact |
Changes in version 3.8
-
Java Docs updated
-
Changes related to classes and methods:
-
The following changes have been introduced under the DotEu class within the Domains Kit -
- New methods
- Deprecated methods
- tradeDomain
- transferDomain
-
The following new methods have been introduced under DigitalCertificateOrder class within the Other Products Kit -
- enrollForThawteCertificate
- reissue
- renew
- checkDigitalCertificateStatus
- del
- cancelDigicertOrder
- changeDigicertPassword
- addAdditionalLicenses
- getDetails
- getDetailsByDomain
- getOrderIdByDomain
Changes in version 3.7
-
Java Docs updated
-
Changes related to classes and methods:
Some old parameters have been removed and new parameters introduced in their place under the following methods -
| LinuxHostingOrder Class |
| Method |
Old Parameter |
New Parameters |
| add |
Hashtable orderParams |
String packageKey*, boolean ssl# |
| mod |
Hashtable orderParams |
String packagekey*, boolean ssl#,
int excessBandwidth## |
| getMonthlyCostAndValidate |
Hashtable orderParams |
String packageKey*, boolean ssl#,
int execessBandwidth## |
| getModPricing |
Hashtable orderParams |
String packageKey*, boolean ssl#,
int execessBandwidth## |
| WindowsHostingOrder Class |
| Method |
Old Parameter |
New Parameters |
| add |
Hashtable orderParams |
String packageKey*, boolean ssl# |
| mod |
Hashtable orderParams |
String packagekey*, boolean ssl#,
int excessBandwidth## |
| getMonthlyCostAndValidate |
Hashtable orderParams |
String packageKey*, boolean ssl#,
int execessBandwidth## |
| getModPricing |
Hashtable orderParams |
String packageKey*, boolean ssl#,
int execessBandwidth## |
| MailHostingOrder Class |
| Method |
Old Parameter |
New Parameters |
| add |
Hashtable orderParams |
String packageKey* |
| mod |
Hashtable orderHash |
String packagekey*, int additionalMailBoxes** |
| getMonthlyCostAndValidate |
Hashtable orderParams |
String packageKey*, int additionalMailBoxes** |
| getModPricing |
Hashtable orderParams |
String packageKey*, int additionalMailBoxes** |
| SiteBuilder Class |
| Method |
Old Parameter |
New Parameters |
| mod |
Hashtable orderParams |
String packageKey* |
| getMonthlyCostAndValidate |
Hashtable orderParams |
String packageKey* |
NOTE:
* packageKey will be the Identifier Key of the Plan (plan1, plan2, plan3, plan4) for which the Order needs to be added/modified.
# ssl will be true or false depending whether the user wants Dedicated IP / SSL for the Order placed.
## excessBandwidth is the Bandwidth which the user wants over and above the Bandwidth of the Order’s current plan.
** additionalMailBoxes is the number of additional mail boxes over and above the existing ones in blocks of 100 accounts.
- The following classes and their methods are removed:
- LinuxHostingPlanOnlyOrder
- WindowsHostingPlanOnlyOrder
- MailHostingPlanOnlyOrder
- The SiteBuilderLite class has been renamed to SiteBuilder.
- Two new methods, mod and signUp, have been introduced under the Reseller and Customer classes.
- The return type of the ListByType method of DomContact class in the Domains Kit has been changed to Hashtable from Vector.
Changes in version 3.6
-
Java Docs updated
-
Changes related to classes and methods:
- New methods have been added in the Core Kit under the following class: getProductMetadata – Product class
- New methods have been added in the Domains Kit under the following classes:getDefaultContactId – DomContactExt class
listByType – DomContact class
addTransferDomain – DomOrder class
changePrivacyProtectionStatus – DomOrder class
registerDomain – DomOrder class
- Changes to the DomOrder class in Domains Kit:
- Privacy Protection Handling is added in the bulkAdd and bulkAddTransferDomain methods.
- The ‘ns’ parameter has been removed from the validateDomainTransferParams method.
- The following methods in the Domains Kit are deprecated and their use should be discontinued:
| Deprecated method |
Class |
New method to be used |
| |
|
|
| add |
DomContact |
addContact |
| addDefaultContact |
DomContact |
addDefaultContacts |
| list |
DomContact |
listByType |
| add |
DomOrder |
registerDomain |
| transferDomain |
DomOrder |
addTransferDomain |
| transferDomainWithoutValidation |
DomOrder |
addTransferDomain |
| addTransferDomainWithoutvalidation |
DomOrder |
addTransferDomain |
| add |
DotEu |
registerDomain in DomOrder class |
IMPORTANT
While these methods are currently available, they are no longer supported and may be discontinued in the near future.
- New methods have been added in the Hosting Kit under the following class: getHostingMetaData – WebHostingOrderData class
- Changes to classes in the Hosting Kit:The invoiceOption parameter has been added to the add method of MailHostingPlanOnlyOrder, WindowsHostingPlanOnlyOrder and LinuxHostingPlanOnlyOrder classes
Changes in version 3.5
-
Java Docs updated
-
Changes related to classes and functions:
- New functions have been added in the Core Kit under the following classes: getList – Country class
getStateListForCountry – Country class
getDetails – Order class
addResellerWithStateId – Reseller class
- An extra option called Supersite is added in the getDetails function of the Reseller class in the Core Kit.
- A new class LegalAgreement is added with the following methods under the Core Kit:getRegistrantAgreement
getProductCategory
getAgreement
getAllAgreements
- A new function has been added in the Domains Kit under the following class:addCoopContact – DotCoopContact class
- The following functions in the DomOrder class in the Domains Kit are changed to show the Invoice options also:validateDomainRegistrationParams
validateDomainTransferParams
addWithoutValidation
Changes in version 3.4
-
Java Docs Updated
-
New Classes introduced in all Kits:
-
Core Kit
TaxService
getApplicableTaxes
getHashedTaxRules
-
Domains Kit
DotEu
getEUCountryList
tradeDomain
transferDomain
add
isEUCountry
DotEuContact
mod
add
addEuDefaultContact
DomOrder
validateDomainRegistrationParams
validateDomainTransferParams
addTransferDomainWithoutvalidation
addWithoutValidation
-
Hosting Kit
WindowsHostingPlanOnlyOrder
getDetails
getDetailsByDomain
getOrderIdByDomain
add
mod
renew
del
getMonthlyCostAndValidate
getModPricing
getDeletionRefundAmount
LinuxHostingPlanOnlyOrder
getDetails
getDetailsByDomain
getOrderIdByDomain
add
mod
renew
del
getMonthlyCostAndValidate
getModPricing
getDeletionRefundAmount
MailHostingPlanOnlyOrder
getDetails
getDetailsByDomain
getOrderIdByDomain
add
mod
renew
del
getMonthlyCostAndValidate
getModPricing
getDeletionRefundAmount
list
MailHostingSetup
getHostingKeyDisplayName
getHostingParamsDisplayName
getPricingKeyPricingParamMap
WindowsHostingSetup
getHostingKeyDisplayName
getHostingParamsDisplayName
getPricingKeyPricingParamMap
LinuxHostingSetup
getHostingKeyDisplayName
getHostingParamsDisplayName
getPricingKeyPricingParamMap
-
Other Products Kit
DigitalCertificateOrder
add
getCertPrice
SiteBuilderSetup
getPricingKeyPricingParamMap
EngageSetup
getPricingKeyPricingParamMap
Changes in version 3.3
-
3 new functions have been added in the Core Kit under the following classes:
authenticateCustomerId – Customer class
login – Customer class
getOrderIdByDomainAndProductCategory – Order class
-
The name of the jar file in every kit is now unique.
-
Bug Fix – A minor Java Script problem was causing the frame links in the examples to not work in some browsers like Mozilla and Opera.
Changes in version 3.2
-
New methods added viz. Order.removeCustomerLock, Order.getLockList
-
The testing form provided now has a third frame which accepts the standard parameters passed in every call. If you set these parameters from the form, you can make test calls independent of the settings in the properties/constants file.
Changes in version 3.1
Version 3.0 Released
Changes in version 2.6
-
Added the method Customer.delete() which allows you to delete a Customer
-
Added the method DomOrder.cancelTransferRequest() which allows you to cancel the transfer-in request for a domain name
-
Added the method Order.sendRfa() which allows you to re/send the email asking for transfer-in approval for domain names.
Changes in version 2.5
-
Bug fix in Modify Customer Details and Modify Contact Details forms
-
More details in the Javadocs for DomOrder.getDetails()
-
Link to new Demo Server added.
Changes in version 2.3
-
Move Website functionality added in API
-
Add Funds functionality for both Sub-Resellers and Customers also added
-
Domain Forwarding, Mail Forwarding, Managed DNS Products now available through the API.
Changes in version 2.2
Changes in version 2.1
DomUsContact.class
-
API for DomUsContact.class is provided
-
The characteristics of DomUsContact.class includes the method setContactDetails() that needs to be called for any contact used as Registrant contact for .US. for providing applicationPurpose and nexusCategory facility.
list() method
-
list() method of DomContact.class is now available to Customer as well as Reseller.
-
The function signature of listContact() is also changed – One has to pass Customer Id after Parent Id besides other parameters.
getCustomerAvailableBalance() fuction
getCustomerId() function
The prefix of all user classes changed to Customer eg. UserService to CustomerService, UserServiceTest to CustomerServiceTest
Method signature change in DomContact.class
OLD – int add(java.lang.String userName, java.lang.String password, java.lang.String role, java.lang.String langpref, int parentid, int customerId)
NEW – int addDefaultContact(java.lang.String userName, java.lang.String password, java.lang.String role, java.lang.String langpref, int parentid, int customerId)
Tags: Api, Core Kit, Customer Signup, Deprecated Methods, DNS, Java, Java Docs, Kit Class, New Domains, nexusCategory facility, Parameters, Registerdomain, Reseller, SSL
Buying Process for a Hosting Plan or Custom Package
- Retrieve all Product Keys: First get the list of Product Keys from your local store. These Product keys are currently:
- lhbbudgetusa
- lhbbudgetplanus
- w2kbudgetusa
- w2kbudgetplanus
- lhbpremiumusa
- w2kpremiumusa
- mailboxbudgetusa
- mailboxbudgetplanus
- mailboxpremiumusa
- Retrieve Hosting Plans for a Product Key: Now use WebHostingOrderData.getHostingPlans() to get the 3 hosting plans (premium, budget and custom) available per product key except for lhbbudgetplanus, w2kbudgetplanus and mailboxpremiumusa. Each of these three product keys have the custom build feature disabled and are associated with only 2 hosting plans, premium and standard. The return value is a hash of hashes with a serial number as the key. Per plan, the most important information is the planid, the planname and the totalprice. Use OrderSetup.getPricingKeyDisplayName() and OrderSetup.getPricingParamsDisplayName() to get the standard names for these values to build you display. You can also use getMonthlyCostAndValidate() under the appropriate HostingOrder class to get the pro-rata pricing for the plan.
- Buy a Hosting Plan: Use add() under the appropriate HostingOrder class to add an order. Be sure to pass in ‘planid‘ as the key and the actual plan id as the value. You can specify the invoice options as well.
- Buy a Custom Package: Use OrderSetup.getPricingKeyPricingParamMap() to get a list of all pricing keys and their related pricing params. Once more, you can use OrderSetup.getPricingParamsDisplayName() and OrderSetup.getPricingKeyDisplayName() to get the standard names for these values to build you display. You can also use getMonthlyCostAndValidate() under the appropriate HostingOrder class to get the pro-rata pricing for the package. Calling fetchAlternateLocationDetailsAndMonthlyCosts() under the appropriate HostingOrder class will give you the cost for a similiar order configuration at an alternate location. Once everything is set, you call add() under the appropriate HostingOrder class and passing it all the key:value pairs required.
Modifying a Hosting Plan or Custom Package
Reference: Renewing/Upgrading/Downgrading/Deleting a Web Hosting package >>
- Retrieve the price of the new modification: First call getModPricing() under the appropriate HostingOrder class to get the pricing for the modifications you wish to make, passing in all the key:value pairs, not just the ones which have changed.
- Modify the order: Now call mod() under the appropriate HostingOrder class and pass it a complete hash once more, with all the keys and their related values, not just the ones which have changed.
Deleting a Hosting Plan or Custom Package
Reference: Renewing/Upgrading/Downgrading/Deleting a Web Hosting package >>
Simply call del() under the appropriate HostingOrder class with the appropriate orderid.
Renewing a Hosting Plan or Custom Package
Reference: Renewing/Upgrading/Downgrading/Deleting a Web Hosting package >>
Simply call renew() under the appropriate HostingOrder class with the appropriate orderid and the months to renew for.
IMPORTANT
The system allows you to create an infinite number of Resellers and Sub-Resellers, each with customers under them. Orders can be placed only on behalf of the Customers and cannot be owned by Resellers or their Sub-Resellers directly. You can create as many Customers as you wish.
Click here to read about Customers and Sub-Resellers >>
Tags: Alternate Location, Api, Budget, Custom Package, First call, Hash, Hashes, Hosting Package, Hosting Plan, Hosting Plans, Important Information, Local Store, Plan Id, Product Key, Product Keys, Serial Number, Web Hosting package
The Debug API Parameters interface allows you to enable/disable API Call Debugging, emulate individual API calls and retrieve the XML Sent and Received by our server to compare with those returned by the specific emulator for debugging. Follow the process outlined below to commence this process:
1. Login into your Reseller Control Panel from http://manage.gossimer.biz/reseller
2. Click on Settings -> API -> Debug Your API Calls
3. Select the API method (any one or all) that you want to debug and click on the Start Debugging button.
4. Mention the last n calls (between 1 to 1000) that you want us to record by mentioning a value in the text box provided.
If you have already integrated with one of our API Kits and are facing an error that you wish to debug, then proceed to the next step.
If however, you are testing our API and wish to emulate API calls, then you may do so by selecting any of the PHP API Kits that we have deployed, by clicking on it (at the bottom of the interface). Clicking on any of the API Kits link will open the respective emulator in a new browser window.
6. Once you have tried a few calls, you may compare the XML Sent/Received with the ones logged in the system, by clicking on the Refresh button in the previous browser window.
7. Once you have completed your debugging exercise, turn off Debugging by clicking on the Stop Debugging button.
IMPORTANT
- Turning on debugging for you API calls will slow them down significantly. Please turn debugging off as soon as possible to
maintain optimal performance.
- Since enabling debugging also increases the load on our server, it will automatically be turned off after 1 hour.
- Turning Debugging Off deletes the API log file, so please be sure to save the content of the textbox if you wish to refer to it later.
Troubleshooting Errors
In case you encounter an error message, please read the following links:
If you continue to face an error message, please contact our Support Team at support@gossimer.com.
Tags: Api, Browser Window, Emulator, Error Message, Exercise, Interface, New Browser, Optimal Performance, Parameters, Php, Reseller Control Panel, Xml
Changes in version 3.10
-
Java Docs updated
-
Changes related to classes and methods:
New Classes and Methods
| Domains Kit |
| New Class Name |
New Method |
| ThirdLevelDotUk |
String invoiceOption |
| ThirdLevelDotUk |
String existingEndTime |
New Parameters introduced in Existing Methods
| Other Products Kit |
| Class Name |
Method Name |
New Parameters |
| EngageOrder |
renew |
String invoiceOption |
| EngageOrder |
renew |
String existingEndTime |
Deprecated Parameters in Methods
| Domains Kit |
| Class Name |
Method Name |
Deprecated Parameters |
| ZoneOrder |
add |
"No Of Records" in DomainHash |
Deprecated Methods
| Domains Kit |
| Class Name |
Deprecated Method |
Suggested Class |
Suggested Method |
| DomContact |
addDefaultContact |
DomContact |
addDefaultContacts |
| DomContact |
add |
DomContact |
addContact |
| DomContact |
list |
DomContact |
listByType |
| DomContactExt |
isValidRegistrantContact |
DomContactExt |
isValidContact |
| DomOrder |
transferDomain |
DomOrder |
addTransferDomain |
| DomOrder |
add |
DomOrder |
registerDomain |
| ZoneOrder |
mod |
ZoneOrder |
Functionality not required anymore |
| DotEu |
tradeDomain |
DotEu |
trade |
| DotEu |
transferDomain |
DotEu |
transfer |
| DotEu |
add |
DomOrder |
registerDomain |
| Core Kit |
| Class Name |
Deprecated Method |
Suggested Class |
Suggested Method |
| Customer |
addCustomer |
Customer |
signUp |
| Customer |
modDetails |
Customer |
mod |
| Reseller |
addReseller |
Reseller |
signUp |
| Reseller |
modDetails |
Reseller |
mod |
| Reseller |
addResellerWithStateId |
Reseller |
Functionality not required anymore |
| OrderSetup |
getResellerSlabPercentageForProducts |
OrderSetup |
Functionality not required anymore |
| OrderSetup |
getCustomerSlabPercentage |
OrderSetup |
Functionality not required anymore |
Changes in version 3.9
- Java Docs updated
-
Changes related to classes and methods:
The following method in the Domains Kit is deprecated and its use should be discontinued -
| Deprecated method |
Class |
New method to be used |
| |
|
|
| isValidRegistrantContact |
DomContactExt |
isValidContact |
Changes in version 3.8
-
Java Docs updated
-
Changes related to classes and methods:
-
The following changes have been introduced under the DotEu class within the Domains Kit -
- New methods
- Deprecated methods
- tradeDomain
- transferDomain
-
The following new methods have been introduced under DigitalCertificateOrder class within the Other Products Kit -
- enrollForThawteCertificate
- reissue
- renew
- checkDigitalCertificateStatus
- del
- cancelDigicertOrder
- changeDigicertPassword
- addAdditionalLicenses
- getDetails
- getDetailsByDomain
- getOrderIdByDomain
Changes in version 3.7
-
Java Docs updated
-
Changes related to classes and methods:
Some old parameters have been removed and new parameters introduced in their place under the following methods -
| LinuxHostingOrder Class |
| Method |
Old Parameter |
New Parameters |
| add |
Hashtable orderParams |
String packageKey*, boolean ssl# |
| mod |
Hashtable orderParams |
String packagekey*, boolean ssl#, int excessBandwidth## |
| getMonthlyCostAndValidate |
Hashtable orderParams |
String packageKey*, boolean ssl#, int execessBandwidth## |
| getModPricing |
Hashtable orderParams |
String packageKey*, boolean ssl#, int execessBandwidth## |
| WindowsHostingOrder Class |
| Method |
Old Parameter |
New Parameters |
| add |
Hashtable orderParams |
String packageKey*, boolean ssl# |
| mod |
Hashtable orderParams |
String packagekey*, boolean ssl#, int excessBandwidth## |
| getMonthlyCostAndValidate |
Hashtable orderParams |
String packageKey*, boolean ssl#, int execessBandwidth## |
| getModPricing |
Hashtable orderParams |
String packageKey*, boolean ssl#, int execessBandwidth## |
| MailHostingOrder Class |
| Method |
Old Parameter |
New Parameters |
| add |
Hashtable orderParams |
String packageKey* |
| mod |
Hashtable orderHash |
String packagekey*, int additionalMailBoxes** |
| getMonthlyCostAndValidate |
Hashtable orderParams |
String packageKey*, int additionalMailBoxes** |
| getModPricing |
Hashtable orderParams |
String packageKey*, int additionalMailBoxes** |
| SiteBuilder Class |
| Method |
Old Parameter |
New Parameters |
| mod |
Hashtable orderParams |
String packageKey* |
| getMonthlyCostAndValidate |
Hashtable orderParams |
String packageKey* |
NOTE:
* packageKey will be the Identifier Key of the Plan (plan1, plan2, plan3, plan4) for which the Order needs to be added/modified.
# ssl will be true or false depending whether the user wants Dedicated IP / SSL for the Order placed.
## excessBandwidth is the Bandwidth which the user wants over and above the Bandwidth of the Order’s current plan.
** additionalMailBoxes is the number of additional mail boxes over and above the existing ones in blocks of 100 accounts.
- The following classes and their methods are removed:
- LinuxHostingPlanOnlyOrder
- WindowsHostingPlanOnlyOrder
- MailHostingPlanOnlyOrder
- The SiteBuilderLite class has been renamed to SiteBuilder.
- Two new methods, mod and signUp, have been introduced under the Reseller and Customer classes.
- Code for registerDomain method in PERL Domains Kit has been modified.
- The return type of the ListByType method of DomContact class in the Domains Kit has been changed to Hashtable from Vector.
Changes in version 3.6
-
Java Docs updated
-
Changes related to classes and methods:
- New methods have been added in the Core Kit under the following class:
getProductMetadata – Product class
New methods have been added in the Domains Kit under the following classes:
getDefaultContactId – DomContactExt class
listByType – DomContact class
addTransferDomain – DomOrder class
changePrivacyProtectionStatus – DomOrder class
registerDomain – DomOrder class
Changes to the DomOrder class in Domains Kit:
- Privacy Protection Handling is added in the bulkAdd and bulkAddTransferDomain methods.
- The ‘ns’ parameter has been removed from the validateDomainTransferParams method.
The following methods in the Domains Kit are deprecated and their use should be discontinued:
| Deprecated method |
Class |
New method to be used |
| |
|
|
| add |
DomContact |
addContact |
| addDefaultContact |
DomContact |
addDefaultContacts |
| list |
DomContact |
listByType |
| add |
DomOrder |
registerDomain |
| transferDomain |
DomOrder |
addTransferDomain |
| transferDomainWithoutValidation |
DomOrder |
addTransferDomain |
| addTransferDomainWithoutvalidation |
DomOrder |
addTransferDomain |
| add |
DotEu |
registerDomain in DomOrder class |
IMPORTANT
While these methods are currently available, they are no longer supported and may be discontinued in the near future.
New methods have been added in the Hosting Kit under the following class:
getHostingMetaData – WebHostingOrderData class
Changes to classes in the Hosting Kit:
The invoiceOption parameter has been added to the add method of MailHostingPlanOnlyOrder, WindowsHostingPlanOnlyOrder and LinuxHostingPlanOnlyOrder classes
Changes in version 3.5
-
Java Docs updated
-
Changes related to classes and functions:
- New functions have been added in the Core Kit under the following classes:
getList – Country class
getStateListForCountry – Country class
getDetails – Order class
addResellerWithStateId – Reseller class
An extra option called Supersite is added in the getDetails function of the Reseller class in the Core Kit.
A new class LegalAgreement is added with the following methods under the Core Kit:
getRegistrantAgreement
getProductCategory
getAgreement
getAllAgreements
A new function has been added in the Domains Kit under the following class:
addCoopContact – DotCoopContact class
The following functions in the DomOrder class in the Domains Kit are changed to show the Invoice options also:
validateDomainRegistrationParams
validateDomainTransferParams
addWithoutValidation
Changes in version 3.4
-
Java Docs Updated
-
New Classes introduced in all Kits:
-
Core Kit
TaxService
getApplicableTaxes
getHashedTaxRules
-
Domains Kit
DotEu
getEUCountryList
tradeDomain
transferDomain
add
isEUCountry
DotEuContact
mod
add
addEuDefaultContact
DomOrder
validateDomainRegistrationParams
validateDomainTransferParams
addTransferDomainWithoutvalidation
addWithoutValidation
-
Hosting Kit
WindowsHostingPlanOnlyOrder
getDetails
getDetailsByDomain
getOrderIdByDomain
add
mod
renew
del
getMonthlyCostAndValidate
getModPricing
getDeletionRefundAmount
LinuxHostingPlanOnlyOrder
getDetails
getDetailsByDomain
getOrderIdByDomain
add
mod
renew
del
getMonthlyCostAndValidate
getModPricing
getDeletionRefundAmount
MailHostingPlanOnlyOrder
getDetails
getDetailsByDomain
getOrderIdByDomain
add
mod
renew
del
getMonthlyCostAndValidate
getModPricing
getDeletionRefundAmount
list
MailHostingSetup
getHostingKeyDisplayName
getHostingParamsDisplayName
getPricingKeyPricingParamMap
WindowsHostingSetup
getHostingKeyDisplayName
getHostingParamsDisplayName
getPricingKeyPricingParamMap
LinuxHostingSetup
getHostingKeyDisplayName
getHostingParamsDisplayName
getPricingKeyPricingParamMap
-
Other Products Kit
DigitalCertificateOrder
add
getCertPrice
SiteBuilderSetup
getPricingKeyPricingParamMap
EngageSetup
getPricingKeyPricingParamMap
Changes in version 3.3
-
3 new functions have been added in the Core Kit under the following classes:
authenticateCustomerId – Customer class
login – Customer class
getOrderIdByDomainAndProductCategory – Order class
-
Bug Fix – A minor Java Script problem was causing the frame links in the examples to not work in some browsers like Mozilla and Opera.
Changes in version 3.2.1
Changes in version 3.2
Changes in version 3.1
Version 3.0 Released
Changes in version 2.6
-
Added the method Customer.delete() which allows you to delete a Customer
-
Added the method DomOrder.cancelTransferRequest() which allows you to cancel the transfer-in request for a domain name
-
Added the method Order.sendRfa() which allows you to re/send the email asking for transfer-in approval for domain names.
Changes in version 2.5
-
Bug fix in Modify Customer Details and Modify Contact Details forms
-
More details in the Javadocs for DomOrder.getDetails()
-
Link to new Demo Server added.
Version 2.3
Tags: Api, Java, Perl, SSL
Before proceeding with the Transfer of your .UK Domain Name, you are advised to first confirm if your Domain Name can be Transferred. Click here to read more >>
IMPORTANT
- Inter-Registrar Transfer of a .UK Domain Name does not include one year Renewal.
- Transfer of a .UK Domain Name from another Registrar to Gossimer is a non-billable action.
The process of Transferring a .UK Domain Name from another Registrar is slightly different compared to the process for Domain Names under other extensions. In case of a .UK Domain Name, the inbound Transfer needs to be initiated at the Current Registrar’s end.
Once you have determined whether your .UK Domain Name can be Transferred, you need to follow the process mentioned below:
- Initiate the Transfer at the Current Registrar with whom you are managing your .UK Domain Name.
You need to provide a Tag in order to initiate the Transfer. Contact our Technical Support Team at support@gossimer.com to know the Tag.
- A notification will be sent to the Registrant Email Address once Gossimer receives a notification about the Transfer from the .UK Registry.
- This email will contain a Security Key associated with the Domain Name that you have Transferred.
- Login to your Control Panel – Customers – http://manage.gossimer.biz/customer
Resellers – http://manage.gossimer.biz/reseller
- In the Control Panel, Customers – go to Domains -> Domain Registration -> Transfer
Resellers – go to Products -> Domain Registration -> Transfer<#end reseller#>
Now, enter your .UK Domain Name. You also need to provide the Security Key, which was sent to the Registrant Email Address.
IMPORTANT
Here, you will be initiating the final step related to the Transfer of your .UK Domain Name to Gossimer and not a fresh Transfer.
On the next page, you need to provide the Customer Username (Email Address) under whom the Domain Name needs to be placed.
- Submit the details.
You will receive a notification via email from Gossimer, once the Domain Name has been activated under your Control Panel.
Tags: Api, Api Reference, Control, Control Panel, Current, Current Registrar, Custom Url, Domain Registrar, Domain Transfer, Email, Gossimer, Inter, Inter-Registrar, Notifications, Registrant, Registrar, Registrar Transfer, Security Key, Storefront, Technical Support Team, Transfer Request, Uk Domain Name, Uk Domain Names, Uk Email
SuperSite is a complete private-labeled Website for you and your Resellers. Here, your Customers as well as your Reseller’s Customers can buy various Products and Services. The SuperSite allows you and your Resellers to start selling all our Products and Services within minutes of signing up with Gossimer.
OrderBox SuperSite is
- Fully Customizable: You and your Resellers can modify the HTML, CSS, images or the PHP code of the SuperSite, thus, allowing you 100% customization
- Multi-tier: SuperSite supports an infinite level Reseller chain. You, your Resellers, their Resellers and so on can individually customize and use the SuperSite
SuperSite Features
- Over 50 pages of customizable marketing content that your Customers can refer to.
- A Feature-packed Shopping Cart which allows Customers to purchase Products through you and your Resellers. The Shopping cart also has an intelligent product suggestion tool that automatically identifies potential services that a Customer would want to buy based on their current shopping cart contents and prompts customers to make additional purchases, increasing your revenue potential during each shopping process. The SuperSite is geared to give your Customers a continuous shopping experience. Your Customers can jump from any section of the site to any other section – selecting items, viewing details and making decisions – until they finally wish to checkout.
- Intuitive Customer/Product sign-up forms.
- Integration with the OrderBox Control panels allowing your Customers to switch between the SuperSite and the Control Panels.
- Integration with the OrderBox API for fetching your Product settings, Pre-configured plans, Pricing and other information required to allow your Customers to buy your Products and Services.
- Integration with the OrderBox to provide complete Finance and Billing automation – Online invoicing, Payment Collection, Payment Gateway integration, Advance Accounts.
Tags: Api, Billing Automation, Cart Contents, Checkout, Css Images, Customer Product, Finance, HTML, Html Css, Html Images, Infinite Level, intelligent product suggestion tool, Invoicing Payment, Making Decisions, Online Invoicing, Orderbox, Payment Gateway, Php, Php Code, Potential Services, Product Suggestion, Reseller, Resellers, Shopping Cart, Shopping Experience, Suggestion Tool
Follow the instructions below to begin integration with the API using Java -
Make sure you have read the General API Integration Instructions first. If you have already integrated the Java API Kit at your end, read the Change Log first to know what has changed since.
Reference:
General API Integration Instructions >>
Change Log >>
Step 1. Download the API Kit
Click the link below to download the relevant API kits (updated on 6th March, 2008).
JAVA_CoreKIT_v3_10.zip
JAVA_DomainsKIT_v3_10.zip
JAVA_HostingKIT_v3_10.zip
JAVA_OtherProductsKIT_v3_10.zip
Step 2. Download the API Documentation
The complete documentation of all classes and methods available in the API can be found in the Docs below. The Docs below are javadocs, but the function names and explanations remain the same for all the platforms and the documentation is self explanatory. We recommend you download the docs and read through them completely once before you integrate your application (updated on 6th March, 2008).
Core_Docs_v3_10.zip
Domains_Docs_v3_10.zip (updated on 1st April, 2008)
Hosting_Docs_v3_10.zip
OtherProducts_Docs_v3_10.zip
Step 3. Extract the files from the API Kit archive
You should get the following directory & files structure
WEB-INF/classes/ – Precompiled examples. You can directly run the examples to test API functionality
examples/src/ – The examples for using the API
WEB-INF/lib/ – The jar files that you will need in order to compile/run the classes
WEB-INF/build.xml – The API archive also contains a build.xml file. You can use this file to build the examples using Ant.
The Ant target to build the examples is build. If you do not want to use Ant, you can just compile the files in the “src” folder. You will need to include the jar files provided in the lib folder while compiling the classes.
Step 4. Run the examples
You can run the precompiled examples provided in the “classes” folder. Note the following however:
1. Upload the “classes” and “lib” folders to your server. Make sure that both these folders are uploaded to the same parent folder.
2. You must have a Demo account ready the first time. Read the General instructions if you have not yet setup your demo account. Reference: General API Integration Instructions >>
IMPORTANT
The Demo server duplicates all functionality of the live server, however all Domain Names will appear as available on the Demo Server. It does not query the live registry and therefore names which are not available on the live registry will still appear as available on the Demo Server. At times connectivity to the DEMO Registry may be down resulting in errors.
3. Make the appropriate changes to the “settings.properties” file in the “WEB-INFclassescomlogicboxesproperties” folder, by putting in the values for your “ResellerUsername”, “ResellerPassword” and “ParentId”. The remaining settings have already been made for you in this file.
4. The URL to which the call is made is maintained in the “settings.properties” file inside the “WEB-INFclassescomlogicboxesproperties” folder. By default, all calls are made to the demo server URL using HTTP. You can make changes to this file and redirect your calls to the appropriate server.
IMPORTANT
If you are using HTTPS calls you MUST have JDK 1.4 or greater installed. HTTPS calls will not work with JDK 1.3 or lower.
5. Set your class path to include the bin folder and EVERY jar file in the lib folder. You would use the following command for that
Windows
set CLASSPATH=%CLASSPATH%;
</fullPathTo>/classes;
</fullPathToLibFolder>/aaxerces-1_4_3.jar;
</fullPathToLibFolder>/axis.jar;
</fullPathToLibFolder>/commons-discovery.jar;
</fullPathToLibFolder>/commons-logging.jar;
</fullPathToLibFolder>/jaxrpc.jar;
</fullPathToLibFolder>/junit.jar;
</fullPathToLibFolder>/logicboxes-sfnb-v2.jar;
</fullPathToLibFolder>/saaj.jar;
</fullPathToLibFolder>/servlet.jar;
</fullPathToLibFolder>/wsdl4j.jar
Linux
set CLASSPATH=$CLASSPATH:
</fullPathTo>/classes:
</fullPathToLibFolder>/aaxerces-1_4_3.jar:
</fullPathToLibFolder>/axis.jar:
</fullPathToLibFolder>/commons-discovery.jar:
</fullPathToLibFolder>/commons-logging.jar:
</fullPathToLibFolder>/jaxrpc.jar:
</fullPathToLibFolder>/junit.jar:
</fullPathToLibFolder>/logicboxes-sfnb-v2.jar:
</fullPathToLibFolder>/saaj.jar:
</fullPathToLibFolder>/servlet.jar:
</fullPathToLibFolder>/wsdl4j.jar
6. Run the java program using the command line below
java -classpath $CLASSPATH com.logicboxes.foundation.sfnb.user.CustomerServiceLocator <params for test class>
To find out the parameters that the command above takes you can simply choose to not pass any parameter the first time you run it. The example will print out the parameters that it expects.
IMPORTANT
In registering/managing any domain name on the demo server always use ns1.onlyfordemo.net and ns2.onlyfordemo.net as your nameservers. ANY OTHER Nameserver will result in an INVALID NAMESERVER error.
Follow the same instructions above to run all the examples as below
Domain Contact example:
java -classpath $CLASSPATH com.logicboxes.foundation.sfnb.order.DomainContactServiceLocator <params required for the class>
Domain example:
java -classpath $CLASSPATH com.logicboxes.foundation.sfnb.order.DomainServiceLocator <params required for the class>
Fund example:
java -classpath $CLASSPATH com.logicboxes.foundation.sfnb.management.FundServiceLocator <params required for the class>
Step 5. Understanding Errors
Make sure you have read the General API Integration Instructions to obtain links to the error format and possible error documents. Reference: General API Integration Instructions >>
Step 6. Writing your own code
After running each example above, if you simply refer to the corresponding .java file in the src folder you will easily be able to figure out the code snippet you need to write in order to make a similar call.
Making an API call to perform any action is a matter of two steps:
(i) Obtain a pointer to the required service. This is done by using the code below
com.logicboxes.foundation.sfnb.user.Customer customerObj = new com.logicboxes.foundation.sfnb.user.CustomerServiceLocator(serviceAddress).getCustomerService();
In the above call “serviceAddress” is passed as a parameter to the constructor of “CustomerServiceLocator”. This serviceAddress refers to the URL of the server to which you are communicating. You can obtain this URL from the “settings.properties” file in the “WEB-INFclassescomlogicboxesproperties” folder.
(ii) Call the required method on this object. A complete reference of all methods is available in the Java Docs. This can be achieved by using the code below
int customerId = customerObj.addCustomer(resellerUserName, resellerPassword, “reseller”,resellerLangPref, parentId, customerUsername, customerPassword, name, company,address1, address2, address3, city, state, country, zip,telNoCc, telNo, altTelNoCc, altTelNo, faxNoCc, faxNo, langPref);
IMPORTANT
You will notice above that EVERY method in the java docs takes the same first 5 parameters as below
java.lang.String userName, java.lang.String password, java.lang.String role, java.lang.String langpref, int parentid
These parameters are common no matter which method you call. These parameters mean the following
java.lang.String userName: Your Username
java.lang.String password: Your Password
java.lang.String role: This will always be a string "reseller"
java.lang.String langpref: The 2 letter code of the language in which you wish to receive errors and descriptions - "en" for English
int parentid: The ID of your parent which you can get from your profile section
Step 7. Change the information to Live information when you are ready
Once you have followed the steps above and got the test examples to work successfully, you can duplicate the same code in your live application and replace the Demo Server and Reseller account information with your live username and password. The URL that you make your calls to also needs to change to the LIVE Server URL. The list of URLs are available in the “settings.properties” file inside the “WEB-INFclassescomlogicboxesproperties” folder.
Once again note, if you are using the HTTPS URL you MUST have JDK 1.4 or greater installed. HTTPS calls will not work with JDK 1.3 or lower.
Tags: Amp, Api, Api Documentation, Api Kit, appropriate server, Classes, Docs, Explanations, Folders, Integration Guide, Java Api, Javadocs, Lib, Platforms, Reference, Step 1, Step 2, Structure Web, Target, Upload, Using Java
While using one of the API kits, if you encounter any error that you need to report to Gossimer, you would need to provide the XML sent and received for the call you were making. Following is the procedure that you need to follow to retrieve the XML, for the various API kits we provide:
1. PHP kit: Set the debug value to true in the lib/config.php file
2. Perl kit: Set the $debugMode to 1 in /examples/cgi-bin/constants.cgi/font/index.html>
3. .NET kit: Set the static property Properties.Debug = True in statics.aspx
Having retrieved the XML sent & received, please contact us at support@gossimer.com, along with the following details:
- your Reseller Username
- Service URL you were using
- API kit Language
Tags: Api, HTML, Perl, Php, Xml
Follow the instructions below to begin integration with the API using Perl -
Make sure you have read the General API Integration Instructions first. If you have already integrated the PERL API Kit at your end, read the Change Log first to know what has changed since.
Reference:
General API Integration Instructions >>
Change Log >>
Step 1. Download the API Kit
Click the link below to download the relevant API kits (updated on 6th March, 2008).
PERL_CoreKIT_v3_10.zip
PERL_DomainsKIT_v3_10.zip
PERL_HostingKIT_v3_10.zip
PERL_OtherProductsKIT_v3_10.zip
Step 2. Download the API Documentation
The complete documentation of all classes and methods available in the API can be found in the Docs below. The Docs below are javadocs, but the function names and explanations remain the same for all the platforms and the documentation is self explanatory. We recommend you download the docs and read through them completely once before you integrate your application (updated on 6th March, 2008).
Core_Docs_v3_10.zip
Domains_Docs_v3_10.zip (updated on 1st April, 2008)
Hosting_Docs_v3_10.zip
OtherProducts_Docs_v3_10.zip
Instructions to pass parameters to functions using the Perl Kit
Since Perl uses typeless variables you will have to ignore the datatypes presented in the docs. But for assigning values to variable of types other than strings and integers special care will have to be taken. Below is the list of datatypes presented in the API Doc and their usage in Perl.
|
Java Data
|
Types Assigning values in Perl
|
| String |
“firstname@secondname.com”
|
| int |
123
|
| HashMap (Datatype for storing name-value pair) |
{“domain1.com”=>1,”domain2.com”=>1}
|
| Array and Vector (Datatype for storing more than one value) |
["ns1.domain.com","ns2.domain.com"]
|
| boolean (Datatype for storing true or false) |
TRUE / FALSE
|
Example:
-
For Calling a Function which takes a String datatype and an integer datatype as its paramters
public int function1(java.lang.String userName, int parentid)
$result = $obj->function1(“firstname@secondname.com”,1);
-
For Calling a Function which takes a HashMap, a String Array and an integer Array as its parameters, where domainHash contains the domainname and the number of years as name value pairs.
public java.util.HashMap function2(java.util.HashMap domainHash, java.lang.String[] orderby, int[] resellerId)
$result = $obj->function2({“domain1.com”=>1,”domain2.com”=>2},["column1","column2"],[22,33])
-
For Calling a Function which takes a Vector and a boolean as its parameters
public java.lang.String function3(java.util.Vector nameServers, boolean add)
$result = $obj->function3(["ns1.domain.com","ns2.domain.com"],TRUE)
Step 3. Extract the files from the API Kit archive
You should get the following directory & files structure
cgi-bin/ – Pre-written examples. You can directly run these examples to test API functionality
lib/ – The Perl classfiles, library files and wsdl files that you need to run your application
Step 4. Run the examples
You can run the pre-written examples provided in the “examples” folder. Note the following steps to do so -
1. Upload the “examples” and “lib” folders to your web server where you run your Perl scripts. Make sure that both these folders are uploaded to the same parent folder.
2. You must have a recent version of Perl installed on the server.
IMPORTANT
Please do NOT use a version of SOAP-Lite newer than 0.60, which is the current stable release.
3. You must have a Demo account ready the first time. Read the General instructions if you have not yet setup your demo account. Reference: General API Integration Instructions >>
IMPORTANT
The Demo server duplicates all functionality of the live server, however all Domain Names will appear as available on the Demo Server. It does not query the live registry and therefore names which are not available on the live registry will still appear as available on the Demo Server. At times connectivity to the DEMO Registry may be down resulting in errors.
4. Make the appropriate changes to the “constants.cgi” file in the “cgi-bin” folder, by putting in the values for your “username”, “password” and “parentid”. The remaining settings have already been made for you in this file. You may only need to change the path for the “wsdl” folder if you have uploaded the wsdl folder elsewhere.
5. The URL to which the call is made is maintained in the “config.sh” file inside the “lib” folder. You can make changes to this file and redirect your calls to the appropriate server.
6. Import and point to note is that you will have to execute the config.sh file from the cgi-bin directory after making any changes in this file to reflect the changes.
7. Every Example file has a set of functions which you can run.
8. Once you have modified the appropriate example file, access it over your webserver by putting in your URL such as http://yourserver/examples/html and choose the required function from the links given in the left frame.
IMPORTANT
In registering/managing any domain name on the demo server always use ns1.onlyfordemo.net and ns2.onlyfordemo.net as your nameservers. ANY OTHER Nameserver will result in an INVALID NAMESERVER error.
Step 5. Understanding Errors
Make sure you have read the General API Integration Instructions to obtain links to the error format and possible error documents. Reference: General API Integration Instructions >>
Step 6. Writing your own code
After running each example above, if you simply refer to the corresponding .Perl file in the lib folder you will easily be able to figure out the code snippet you need to write in order to make a similar call.
Making an API call to perform any action is a matter of three steps:
(i) Include the appropriate Perl package as below
use lib::Customer;
(ii) Obtain a pointer to the required Class. This is done by using the code below
our $Customer = new Customer($debugMode);
(iii) Call the required method on this object. A complete reference of all methods is available in the Docs folder. This can be achieved by using the code below
$Customer->wsdlURL($wsdlFile);
$Customer->StartServices()
my @param = ($SERVICE_USERNAME, $SERVICE_PASSWORD, $SERVICE_ROLE, $SERVICE_LANGPREF, $SERVICE_PARENTID, $customerUserName, $customerPassword, $name, $company, $address1, $address2, $address3, $city, $state, $country, $zip, $telNoCc, $telNo, $altTelNoCc, $altTelNo, $faxNoCc, $faxNo, $customerLangPref);
IMPORTANT
You will notice above that EVERY method in the docs takes the same first 5 parameters as below
String SERVICE_USERNAME, String SERVICE_PASSWORD, String SERVICE_ROLE, String SERVICE_LANGPREF, int SERVICE_PARENTID
In the examples these parameters have been put into a single constants file from which they are accessed by including the constants file. These parameters are common no matter which method you call. These parameters mean the following
String SERVICE_USERNAME: Your Username
String SERVICE_PASSWORD: Your Password
String SERVICE_ROLE: This will always be a string "reseller"
String SERVICE_LANGPREF: The 2 letter code of the language in which you wish to receive errors and descriptions - "en" for English
int SERVICE_PARENTID: The ID of your parent which you can get from your profile section
Step 7. Change the information to Live information when you are ready
Once you have followed the steps above and got the test examples to work successfully, you can duplicate the same code in your live application and replace the Demo Server and Reseller account information with your live username and password. You will make this change in the “config.sh” file in the “lib” folder
Tags: Api, appropriate server, Demo Server, Java, Perl, Web Server
Tags: Api, Assessment Report, Assessment Reports, Authorize.Net, Credit Card Gateway, Daily Basis, Electronic Clearing House, Fraud Detection, Fraudulent Transactions, Global Payment, Gossimer, Hig, High Risk, Inr, Payment Gateway, Payment Gateways, Planet Payment, Report Generation, Reseller Control Panel, Risk Assessment, Risk Engine, Risk Report, Risk Score, Suspicious Transactions, Verisign
When you and/or your Customers login to their Control Panel, there are several options available to purchase various products and services that you sell. These are in the form of buttons or links either in the Menu or the pages themselves. These links and buttons need to redirect to the Shopping Cart of your website.
You can specify the URL to which you and/or your Customers should be redirected when such links are clicked to buy various Products and Services. This URL should be the URL of the shopping cart you are using.
How to integrate your and your Customer’s Control Panel with your Shopping Cart?
1. Login into your Reseller Admin Control Panel from http://manage.gossimer.biz/reseller
2. Click on Settings -> Control Panel – Shopping Cart Integration
3. You will be presented with three options for setting up the re-direction URL:
I. SuperSite
If you select this option, all purchase related links from within your and your Customers Control Panel will be re-directed to your SuperSite. Click on the links below to understand what the SuperSite is and its full potential:
Click here to see a Flash Demo introducing the SuperSite >>
Click here to see a Flash Demo on Customizing the SuperSite >>
Click here to read the SuperSite Guide >>
Click here to read how to set the Supersite >>
II. Custom URL
- If you are NOT using the SuperSite, and have instead integrated with our platform using our API, you should choose this option.
- If you select this option, you will need to specify a Custom URL (which should ideally be a URL hosted on your website), to which we will redirect you as well as all your Customers when ANY purchase link is clicked within the respective Control Panel.
- Alongwith the redirection we will also pass a querystring containing parameters that you can use on your website to show appropriate products and services. Details of the format of the query string can be provided below
Query String Format
There are two types of redirections that your Custom URL may receive.
First: Your Customers may click on a link for purchasing some Product from within their Control Panel. The querystring in this case will be – <YOUR_SPECIFIED_CUSTOM_URL>?p=<PRODUCT>&tid=<AUTHENTICATION_KEY>&r=customer
Second: Your company users, or you may click on a link for purchasing some Product from within your Control Panel. The querystring in this case will be – <YOUR_SPECIFIED_CUSTOM_URL>?p=<PRODUCT>&tid=<AUTHENTICATION_KEY>
The variables passed as query strings are explained are explained as under -
p=<PRODUCT>
This is the product which you or your Customer wants to buy. Following are the possible values of this variable:
| Product (p) |
Product Name |
| domainfwd |
Domain Forwarding |
| mailfwd |
Mail Forward |
| dns |
Managed DNS |
| Product (p) |
Product Name |
| engage |
Live Chat |
tid=<AuthenticationKey>
This is a randomly generated authentication key which you MUST validate to ensure that the redirection is being made by a authenticated Customer or User. This Authentication Key is valid only for a short period of time.
On the Custom URL you specified above, you must write a script to make an API call to our system to the authenticateLoginID (<authentication key>)method of the Customer class or Reseller Class in the CoreKit, depending upon whether the “r” variable is passed as a query string. You need to pass the Authentication key as parameter to the authenticateLoginID method.
The method authenticateLoginID(<authentication key>) returns the details of the user who initiated the purchase order process from within the Control Panel, if the <authentication key> matches and has not timed out. Otherwise, an authentication failure exception will be thrown.
r=customer
This is the role of the user. This variable will be passed only in the case your Customer is initiating the product purchase process from within his Control Panel.
III. Storefront
This Storefront is being deprecated and it is advisable that you begin migrating to one of the options mentioned above. If however, you select this option, then you and/or your Customers will be re-directed to the product purchase links on your Storefront from their Control Panel.
Click here to know how to setup your Storefront >>
Tags: Admin Control Panel, Api, appropriate products, Buttons, Control, Custom Url, DNS, Flash Demo, Integration, Options, Parameters, Query String, Querystring, Redirect, Redirection, Reseller, Shopping Cart, Web Hosting