Go API with Gandi!
By Arti on Thursday 18 January 2007, 09:38 - Gandi - Permalink
Eagerly awaited by our resellers, we are pleased to bring you Gandi API-XML!
What is an API (Application Programming Interface)? In layman's terms, this is a big chunk of code that allows communication between several different languages and parties. In Gandi's case, this is a suite of methods that allows resellers to both purchase and manage domains directly on their website.
This is of course the reason why this tool is mainly aimed at our resellers who will henceforth have the possibility of creating their own Gandi, stamped with their own brand name 
The choice of using XML-RPC as a language came about due to its simplicity of integration and utilization. We have begun to put into place a FAQ dedicated to this tool, which will rapidly evolve. I invite all techies (and those of you who are curious) to have a look at our documentation. This corresponds to version 0.9 of our API XML-RPC and is totally comprehensive.
Why version 0.9? Because this has been tested in Alpha by out technical team, and certain resellers (thanks again to them!) and despite its stability, it cannot use a whole number as long as it does not understand all the management method used by Gandi. The main methods that are used (31 of them!) are of course operational, though some of them (7) will be available a bit later, in the near future.
In order to help you get started more quickly in the implementation of this API, we have created a test environment called OT&E (Operational Test & Evaluation). This environment is connected to the OT&E of the Registries that we sell to (with the temporary exception of .fr, which will soon open its OT&E). This gives you all the freedom you need in testing the purchase and management of domain names in a virtual world 
In order to show you what this can give you in a hurry, here is an example of the gandi-test.fr developed by Nicolas, our Product Director (therefore, not a developer) in less then two days!
It's your turn now! The test area is available and the doc is here! For those that are diving right into it, and who need a bit of help, we have put in place a mailinglist for the launching of this product: api-ote _at_ support.gandi.net Please feel free to use this address to e-mail us your problems or bugs that you come across.
If API-XML seems to meet your needs, here is what you can to set up your account:
- Step 1: create a Gandi reseller handle (or convert your billing handle to a reseller in the "Account Management" page).
- Step 2: activate Gandi API XML in the test platform (OT&E) in the "Reseller Options"
- Step 3: implement and test Gandi API XML on the OT&E test platform
- Step 4: credit your prepaid account (minimum of 120 euros)
- Step 5: send us an authorization request to open the working platform to the e-mail address mentioned in your interface.
- Step 6: All that is is left is for your to activate Gandi API XML and place your orders.
Comments
I would like to know how your protocol compares to EPP and why you chose to go with your own instead of the 'standard'? I know it sometimes assumes an RR model but I see no reason it shouldn't work with resellers as well. It would surely make things easier as there may already be software developed for EPP.
We considered EPP as an alternative, along with soap, rest, xmlrpc, etc, the problem is that even if there is effectively a few open (and buggy) client libraries, there's absolutely no server implementation available (that may explain why every registry EPP implementation have different behaviors and specificities), so beside implementing our own EPP server, we should have implemented and supported n clients libs for n languages. EPP is a surely an accepted standard for communication between registries and registrars, but i don't know any registrar providing EPP to their clients (well, ok, some use RRP), and it's not really what we should call a 'light' protocol, xmlrpc, on the over hand, is really simple to implement and use (see http://www.xmlrpc.com/), and there's client and server implementation for nearly any language, and if not, well, the spec is 6 pages long ...
Btw, we have just added a newsgroup to talk about it on nntp://groups.gandi.net or via http://groups.gandi.net/group/gandi...