Security News
Fluent Assertions Faces Backlash After Abandoning Open Source Licensing
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
zendesk-node-api
Advanced tools
A wrapper library for Zendesk using NodeJS
Install the package via npm
$ npm install zendesk-node-api
Create a new instance of Zendesk passing in your Zendesk URL, email and API token.
var Zendesk = require('zendesk-node-api');
var zendesk = new Zendesk({
url: YOUR_ZENDESK_URL, // https://example.zendesk.com
email: YOUR_ZENDESK_EMAIL, // me@example.com
token: YOUR_ZENDESK_API_TOKEN // hfkUny3vgHCcV3UfuqMFZWDrLKms4z3W2f6ftjPT
});
You can also use a OAuth2 authentication to get the token, then you need to create a new instance of Zendesk like this:
var Zendesk = require('zendesk-node-api');
var zendesk = new Zendesk({
url: YOUR_ZENDESK_URL, // https://example.zendesk.com
token: YOUR_ZENDESK_OAUTH_TOKEN // hfkUny3vgHCcV3UfuqMFZWDrLKms4z3W2f6ftjPT,
oauth: true
});
Please note that when using OAuth token you won't need an e-mail.
According to the Zendesk documentation OAuth2 token will never expire, so no need to refresh it. More information about it you can find here.
tickets
ticketFields
users
userFields
macros
search
- Only .list(/* URL params */)
method.I'll be adding more objects, I'm aiming for 100% test coverage so it may take a little time.
Return an array of all items in the object
zendesk.objects.list(
// (Optional) URL params available for each object.
// https://developer.zendesk.com/rest_api/docs/core/
).then(function(result){
console.log(result);
});
Return an item from an ID
zendesk.objects.show(OBJECT_ID).then(function(result){
console.log(result);
});
Create an item using keys and values from the Zendesk documentation.
zendesk.objects.create({
// keys and values from the zendesk docs
// https://developer.zendesk.com/rest_api/docs/core/
}).then(function(result){
// result == true
})
Update an item from and ID using keys and values from the Zendesk documentation.
zendesk.objects.update(OBJECT_ID, {
// keys and values from the zendesk docs
// https://developer.zendesk.com/rest_api/docs/core/
}).then(function(result){
console.log(result);
})
Delete an item from ID
zendesk.objects.delete(OBJECT_ID).then(function(result){
// result == true
});
// List all tickets
zendesk.tickets.list().then(function(tickets){
console.log(tickets);
});
// List all tickets and sort by status and order descendent
// https://developer.zendesk.com/rest_api/docs/core/tickets#list-tickets
zendesk.tickets.list('sort_by=status&sort_order=desc').then(function(tickets){
console.log(tickets);
});
// Show a single ticket
zendesk.tickets.show(TICKET_ID).then(function(ticket){
console.log(ticket);
});
// Create a ticket
zendesk.tickets.create({
subject: 'A new ticket',
comment: {
body: 'A ticket created with zendesk-node-api'
}
}).then(function(result){
console.log(result);
});
// Update a ticket
zendesk.tickets.update(TICKET_ID, {
subject: 'An updated subject'
}).then(function(result){
console.log(result);
});
// Delete a ticket
zendesk.tickets.delete(TICKET_ID).then(function(result){
// result == true
});
// List all open tickets
zendesk.search.list('query=type:ticket status:open').then(function(results){
console.log(results);
});
.env.example
to .env
and add your Zendesk URL, email and API token.test/models/config.js.example
to /test/models/config.js
.npm test
, some of the tests will fail, don't worry about it for now./test/models/config.js
using IDs found from CURL. (see example below)npm test
, if your configuration is set correctly, there should be no failing tests.# Tickets
curl https://{subdomain}.zendesk.com/api/v2/tickets.json -v -u {email_address}:{password}
# Users
curl https://{subdomain}.zendesk.com/api/v2/users.json -v -u {email_address}:{password}
# User fields
curl https://{subdomain}.zendesk.com/api/v2/user_fields.json -v -u {email_address}:{password}
# Macros
curl https://{subdomain}.zendesk.com/api/v2/macros.json -v -u {email_address}:{password}
FAQs
A wrapper library for Zendesk API using NodeJS
The npm package zendesk-node-api receives a total of 1,219 weekly downloads. As such, zendesk-node-api popularity was classified as popular.
We found that zendesk-node-api demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Fluent Assertions is facing backlash after dropping the Apache license for a commercial model, leaving users blindsided and questioning contributor rights.
Research
Security News
Socket researchers uncover the risks of a malicious Python package targeting Discord developers.
Security News
The UK is proposing a bold ban on ransomware payments by public entities to disrupt cybercrime, protect critical services, and lead global cybersecurity efforts.