TidyHQ API for NodeJS
This is a NodeJS wrapper for the TidyHQ API. It is a work in progress with V1 mostly complete and some support for V2 routes.
Refer to the TidyHQ V1 API Documentation and TidyHQ V2 API Documentation.
Roadmap
- Finish V2 routes
- Add tutorials, some are on the side/in the menu, under the
Tutorials
dropdown
Example Usage
Setup
const TidyHQ = require("../TidyHQ-Node");
const ACCESS_TOKEN="<your token>"
const thq = new TidyHQ(ACCESS_TOKEN);
Get the authenticated user
const contact = await thq.V2.Contacts.getContact();
console.log(contact)
{
data: {
id: 'fa50a4c0d7ef',
contact_id_reference: 1,
contact_id_number: 'MEM001',
display_name: 'Example User',
...
contact_links: []
},
status: 200,
statusText: 'OK',
success: true
}
Overriding default token
You can override the default token by passing in an access_token
in the options object on any request.
const contact = await thq.V2.Contacts.getContact('me', { access_token: '<token>'});
console.log(contact)
Keep in mind that you may not want to set a default access token if you are working with multiple tokens and will specify the token each time.
const thq = new TidyHQ("");
Failed request
Each request will return an object with data
, status
, statusText
and success
. If unsuccessful, message
is also returned which will be the Axios error message.
const contact = await thq.V2.Contacts.getContact('me', { access_token: 'mybadtoken'});
console.log(contact)
{
data: '',
status: 401,
statusText: 'Unauthorized',
message: 'Request failed with status code 401',
success: false
}
Type safety
There are types on every route with JSDoc, and generated documentation at https://s3ansh33p.github.io/TidyHQ-Node/, which can be built locally with npm run docs
.