0.2.4 • Published 1 month ago

@caretech-owl/zenkit-sdk v0.2.4

Weekly downloads
-
License
MIT
Repository
github
Last release
1 month ago

Zenkit-SDK

Unit Tests codecov npm

Helps you to automize tasks and create chatbots in Zenkit.

Installation

npm install @caretech-owl/zenkit-sdk

Prerequisites

zenkit-sdk requires an API key which can be passed as an environment variable ZENKIT_API_KEY or inside a .env file.

# a) use environment variables ...
export ZENKIT_API_KEY=$YOUR_SECRET_API_KEY
# b) ... or use a .env file
echo "ZENKIT_API_KEY=$YOUR_SECRET_API_KEY" > .env
npm run <your_target>

Basic Usage

import { Zenkit } from "@caretech-owl/zenkit-sdk";

// get your user object 
const zenkit = await Zenkit.createAsync();

// retrieve a workspace, you can pass a known workspace ID
// or a regular expression 
const workspace = zenkit.workspace("[Ww]orkspace.*");
const sameWorkspace = zenkit.workspace(workspace.id);

// collections can be retrieved the same way
const collection = workspace.collection("[Cc]ollection.*")
const sameCollection = workspace.collection(collection.id)

// collection can be retrieved from your main object as well
const identicalCollection = zenkit.collection("[Cc]ollection.*")

// to retrieve entries, collections must be populated first
// otherwise they will be empty
await collection.populate()

// now entries can be retrieved by their primary key or ID
const entry = collection.entry("My (first )?[En]try")
const sameEntry = collection.entry(entry.id)

// we can comment this entry
await entry.comment("Hello World");

// we can retrieve fields and get or set their values
const textField = entry.field("A text field");
textField.set(`${textField.value}++`);

// entries will not be updated instantly
// you need to commit changes once you are done
await entry.commit();

Webhook

// in case you want to process events you can use webhooks
// a) in case you want to receive notifications for all comments
// in a workspace
workspace.createCommentWebhook("https://your.api/endpoint");

// b) for all commments in a collection
collection.createCommentWebhook("https://your.api/endpoint");

// c) for all comments in an entry
entry.createCommentWebhook("https://your.api/endpoint");

// webhooks can be managed from your main object. 
// if you created webhooks after you created the zenkit object,
// you need to sync it first
await zenkit.sync();
const myWebhooks = zenkit.webhooks();

// to delete a webhook you can call 'delete' on the webhook object
// this will delete the first webhook
await myWebhooks[0].delete();

You can also create webhooks directly in case you need more control about what kind of event you need to listen to:

import { Zenkit, Webhook, TriggerType } from "@caretech-owl/zenkit-sdk";

await Webhook.createWebhook(
    "https://your.api/path",
    TriggerType.ACTIVITY,
    workspaceId,
    listId,
    listEntryId
)
0.2.4

1 month ago

0.2.3

3 months ago

0.2.2

9 months ago

0.2.1

9 months ago

0.2.0

9 months ago

0.1.8

9 months ago

0.1.6

10 months ago

0.1.5

10 months ago

0.1.4

10 months ago

0.1.3

10 months ago

0.1.2

10 months ago

0.1.1

10 months ago

0.1.0

10 months ago