knack-api
v2.0.0
Published
Knack API
Downloads
211
Readme
What is this?
This is for view based requests on the Knack platform. If you need the object based requests, use our other npm package: knack-object-api.
API for Knack for all CRUD operations (GET, POST, PUT, DELETE). This is recursive upon failure and takes function parameters to specify the data you are requesting/changing. This is for both Javascript and TypeScript. To use TypeScript, add /ts when importing/requiring
Installation
npm i knack-api --save
Then...
import { knack_api } from 'knack-api';
or
const { knack_api } = require('knack-api');
For TypeScript, use:
import { knack_api } from 'knack-api/ts';
or
const { knack_api } = require('knack-api/ts');
const settings = {
sceneKey: 'scene_xx',
viewKey: 'view_xx',
// optional parameters depending on operation
page: '',
recordId: '',
payload: {
field_xx: '',
},
filters: {
'match': 'and'/'or',
'rules': [
{
'field': 'field_xx',
'operator': '',
'value': ''
}
]
},
// sort can be given as a single object such as the example below, or an array of objects to further sort data
sort: {
field: 'field_xx',
order: 'asc'/'desc'
},
// limit records per page ( anything up to 100 )
rowsPerPage: 50,
// limit how many records are retrieved
recordLimit: 25 ,
// cb is callback - this will be called after every request (ex. if we need 5,000 records, 5 requests are needed and this will be triggered after each one)
// all records will still be stored in memory until all requests are finished - a new version will introduce only using the callbacks so storing records in memory is not needed
cb: function(data) {
console.log('data from every request', data);
}
}
knack_api.get(settings),
knack_api.put(settings),
knack_api.post(settings),
knack_api.deletion(settings)
You can also filter the resulted records by either entering an array of the fields you want in ".include([])" or the fields you want to exclude with ".exclude([])"
example:
const results = await knack_api.get(settings).include(['field_xx', 'field_xx'])
const results = await knack_api.get(settings).exclude(['field_xx'])
Contact
ksensetech.com