@botmock-api/client
v1.2.0
Published
nodejs client for interacting with the botmock api
Downloads
5
Readme
@botmock-api/client
nodejs client for interacting with the botmock api
1.x
master
now tracks version 1.x
of the package. For 0.1.x
see branch legacy
.
Table of Contents
Installation
Note: In order to get started with this client, you'll need to get your access token from https://app.botmock.com. After you sign in, go to the Account Settings page by clicking on your profile picture on the top right. Then click on "Developer API" from the dropdown menu. Give your token a name, check the box, and hit "Create". Remember to note down your token since it will not be shown after it is generated.
npm i @botmock-api/client
API
Batcher
import { Batcher } from "@botmock-api/client";
const config = {
token: process.env.BOTMOCK_TOKEN,
teamId: process.env.BOTMOCK_TEAM_ID,
projectId: process.env.BOTMOCK_PROJECT_ID,
boardId: process.env.BOTMOCK_BOARD_ID,
};
const { data } = await new Batcher(config).batchRequest([
"project",
"board",
"intents",
"entities",
"variables",
]);
batchRequest
batcher.batchRequest(string[]): Promise<null | { data: JSONResponse }>
Fetches an array of Botmock project resources using the fetcher
Botmock
import { Botmock } from "@botmock-api/client";
const client = new Botmock({ token: process.env.BOTMOCK_TOKEN });
Methods
client.getProject(opt): Promise<any>
Gets project from a teamId
and projectId
within opt
const project = await client.getProject({ teamId, projectId });
client.getTeam(teamId): Promise<any>
Gets team from a teamId
const team = await client.getTeam(teamId);
client.getBoard(opt): Promise<any>
Gets board data from a teamId
, projectId
and boardId
const board = await client.getBoard({ teamId, projectId, boardId });
client.getIntents(opt): Promise<any>
Gets all intents from a teamId
and projectId
const intents = await client.getIntents({ teamId, projectId });
client.getVariables(opt): Promise<any>
Gets all variables from a teamId
and projectId
const variables = await client.getVariables({ teamId, projectId });
client.getEntities(opt): Promise<any>
Gets all entities from a teamId
and projectId
const entities = await client.getEntities({ teamId, projectId });
Error Handling
Events containing errors and also successes can be listened to in the following ways.
const client = new Botmock({ token: process.env.BOTMOCK_TOKEN });
client.on("error", ({ error, endpoint }: { error: FetchError, endpoint: string }) => {
console.error(error, endpoint);
});
client.on("success", ({ endpoint, timestamp }: { endpoint: string, timestamp: number }) => {
console.error(endpoint, timestamp);
});
Development Guidelines
To test the package, simply enter the command below into the command line:
npm test