A small node module that helps integration your application with FreshDesk. There is still several API endpoints with FreshDesk that is not implemented in this implementation. Feel free to fork and make pull requests, or adding issues as you please.
npm install node-freshdesk
After having installed it, simply require it, set it up with your own url and API-key, and start calling methods!
var freshdeskAPI = require('node-freshdesk');
var freshdesk = new freshdeskAPI(
'https://yourcompanyname.freshdesk.com',
'YourAwesomeAPIKeyThatsQuiteLong');
freshdesk.callMethods();
Functions | Returns to callback | Explanation |
---|---|---|
get (link, callback) | callback(err, res, body) | Base function for using get on FreshDesk API. Can be used if non-implemented API call needed. |
put (link, data, callback) | callback(err, res, body) | Base function for using put on FreshDesk API. Can be used if non-implemented API call needed. |
post (link, data, callback) | callback(err, res, body) | Base function for using post on FreshDesk API. Can be used if non-implemented API call needed. |
postTicket (ticket, callback) | callback(err, res, body) | Posts a single Ticket |
putTicket (id, ticket, callback) | callback(err, res, body) | Updates a ticket by id. |
getTickets (callback) | callback(err, res, body) | Provides all tickets. |
getTicket (id, callback) | callback(err, res, body) | Provides single ticket. |
postNoteToTicket (id, note, is_private, callback) | callback(err, res, body) | Posts a note (update-event) on a ticket. set is_private to true if you do not wish the requestor to be able to read the comment |
postContact (contact, callback) | callback(err, res, body) | Adds a contact |
putContact (id, contact, callback) | callback(err, res, body) | Updates a contact |
getContacts (callback) | callback(err, res, body) | Provides all contacts (that are not deleted) |
getContactByEmail (email, callback) | callback(contact) | Provides single contact if it exists, and is not deleted. Else it returns null. |
var example_ticket = {
'helpdesk_ticket': {
'description':'A totally rad description of a what the problem is',
'subject':'Something like "Cannot log in"',
'email': '[email protected]',
}
};
freshdesk.postTicket(
example_ticket,
function(err, res, body) {
if (err)
console.log('something is not right');
else {
console.log('We got a ticket posted to FreshyFresh, it is right here in the body:');
console.log(body)
}
}
);
var ticketupdate = {
'helpdesk_ticket': {
'description':'A new description.',
'status': 3,
}
};
freshdesk.putTicket(12, ticketupdate, function(err, res, body) {
// Handle the callback.
}
freshdesk.getContactByEmail('[email protected]', function(user) {
if (user === null)
console.log('we did not find your user');
else {
console.log('We got you, man!');
console.log(user);
}
});