Home

Backend HTTP

Helper module for working with znHttp in Zengine backend Plugins.

Coverage Status Build Status npm version

Installation

npm i @zenginehq/backend-http

Usage

Bulk fetching records

var $api = require('@zenginehq/backend-http')();

// Example Response success and failure handlers.
znHttp().get(path)
  .then($api.formatResponse)
  .then(data => {
    // data will be the Zengine object(s) you requested without all the metadata distractions
  })
  .catch($api.errHandler);

// Fetch *all* records across multiple pages if available, with any special parameters included in the second arg.
$api.fetchBatched(path, { limit: 100, 'not-field123': 'some value' })
  .then(results => {
    console.log(results.length);
  });

Record CRUD

// Load an existing record.
$api.getRecord(formId, recordId).then(record => {
    // do something with `record`
});

// Update an existing record. data should be a single object
$api.updateRecord(formId, recordId, data);

// Delete an existing record.
$api.deleteRecord(formId, recordId);

// Create a new record. data can be an array of objects or a single object
$api.createRecord(formId, data).then(recordId => {
  // the record ID(s) from the successful create (or update) operation.
  // Important: it will always be the ID(s), not the entire record(s)
});

// Move a record to a folder.
$api.moveRecord(formId, recordId, folderId);

Special Note To update multiple records on the same form, use the createRecord method and include the IDs of each object to ensure they are updated, rather than having new records created.

Other convenience methods

// Loads an activity by id, useful for working with webhooks.
const activity = await $api.getActivity(activityId);

// Loads a form by id.
const form = await $api.getForm(formId);

API Docs

Full documentation