@androozka/zendesk-api-js
Version:
A JS library for interacting with the Zendesk API.
150 lines (115 loc) • 3.96 kB
Markdown
# @androozka/zendesk-api-js

[](https://travis-ci.com/androozka/zendesk-api-js)
[](https://codecov.io/gh/androozka/zendesk-api-js)
[](https://david-dm.org/androozka/zendesk-api-js)
[](https://packagephobia.now.sh/result?p=@androozka/zendesk-api-js)
[](http://npm-stat.com/charts.html?package=@androozka/zendesk-api-js)

A JS library for interacting with the Zendesk API.
## Features
- Generates Zendesk API request objects 😎
- Send prepared object directly to axios 🤯
- Mirrors [Zendesk's API documentation](https://developer.zendesk.com/rest_api/docs/zendesk-apis/resources) 👀
_**Note**: Only v2 framework, [v1 deprecated](https://support.zendesk.com/hc/en-us/articles/360002106888-Removal-of-Zendesk-Apps-framework-v1)_
## Installing
```bash
# using npm
npm install @androozka/zendesk-api-js
# using yarn
yarn add @androozka/zendesk-api-js
```
## Usage
### Getting Started
```javascript
const axios = require('axios'); // Suggested library
const zdApi = require('@androozka/zendesk-api-js');
```
### Zendesk Info
```javascript
const options = {
instance: '', // Zendesk subdomain
email: '', // User account to perform requests
password: '', // Password for user account
token: '' // Generated Zendesk token
};
/* Note: Either "password" or "token" is required */
```
### Initalize
```javascript
// Load entire library
const { support, sunshine } = zdApi.init(options);
// Load entire API
const { tickets, groups } = zdApi.support.init(options);
// Load specific endpoint
const { list, create } = zdApi.support.tickets(options);
```
## Examples
### Add tags to a ticket
```javascript
try {
const { tags } = zdApi.support.init(options);
const data = { tags: ['tag_1', 'tag_2', ... ] }
const req = tags.add({ type: 'tickets', id: 123, data });
const res = await axios(req);
} catch (error) {
// ...
}
```
## API Coverage Status
### Support API
Search, Users, End Users, Groups, Group Memberships, Custom Agent Roles, Organizations, Organization Subscriptions, Organization Memberships, Tickets, Ticket Import, Satisfaction Ratings, Satisfaction Reasons, Suspended Tickets, Ticket Audits, Ticket Comments, Ticket Skips, Ticket Metrics, Ticket Activities, Tags, Views, Ticket Forms, Ticket Fields, User Fields, Organization Fields, Job Statuses, Audit Logs
### Sunshine API
Custom Object Types, Custom Object Records, Relationship Types, Relationship Records
### Under Construction
#### Support
- [ ] Brands
- [ ] User Identities
- [ ] User Passwords
- [ ] Requests
- [ ] Ticket Metric Events
- [ ] Attachments
- [ ] Sessions
- [ ] Triggers
- [ ] Automations
- [ ] SLA Policies
- [ ] Targets
- [ ] Target Failures
- [ ] Macros
- [ ] Dynamic Content
- [ ] Locales
- [ ] Schedules
- [ ] Sharing Agreements
- [ ] Support Addresses
- [ ] Skill-based Routing
- [ ] Incremental Skill-based Routing
- [ ] Workspaces
- [ ] Apps
- [ ] App Installation Locations
- [ ] App Locations
- [ ] OAuth Clients
- [ ] OAuth Tokens
- [ ] OAuth Tokens for Grant Types
- [ ] Authorized Global Clients
- [ ] Account Settings
- [ ] Bookmarks
- [ ] Push Notification Devices
- [ ] Resource Collections
- [ ] Channel Framework
- [ ] Twitter Channel
#### Sunshine
- [ ] Custom Objects Events
- [ ] Jobs
- [ ] Limits
- [ ] Events
- [ ] Profiles
- [ ] People
### APIs Up Next
- Help Center API
- Chat API
- Talk API
- Sell API
- Answer Bot API
- Status API
- Reseller API
- NPS API