Parcelvoy JS Client SDK
Find a file
2024-09-28 16:52:02 -05:00
.github Fixes key case and sending proper keys 2024-09-28 16:27:00 -05:00
.gitignore Add in core library 2024-09-28 15:59:29 -05:00
index.ts Fixes key case and sending proper keys 2024-09-28 16:27:00 -05:00
LICENSE Initial commit 2024-09-28 15:55:23 -05:00
package-lock.json Add in core library 2024-09-28 15:59:29 -05:00
package.json Include lib folder in published packages 2024-09-28 16:52:02 -05:00
README.md Fixes to paths 2024-09-28 16:46:11 -05:00
tsconfig.json Add in core library 2024-09-28 15:59:29 -05:00
tsconfig.module.json Add in core library 2024-09-28 15:59:29 -05:00

Parcelvoy Logo Parcelvoy Logo

Parcelvoy JS SDK

Installation

To install the SDK, use Yarn, npm, or a script tag:

  • npm
npm install @parcelvoy/js-sdk
  • Yarn
yarn add @parcelvoy/js-sdk

script tag

<script src="https://unpkg.com/@parcelvoy/js-sdk/lib/esm/index.js"></script>

Usage

The SDK can be used both on the server or in the web browser. The main difference is that on the Browser the identified user will be cached vs in Node where you'll need to pass in identifiers on every request.

Initialize

Before using any methods, the library must be initialized with an API key and URL endpoint.

If you aren't accessing the SDK via script tag, start by importing the Parcelvoy SDK:


// 
const { Client /** or BrowserClient */ } = require('@parcelvoy/js-sdk')

// Or
import { Client /** or BrowserClient */ } from '@parcelvoy/js-sdk'

Then you can initialize the library:

// Node
const client = new Client({
    apiKey: "XXX-XXX",
    urlEndpoint: "https://app.parcelvoy.com/api"
})

// Browser
const client = new BrowserClient({
    apiKey: "XXX-XXX",
    urlEndpoint: "https://app.parcelvoy.com/api"
})

// Or global script
Parcelvoy.initialize({
    apiKey: "XXX-XXX",
    urlEndpoint: "https://app.parcelvoy.com/api"
})

Identify

You can handle the user identity of your users by using the identify method. This method works in combination to either/or associate a given user to your internal user ID (external_id) or to associate attributes (traits) to the user. By default all events and traits are associated with an anonymous ID until a user is identified with an external_id. From that point moving forward, all updates to the user and events will be associated to your provider identifier.


// Client
client.identify({
    externalId: "XXX-XXX"
    phone: "+1234567890"
    email: "email@email.com"
    traits: {}
})

// Or global script
Parcelvoy.identify({
    externalId: "XXX-XXX"
    phone: "+1234567890"
    email: "email@email.com"
    traits: {}
})

Events

If you want to trigger a journey and list updates off of things a user does within your app, you can pass up those events by using the track method.


// Client
client.track({
    event: "Tapped Button"
    traits: {
        "Key": "Value"
    }
})

// Or global script
Parcelvoy.track({
    event: "Tapped Button",
    traits: {
        "Key": "Value"
    }
})