@apideck/node

Apideck Node.js SDK

Usage no npm install needed!

<script type="module">
  import apideckNode from 'https://cdn.skypack.dev/@apideck/node';
</script>

README

Apideck Node.js SDK

Table of Contents

Installation

Install the latest SDK using npm:

$ npm install @apideck/node

or Yarn

$ yarn add @apideck/node

Getting started

The module supports all Apideck API endpoints. For complete information about the API, head to the docs.

Configuration

A new Apideck instance is initialized by passing in required settings to the configuration.

import Apideck from '@apideck/node';

const apideck = new Apideck({
  apiKey: '<insert-api-key-here>',
  appId: '<insert-application-id-here>',
  consumerId: '<insert-consumer-id-here>'
})

const { crm } = apideck

Top level parameters (except for apiKey) can be overriden in specific resource calls.

// Declare Unify Api to use
const { crm } = apideck

// Override consumerId serviceId as declared in initial configuration for this operation.
const response = await crm.contactsAll({
  // serviceId: 'salesforce', // optional
  limit: '10'
})

Example

Retrieving a list of all contacts and updating the first record with a new address.


import Apideck, { PhoneNumberType } from '@apideck/node';

const apideck = new Apideck({
  apiKey: '<insert-api-key-here>',
  appId: '<insert-application-id-here>',
  consumerId: '<insert-consumer-id-here>'
})

const { crm } = apideck

const { data } = await crm.contactsAll({
  limit: 10
})

const result = await crm.contactsUpdate({
  id: data[0].id!,
  contact: {
    name: "John Doe",
    first_name: "John",
    last_name: "Doe",
    addresses: [{
      city: "Hoboken",
      line1: "Streetname 19",
      state: "NY"
    }],
    phone_numbers: [{
      number: '0486565656',
      phoneType: PhoneNumberType.Home
    }]
  }
})

console.info(result)

Apideck Unified Apis

The following Apis are currently available:

AccountingApi

Read the full documentation of the AccountingApi here.

AtsApi

Read the full documentation of the AtsApi here.

ConnectorApi

Read the full documentation of the ConnectorApi here.

CrmApi

Read the full documentation of the CrmApi here.

CustomerSupportApi

Read the full documentation of the CustomerSupportApi here.

FileStorageApi

Read the full documentation of the FileStorageApi here.

HrisApi

Read the full documentation of the HrisApi here.

LeadApi

Read the full documentation of the LeadApi here.

PosApi

Read the full documentation of the PosApi here.

SmsApi

Read the full documentation of the SmsApi here.

VaultApi

Read the full documentation of the VaultApi here.

WebhookApi

Read the full documentation of the WebhookApi here.

Utils

uploadFile

A utility for uploading files using the File Storage API. uploadFile will automatically use upload sessions for files larger than 4MB. Smaller files will be uploaded with a simple upload call.

Example Usage

const apideck = new Apideck({
  apiKey: '<insert-api-key-here>',
  appId: '<insert-application-id-here>',
  consumerId: '<insert-consumer-id-here>'
});


const file = await apideck.utils.uploadFile({
  serviceId: 'dropbox',
  file: buffer, // Buffer | string
  name: "test.jpg",
  size: fileSize, // file size in bytes
  contentType: "image/jpg", // optional
});

Support

Open an issue!

License

MIT