Response to NTEN's questionnaire on Open API's...

Published
2007-01-12 16:25
Written by
NTEN (Non-profit Technology Enterprise Network) recently posed a series of questions to software vendors serving the non-profit community. Here's a draft of our response. We will be revising this entry over the next few days. Would be great for the community to comment and/or contribute to our response. The questions are in bold type. Does your product have APIs that allow other applications to access data from your application? Yes. CiviCRM includes a substantial set of API's which are being used to exchange data and integrate CiviCRM with other applications. We also use SOAP API's internally to integrate the CiviMail high-capacity broadcast email component with the CiviCRM Core. Do you have features that call APIs of other applications? Yes. We use this fairly extensively to add more functionality to CiviCRM. A few ones that come to mind are:
  • Integration with two popular open source Content Management Systems, Drupal and Joomla.
  • Integration with Yahoo! and Google API's for their geocoding and mapping services
  • Integration with online payment services from Paypal (WebPayment Pro (Soap/XML) and IPN) and Moneris. The abstraction is flexible enough to plugin other payment processors.
  • Integration with USPS web services
If your application has APIs, what are the technologies used by those APIs? Please give a detailed technical overview.? All API's are implemented in PHP. CiviCRM is primarily a PHP application (we integrate with one Perl component, amavisd). The API's can be accessed internally from within the CMS (Joomla and/or Drupal) if CiviCRM is enabled. Our mass mailer component, CiviMail, accesses some of the API's via SOAP. We have only exposed a few API's via SOAP since that is not the main focus of our audience. CiviCRM v1.7 (scheduled for March 2007) will also expose a REST interface along with a simpler API as discussed in our blog. This enhancement will greatly expand the number of applications which can "consume" CiviCRM API's. The CiviCRM ecosystem is at a stage where folks want to integrate CiviCRM with their favorite applications. We define an 'open API' as one that is documented, accessible to the audience it is intended for, and there is no additional cost to access it. Are your APIs open, as we've defined it? Yes. The APIs are included in our open-source distributions. They are supported by our team and our community. Documentation, code samples and unit tests are available online (see next response below). Is there documentation online? (if yes, please include the link) If they are not open according to this definition, please explain.
  • (not applicable)
If you don't have APIs in your applications yet, do you plan to implement them sometime in the next year?
  • (not applicable)
If so, when will they be released?
  • (not applicable)
Will they be open, according to above definition?
  • (not applicable)
Filed under