We’ve always been keen to encourage Citizen Space to play nicely with other friendly applications on the web. For example, you can:
- Link your consultation records to awesome sites such as EventBrite, so that consultations you’re running elsewhere on the web (or even offline) are still listed and searchable through Citizen Space.
- Embed rich media from sites such as Google Maps, YouTube and Scribd into your consultation records.
- Couple Citizen Space with third-party mailing tools, like MailChimp, to stay in touch with people who want to be kept updated.
We love these features and so do our clients, and they’re definitely not going away. However, we really want to provide more flexible ways to open up the data held within Citizen Space, and that’s why we’re so excited about our new API. “API” is short for “Application Programming Interface”. This is a set of documented procedures that third-party systems can use to communicate with an application.
API integration with Citizen Space requires more technical know-how than the features described above, so it’s something for your web or IT team to get their teeth into. The important thing is that the API doesn’t care what platform or language you use for your existing infrastructure. Citizen Space is written in Python and uses the Zope application framework, but other organisations may use WordPress, .net or Drupal for their websites, which are written in other languages such as PHP. Using the API, your tech team can use the languages and platforms that are familiar to them, but still access and manipulate the data held in Citizen Space.
Version 1 of Citizen Space’s API (included with April’s release of Citizen Space) is all about getting public consultation details out of the system so that you can include them in your own site. We’re providing ways to embed search forms, search results, consultation listings and consultation overview pages into your site.
But that’s only the first step. Version 1 of the API provides all of its output in simple, cleanly formatted HTML. This is quick and easy to work with, but we’d like to build on it by providing other output formats such as JSON and XML. We also want to publish more plugins for other systems, code snippets and example projects, because even we haven’t investigated all the exciting opportunities that this API provides. We’ve set ourselves up on Github, so all our Citizen Space integration projects will live there.
Looking further ahead, we’re going to think about how the API could be extended to include data from Citizen Space’s admin areas (with suitable authentication of course). For example, would you like to check your organisation’s intranet dashboard and see how many responses your QuickConsult consultations have had? We also want to consider how the API could be used to get information into Citizen Space.
Is there information in Citizen Space that you’d particularly like to access from elsewhere? Are there applications you’d like Citizen Space to play more nicely with? Are you using our API already? We’d love to hear from you.