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 | _**Note**: Only v2 framework, [v1 deprecated](https://support.zendesk.com/hc/en-us/articles/360002106888-Removal-of-Zendesk-Apps-framework-v1)_
|
20 |
|
21 | ## Installing
|
22 |
|
23 | ```bash
|
24 | # using npm
|
25 | npm install @androozka/zendesk-api-js
|
26 |
|
27 | # using yarn
|
28 | yarn add @androozka/zendesk-api-js
|
29 | ```
|
30 |
|
31 | ## Usage
|
32 |
|
33 | ### Getting Started
|
34 |
|
35 | ```javascript
|
36 | const axios = require('axios'); // Suggested library
|
37 | const zdApi = require('@androozka/zendesk-api-js');
|
38 | ```
|
39 |
|
40 | ### Zendesk Info
|
41 |
|
42 | ```javascript
|
43 | const options = {
|
44 | instance: '', // Zendesk subdomain
|
45 | email: '', // User account to perform requests
|
46 | password: '', // Password for user account
|
47 | token: '' // Generated Zendesk token
|
48 | };
|
49 | /* Note: Either "password" or "token" is required */
|
50 | ```
|
51 |
|
52 | ### Initalize
|
53 |
|
54 | ```javascript
|
55 | // Load entire library
|
56 | const { support, sunshine } = zdApi.init(options);
|
57 |
|
58 | // Load entire API
|
59 | const { tickets, groups } = zdApi.support.init(options);
|
60 |
|
61 | // Load specific endpoint
|
62 | const { list, create } = zdApi.support.tickets(options);
|
63 | ```
|
64 |
|
65 | ## Examples
|
66 |
|
67 | ### Add tags to a ticket
|
68 |
|
69 | ```javascript
|
70 | try {
|
71 | const { tags } = zdApi.support.init(options);
|
72 | const data = { tags: ['tag_1', 'tag_2', ... ] }
|
73 |
|
74 | const req = tags.add({ type: 'tickets', id: 123, data });
|
75 |
|
76 | const res = await axios(req);
|
77 | } catch (error) {
|
78 | // ...
|
79 | }
|
80 | ```
|
81 |
|
82 | ## API Coverage Status
|
83 |
|
84 | ### Support API
|
85 |
|
86 | 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
|
87 |
|
88 | ### Sunshine API
|
89 |
|
90 | Custom Object Types, Custom Object Records, Relationship Types, Relationship Records
|
91 |
|
92 | ### Under Construction
|
93 |
|
94 | #### Support
|
95 |
|
96 | - [ ] Brands
|
97 | - [ ] User Identities
|
98 | - [ ] User Passwords
|
99 | - [ ] Requests
|
100 | - [ ] Ticket Metric Events
|
101 | - [ ] Attachments
|
102 | - [ ] Sessions
|
103 | - [ ] Triggers
|
104 | - [ ] Automations
|
105 | - [ ] SLA Policies
|
106 | - [ ] Targets
|
107 | - [ ] Target Failures
|
108 | - [ ] Macros
|
109 | - [ ] Dynamic Content
|
110 | - [ ] Locales
|
111 | - [ ] Schedules
|
112 | - [ ] Sharing Agreements
|
113 | - [ ] Support Addresses
|
114 | - [ ] Skill-based Routing
|
115 | - [ ] Incremental Skill-based Routing
|
116 | - [ ] Workspaces
|
117 | - [ ] Apps
|
118 | - [ ] App Installation Locations
|
119 | - [ ] App Locations
|
120 | - [ ] OAuth Clients
|
121 | - [ ] OAuth Tokens
|
122 | - [ ] OAuth Tokens for Grant Types
|
123 | - [ ] Authorized Global Clients
|
124 | - [ ] Account Settings
|
125 | - [ ] Bookmarks
|
126 | - [ ] Push Notification Devices
|
127 | - [ ] Resource Collections
|
128 | - [ ] Channel Framework
|
129 | - [ ] Twitter Channel
|
130 |
|
131 | #### Sunshine
|
132 |
|
133 | - [ ] Custom Objects Events
|
134 | - [ ] Jobs
|
135 | - [ ] Limits
|
136 | - [ ] Events
|
137 | - [ ] Profiles
|
138 | - [ ] People
|
139 |
|
140 | ### APIs Up Next
|
141 |
|
142 | - Help Center API
|
143 | - Chat API
|
144 | - Talk API
|
145 | - Sell API
|
146 | - Answer Bot API
|
147 | - Status API
|
148 | - Reseller API
|
149 | - NPS API
|