This is a Zendesk client implementation written in Java using AsyncHttpClient and Jackson.
Start by creating a Zendesk
instance
Zendesk zd = new Zendesk.Builder("https://{{your domain}}.zendesk.com")
.setUsername("...")
.setToken("...") // or .setPassword("...")
.build();
If you are behind a proxy, or want to otherwise control the lifecycle of the AsyncHttpClient
instance
you should pass that through to the builder too. If you don't pass an AsyncHttpClient
instance to the builder
it will create its own which will be closed by the Zendesk.close()
method.
Where methods return paged data sets, an Iterable
is returned that will lazy-fetch one page at a time until
all records have been fetched, so e.g.
for (Ticket ticket: zd.getTickets()) {
...
}
will iterate through all tickets. Most likely you will want to implement your own cut-off process to stop iterating when you have got enough data.
Here is the status of the various API components:
- Tickets ✓
- Ticket Audits ✓
- Incremental Export - Partial (tickets, users, organizations only)
- Ticket Fields ✓
- Ticket Import ✓
- Ticket Metrics ✓
- Ticket Forms getTicketForm() and getTicketForms()
- Views
- Users ✓
- User Fields - Partial - List User Fields (
getUserField()
) - Requests ✓
- User Identities ✓
- Groups ✓
- Group Membership ✓
- Custom Agent Roles ✓
- Organizations ✓ except for related info
- Search ✓ except for topics and sort ordering
- Tags
- Forums ✓
- Forum Subscriptions
- Categories
- Topics ✓
- Post Comments
- Content Subscriptions
- Help Center Categories ✓
- Help Center Sections ✓
- Help Center Articles ✓
- Help Center Translations - Partial (List Translations, Update Translation, Delete Translation)
- Help Center Subscriptions
- Help Center Management Permission Groups
- Help Center User Segments
- Topic Votes
- Account Settings
- Activity Stream
- Attachments ✓
- Automations ✓
- Job Statuses ✓
- Locales
- Macros ✓ except for restrictions
- Satisfaction Ratings ✓
- Sharing Agreements
- Suspended Tickets
- Triggers ✓
- See releases