@hartmannindustries/trackvia-sdk
TypeScript icon, indicating that this package has built-in type declarations

1.2.1 • Public • Published

TrackVia SDK

SDK for working with data from TrackVia

Getting Started

Installation

    npm install @hartmannindustries/trackvia-sdk --save

or

    yarn add @hartmannindustries/trackvia-sdk

Initialization

  • Login to your Trackvia account and navigate to My Account -> API Access.
  • Copy down the API key and generate a new Auth token for your user.
  • Create a new object called config to pass to the TrackViaSDK constructor
    import { TrackViaSDK } from '@hartmannindustries/trackvia-sdk';

    // create configuration object
    const config = {
        apiKey: 'your api key',
        authToken: 'your auth token',
        host: '' // optional - if TrackVia provides you with a 
        // different url than https://go.trackvia.com, you can specify it here, 
        // otherwise don't specify a host
    };

    // initialize constructor
    const sdk = new TrackViaSDK(config);

API methods

  1. Get all users in your TrackVia account, paging optional
    /**     
     *  @param - {object} - paging? - { start: number, max: number }
     *  @returns - {array} - users
     ** /
    const users = await sdk.getUsers({ start: 0, max: 2 });
  1. Add new user
    /**
     * @param {object} - user - { email, firstName, lastName, timeZone? }
     * @return {array} - new user
     ** /
    const user = {
        email: 'user@email.com',
        firstName: 'First Name',
        lastName: 'Last Name',
        timeZone: 'timezone'
    };

    const createUser = await sdk.addUser(user);
  1. Get all apps in your account
    const apps = await sdk.getApps();
  1. Get app by name
    /**
     * @param {string} - name - app name
     * @return {array} - app
     ** /
     const app = await sdk.getAppByName('Project Tracking');
  1. Get all views
    const views = await sdk.getViews();
  1. Get View
    /**
     * @param {number} - viewId
     * @param {object} - Paging { start: Number, max: Number }
     * @param {string} - q - query string
     * @return {object} - view
     ** /
    const view = sdk.getView(3, { start: 0, max: 5 }, q: 'query')
  1. Get view by name
    /**
     * @param {string} - name - view name
     * @return {array} - view
     ** /
     const view = await sdk.getViewByName('All Tasks');
  1. Get Record
    /**
     * @param {number} - viewId
     * @param {number} - recordId
     * @return {array} - view
     ** /
     const record = await sdk.getRecord(3, 6);
  1. Add Record
    /**
     * @param {number} - viewId
     * @param {object} - new record
     ** /
     const record = await sdk.addRecord(3, {
        name: 'Name',
        address: 'Address'
     });
  1. Update Record
    /**
     * @param {number} - viewId
     * @param {number} - recordId
     * @param {object} - record
     ** /
     const record = await sdk.addRecord(3, 6, {
        name: 'Name',
        address: 'Address Updated'
     });
  1. Delete all records in view
    /**
     * @param {number} - viewId 
     ** /
    const deleteRecords = await sdk.deleteAllRecordsInView(3); 
  1. Delete a record in view
    /**
     *  @description Delete a record in view
     *  @param {number} - viewId
     *  @param {number} - recordId
     ** /
     const deleteRecord = await sdk.deleteRecord(3, 9);
  1. Get File
    /**
     *  @description Get a file
     *  @param {number} - viewId
     *  @param {number} - recordId
     *  @param {string} - fieldName 
     *  @param {object?} - { width?, maxDimension? }     
     **/
    const getFile = await sdk.getFile(3, 6, 'Image', { width: 200, maxDimension: 200 });
  1. Attach File
    /**
     *  @description Attach a file
     *  @param {number} - viewId
     *  @param {number} - recordId
     *  @param {string} - fieldName 
     *  @param {string} - filePath   
     **/
    const attachFile = await sdk.attachFile(3, 6, 'Image', 'path/to/image/file.jpg');
  1. Delete File
    /**
     *  @description Delete a file 
     *  @param {number} - viewId
     *  @param {number} - recordId
     *  @param {string} - fieldName 
     **/
    const deleteFile = await sdk.deleteFile(3, 6, 'Image');

Package Sidebar

Install

npm i @hartmannindustries/trackvia-sdk

Weekly Downloads

0

Version

1.2.1

License

GPL-3.0-or-later

Unpacked Size

1.57 MB

Total Files

19

Last publish

Collaborators

  • bogdanm82
  • jacob.hartmannindustries