UNPKG

3.62 kBMarkdownView Raw
1# @androozka/zendesk-api-js
2
3![npm](https://img.shields.io/npm/v/@androozka/zendesk-api-js)
4[![Build Status](https://travis-ci.com/androozka/zendesk-api-js.svg?branch=master)](https://travis-ci.com/androozka/zendesk-api-js)
5[![codecov](https://codecov.io/gh/androozka/zendesk-api-js/branch/master/graph/badge.svg)](https://codecov.io/gh/androozka/zendesk-api-js)
6[![David](https://img.shields.io/david/androozka/zendesk-api-js)](https://david-dm.org/androozka/zendesk-api-js)
7[![install size](https://packagephobia.now.sh/badge?p=@androozka/zendesk-api-js)](https://packagephobia.now.sh/result?p=@androozka/zendesk-api-js)
8[![npm downloads](https://img.shields.io/npm/dt/@androozka/zendesk-api-js)](http://npm-stat.com/charts.html?package=@androozka/zendesk-api-js)
9![Twitter Follow](https://img.shields.io/twitter/follow/androozka?label=Follow&style=social)
10
11A JS library for interacting with the Zendesk API.
12
13## Features
14
15- Generates Zendesk API request objects 😎
16- Send prepared object directly to axios 🤯
17- Mirrors [Zendesk's API documentation](https://developer.zendesk.com/rest_api/docs/zendesk-apis/resources) 👀
18
19## Installing
20
21### Using npm
22
23```bash
24npm install @androozka/zendesk-api-js
25```
26
27### Using yarn
28
29```bash
30yarn add @androozka/zendesk-api-js
31```
32
33## Usage
34
35### Suggested libraries
36
37```javascript
38const base64 = require('js-base64').Base64;
39const axios = require('axios');
40```
41
42### Zendesk account information
43
44```javascript
45const instance = ''; // Name of Zendesk instance
46const email = ''; // Email address of Zendesk user
47const token = ''; // Generated Zendesk token
48
49const headers = {
50 'Content-Type': 'application/json',
51 Authorization: `Basic ${base64.encode(`${email}/token:${token}`)}`
52};
53```
54
55### Choose framework version
56
57```javascript
58const zaf_v2 = zdApi.v2({ instance, headers });
59```
60
61### Selecting API endpoints
62
63```javascript
64const { support, sunshine } = zaf_v2;
65```
66
67## Examples
68
69### Add tags to a ticket
70
71```javascript
72const data = { tags: ['tag_1', 'tag_2', ... ] }
73const req = support.tags.add({ type: 'tickets', id: 123, data });
74const res = await axios(req);
75```
76
77## API Coverage Status
78
79### Support API
80
81- [x] **Search**
82- [x] **Users**
83- [x] **Tickets**
84- [x] **Ticket Metrics**
85- [x] **Tags**
86
87#### Under Construction
88
89- [ ] Views
90- [ ] Organizations
91- [ ] Groups
92- [ ] Ticket Forms
93- [ ] Ticket Fields
94- [ ] User Fields
95- [ ] Organization Fields
96- [ ] Brands
97- [ ] User Identities
98- [ ] User Passwords
99- [ ] End Users
100- [ ] Group Memberships
101- [ ] Custom Agent Roles
102- [ ] Organization Subscriptions
103- [ ] Organization Memberships
104- [ ] Requests
105- [ ] Ticket Audits
106- [ ] Ticket Comments
107- [ ] Ticket Skips
108- [ ] Ticket Metric Events
109- [ ] Ticket Activities
110- [ ] Ticket Import
111- [ ] Attachments
112- [ ] Satisfaction Ratings
113- [ ] Satisfaction Reasons
114- [ ] Suspended Tickets
115- [ ] Sessions
116- [ ] Triggers
117- [ ] Automations
118- [ ] SLA Policies
119- [ ] Targets
120- [ ] Target Failures
121- [ ] Macros
122- [ ] Dynamic Content
123- [ ] Locales
124- [ ] Schedules
125- [ ] Sharing Agreements
126- [ ] Support Addresses
127- [ ] Job Statuses
128- [ ] Skill-based Routing
129- [ ] Incremental Skill-based Routing
130- [ ] Workspaces
131- [ ] Apps
132- [ ] App Installation Locations
133- [ ] App Locations
134- [ ] OAuth Clients
135- [ ] OAuth Tokens
136- [ ] OAuth Tokens for Grant Types
137- [ ] Authorized Global Clients
138- [ ] Account Settings
139- [ ] Audit Logs
140- [ ] Bookmarks
141- [ ] Push Notification Devices
142- [ ] Resource Collections
143- [ ] Channel Framework
144- [ ] Twitter Channel
145
146### APIs Up Next
147
148- Sunshine API
149- Help Center API
150- Chat API
151- Talk API
152- Sell API
153- Answer Bot API
154- Status API
155- Reseller API
156- NPS API