UNPKG

knack-api

Version:
73 lines (60 loc) 2.33 kB
# 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