Infusionsoft API for humans
For one of projects, I had to implement integration with Infusionsoft. Reviewing the API documentation I found it very simple to use, but when I looked into their SDK it did not like me too much. Properly say it seemed me horrible. How they would be able to create such ugly SDK for such nice API?
First of all I did not like xmlrps third party library used in it, it was written by Edd Dumbill long ago and did non seem me very beautiful - the php itself already has nice XML RPC implementation since version 4.0 (though, yes, I had sin to write own XML RPS too...) . The structure of API is not very convenient because I have to pass API key to ALL api functions - it would be logical for SDK to store key and use it with later calls - I am too lazy to write it every time.
Another thing iSDK is uses one class with lots of functions - it would be logical to use classes which represents basic services in infusionsoft API.
Most of functions in SDK have different names then original API functions, furthemore names are very strange and nonintuitive - can you let me know what does function addCon or campAssign?
So I went to idea to create own Infusionsoft API implementation.
- it would have proper type hinting that would help me use proper method names in Eclipse
- would have same method names as used in Infusionsoft XML RPC calls
- it would require to pass API keys in every call
- it would have transparent arguments without any php_xmlprc_encode crap
I am too lazy to code this by hand so I am created simple parser that takes infusionsoft API documentation and parses it creating nice friendly human oriented API.
The final API (and generating script) I have uploaded to hithub. Hope it would help to somebody with work with Infusionsoft via their API.
Enjoy.