onepoint-node-sdk
v1.0.4
Published
OnePoint HCM REST API Node.js SDK
Downloads
15
Maintainers
Readme
OnePoint HCM Node.js REST API SDK
OnePoint HCM is a cloud-based HR and administration solution. Much of the functionality is available via the OnePoint REST API, and is constrained by security permissions assigned to the acting API user.
Examples
Below are a few usage examples.
Connecting
To connect, you must have a user account registered with the company in OnePoint, as well as the company's REST API key (generated and retrieved by admin users). The company short name can be found in company settings.
const OnePoint = require('onepoint-node-sdk');
var onePoint = new OnePoint({
username: 'your_username',
password: 'your_password',
companyShortName: 'company_short_name',
apiKey: 'your_api_key'
});
onePoint.connect((err) => {
// You are now connected
});
Disconnecting
After a connected client is closed, it will reject any further requests. Once it has completed all requests that are currently in the queue, the callback triggers.
// 1) close() is called
onePoint.close(() => {
// 3) All enqueued requests are now complete and the client is disconnected
});
// 2) Any further requests return an error
Reports
When dealing with reports, you can pass an options object with a query-like
structure to designate what kind of report(s) you want to run. All
report-related functions will return an array of results, even if one match
is found. The exception is when passing the report's unique identifier
(settingsId
) directly (see below).
Note that there are data size and row restrictions enforced by OnePoint depending on the time of day you run reports. More information here
List Reports
onePoint.listReports((err, reports) => {
// reports is an array of reports saved under the acting user account
//
// [
// {
// settingsId: 12345,
// savedName: 'Your Report Name'
// },
// ...
// ]
});
Get Report (query-like)
onePoint.getReport({
where: {
savedName: 'Your Report Name'
}
}, (err, reports) => {
// reports is an array of reports and results that match your filter
//
// [
// {
// settingsId: 12345,
// savedName: 'Your Report Name'
// },
// ...
// ]
});
Get Report (exact)
onePoint.getReport(12345, (err, report) => {
// reports is a single report object
//
// {
// settingsId: 12345,
// savedName: 'Your Report Name'
// }
});
Run Report (query-like)
Run reports that match a query-like filter. You can pass a report name directly as the first argument as shorthand.
onePoint.runReport({
where: {
savedName: 'Your Report Name'
}
}, (err, reports) => {
// reports is an array of reports and results that match your filter
//
// [
// {
// settingsId: 12345,
// savedName: 'Your Report Name',
// results: [
// {
// "Col1": "Val1",
// "Col2": "Val2"
// },
// ...
// ]
// },
// ...
// ]
});
// or
onePoint.runReport('Your Report Name', (err, reports) => {
// Same result as above
});
Run Report (exact)
Pass the report's System ID (you can find this in OnePoint via the web interface, or by listing/retrieving reports).
onePoint.runReport(12345, (err, reports) => {
// reports is a single report object with results
//
// {
// settingsId: 12345,
// savedName: 'Your Report Name',
// results: [
// {
// "Col1": "Val1",
// "Col2": "Val2"
// },
// ...
// ]
// }
});