Saturday, September 21, 2013

Zendesk API Programming

Zendesk API Programming


Zendesk is a terrific helpdesk ticketing system I've been using for the last year.  Last week I attended "Zendesk University" in Irvine, and was surprised to see over 200 participants!  It was an afternoon full of informative presentations, great networking discussions, and abundant Zendesk swag.

And it sparked my interest in their API.  In less than a day I was able to get command line access to Zendesk's API up and running.  Follow along, and you'll have your basic API interface running within an hour.

Step 1: You need access to Zendesk.  If you don't already have an account, sign up for one.  A single user account, with your own domain name, is only $12/year.  Go to:
http://www.zendesk.com.

Step 2: You need a command-line program called curl.  It provides very simple access to many types of data interfaces.  (Zendesk uses JSON, and decoding JSON is whole other article.)  Make sure you get both curl and the libcurl library; they're available at:
http://curl.haxx.se

Step 3: You're all set!  Now you just need to know the proper commands.  Two places to explore are:
http://developer.zendesk.com
http://developer.zendesk.com/documentation/rest_api/introduction.html

Here are a few queries to get you started (replace the email address, mydomain and mypassword with your own).  These all run inside your Windows command console:

To list all your Zendesk users:
   curl -k -u me@mydomain.com:mypassword https://mydomain.zendesk.com/api/v2/users.json

To list all your tickets:
   curl -k -u me@mydomain.com:mypassword https://mydomain.zendesk.com/api/v2/tickets.json

To list the contents of ticket #1234:
   curl -k -u me@mydomain.com:mypassword https://mydomain.zendesk.com/api/v2/tickets/1234.json

One of the biggest takeaways from Zendesk University was seeing how large the whole user-ecosystem is.  With over 30,000 business using Zendesk, and 200 million people (!), Zendesk has very active user and developer communities.  Check their website to find a conference or user group meeting near you.


My next step is to write a program to access the API which can both create and read tickets.  First I have to pick the language ... C#?  Java?  Or my old favorite VB.Net?  There are JSON libraries for all of them, as well as Python, PHP and Ruby.  What's your favorite?