1 | # @androozka/zendesk-api-js
|
2 |
|
3 | ![npm](https://img.shields.io/npm/v/@androozka/zendesk-api-js?logo=npm)
|
4 | [![Travis (.com)](https://img.shields.io/travis/com/androozka/zendesk-api-js?logo=travis)](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 |
|
11 | A 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
|
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
|
38 | const base64 = require('js-base64').Base64;
|
39 | const axios = require('axios');
|
40 | ```
|
41 |
|
42 | ### Zendesk account information
|
43 |
|
44 | ```javascript
|
45 | const instance = ''; // Name of Zendesk instance
|
46 | const email = ''; // Email address of Zendesk user
|
47 | const token = ''; // Generated Zendesk token
|
48 |
|
49 | const encoded = base64.encode(`${email}/token:${token}`);
|
50 |
|
51 | const headers = {
|
52 | 'Content-Type': 'application/json',
|
53 | Authorization: `Basic ${encoded}`
|
54 | };
|
55 | ```
|
56 |
|
57 | ### Choose framework version
|
58 |
|
59 | ```javascript
|
60 | const zdApi = require('@androozka/zendesk-api-js');
|
61 | const zaf_v2 = zdApi.v2({ instance, headers });
|
62 | ```
|
63 |
|
64 | - _**Note**: Only v2, [v1 being deprecated](https://support.zendesk.com/hc/en-us/articles/360002106888-Removal-of-Zendesk-Apps-framework-v1)_
|
65 |
|
66 | ### Selecting API endpoints
|
67 |
|
68 | ```javascript
|
69 | const { support, sunshine } = zaf_v2;
|
70 | ```
|
71 |
|
72 | ## Examples
|
73 |
|
74 | ### Add tags to a ticket
|
75 |
|
76 | ```javascript
|
77 | try {
|
78 | const data = { tags: ['tag_1', 'tag_2', ... ] }
|
79 | const req = support.tags.add({ type: 'tickets', id: 123, data });
|
80 | const res = await axios(req);
|
81 | } catch (error) {
|
82 | // ...
|
83 | }
|
84 | ```
|
85 |
|
86 | ## API Coverage Status
|
87 |
|
88 | ### Support API
|
89 |
|
90 | Search, Users, End Users, Groups, Group Memberships, Custom Agent Roles, Organizations, Tickets, Ticket Import, Suspended Tickets, Ticket Comments, Ticket Metrics, Ticket Activities, Tags, Views, Ticket Forms, Ticket Fields, User Fields, Organization Fields
|
91 |
|
92 | #### Under Construction
|
93 |
|
94 | - [ ] Brands
|
95 | - [ ] User Identities
|
96 | - [ ] User Passwords
|
97 | - [ ] Organization Subscriptions
|
98 | - [ ] Organization Memberships
|
99 | - [ ] Requests
|
100 | - [ ] Ticket Audits
|
101 | - [ ] Ticket Skips
|
102 | - [ ] Ticket Metric Events
|
103 | - [ ] Attachments
|
104 | - [ ] Satisfaction Ratings
|
105 | - [ ] Satisfaction Reasons
|
106 | - [ ] Sessions
|
107 | - [ ] Triggers
|
108 | - [ ] Automations
|
109 | - [ ] SLA Policies
|
110 | - [ ] Targets
|
111 | - [ ] Target Failures
|
112 | - [ ] Macros
|
113 | - [ ] Dynamic Content
|
114 | - [ ] Locales
|
115 | - [ ] Schedules
|
116 | - [ ] Sharing Agreements
|
117 | - [ ] Support Addresses
|
118 | - [ ] Job Statuses
|
119 | - [ ] Skill-based Routing
|
120 | - [ ] Incremental Skill-based Routing
|
121 | - [ ] Workspaces
|
122 | - [ ] Apps
|
123 | - [ ] App Installation Locations
|
124 | - [ ] App Locations
|
125 | - [ ] OAuth Clients
|
126 | - [ ] OAuth Tokens
|
127 | - [ ] OAuth Tokens for Grant Types
|
128 | - [ ] Authorized Global Clients
|
129 | - [ ] Account Settings
|
130 | - [ ] Audit Logs
|
131 | - [ ] Bookmarks
|
132 | - [ ] Push Notification Devices
|
133 | - [ ] Resource Collections
|
134 | - [ ] Channel Framework
|
135 | - [ ] Twitter Channel
|
136 |
|
137 | ### APIs Up Next
|
138 |
|
139 | - Sunshine API
|
140 | - Help Center API
|
141 | - Chat API
|
142 | - Talk API
|
143 | - Sell API
|
144 | - Answer Bot API
|
145 | - Status API
|
146 | - Reseller API
|
147 | - NPS API
|