UNPKG

3.34 kBMarkdownView Raw
1# @androozka/zendesk-api-js
2
3![travis_ci](https://travis-ci.org/androozka/zendesk-api-js.svg?branch=master)
4[![codecov](https://codecov.io/gh/androozka/zendesk-api-js/branch/master/graph/badge.svg)](https://codecov.io/gh/androozka/zendesk-api-js)
5![David](https://img.shields.io/david/androozka/zendesk-api-js)
6[![install size](https://packagephobia.now.sh/badge?p=@androozka/zendesk-api-js)](https://packagephobia.now.sh/result?p=@androozka/zendesk-api-js)
7[![npm downloads](https://img.shields.io/npm/dt/@androozka/zendesk-api-js)](http://npm-stat.com/charts.html?package=@androozka/zendesk-api-js)
8![twitter follow](https://img.shields.io/twitter/follow/androozka?label=Follow&style=social)
9
10A JS library for interacting with the Zendesk API.
11
12## Features
13
14- Generates Zendesk API request objects
15- Send prepared object directly to axios
16- Mirrors Zendesk's API documentation
17- No dependencies
18
19## Installing
20
21### Using npm
22
23```bash
24$ npm install @androozka/zendesk-api-js
25```
26
27### Using yarn
28
29```bash
30$ yarn 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- [ ] Users
83- [ ] User Identities
84- [ ] User Passwords
85- [ ] End Users
86- [ ] Groups
87- [ ] Group Memberships
88- [ ] Custom Agent Roles
89- [ ] Organizations
90- [ ] Organization Subscriptions
91- [ ] Organization Memberships
92- [ ] Requests
93- [x] Tickets
94- [ ] Ticket Import
95- [ ] Attachments
96- [ ] Satisfaction Ratings
97- [ ] Satisfaction Reasons
98- [ ] Suspended Tickets
99- [ ] Ticket Audits
100- [ ] Ticket Comments
101- [ ] Ticket Skips
102- [x] Ticket Metrics
103- [ ] Ticket Metric Events
104- [ ] Ticket Activities
105- [ ] Sessions
106- [x] Tags
107- [ ] Views
108- [ ] Triggers
109- [ ] Automations
110- [ ] SLA Policies
111- [ ] Targets
112- [ ] Target Failures
113- [ ] Macros
114- [ ] Brands
115- [ ] Dynamic Content
116- [ ] Locales
117- [ ] Schedules
118- [ ] Sharing Agreements
119- [ ] Support Addresses
120- [ ] Ticket Forms
121- [ ] Ticket Fields
122- [ ] User Fields
123- [ ] Organization Fields
124- [ ] Job Statuses
125- [ ] Skill-based Routing
126- [ ] Incremental Skill-based Routing
127- [ ] Workspaces
128- [ ] Apps
129- [ ] App Installation Locations
130- [ ] App Locations
131- [ ] OAuth Clients
132- [ ] OAuth Tokens
133- [ ] OAuth Tokens for Grant Types
134- [ ] Authorized Global Clients
135- [ ] Account Settings
136- [ ] Audit Logs
137- [ ] Bookmarks
138- [ ] Push Notification Devices
139- [ ] Resource Collections
140- [ ] Channel Framework
141- [ ] Twitter Channel
142
143### ToDo
144
145- Sunshine API
146- Help Center API
147- Chat API
148- Talk API
149- Sell API
150- Answer Bot API
151- Status API
152- Reseller API
153- NPS API