@studio-amk/akarizen-node-sdk
v0.1.1
Published
Akarizen Node SDK for the chatbot API
Readme
Akarizen Node SDK
TypeScript SDK for the Akarizen chatbot API. This SDK signs requests with your API key and sends them to the Akarizen callback API.
1. Installation
npm i @studio-amk/akarizen-node-sdk2. Configuration
import { AkarizenClient } from "@studio-amk/akarizen-node-sdk";
const client = new AkarizenClient({
apiKey: "YOUR_API_KEY",
businessId: "BUSINESS_ID",
botId: "BOT_ID"
});Options
baseUrl: Override the API base URL. Default ishttps://resources.studioamk.com/botapi/callback.timeoutMs: Request timeout in milliseconds.jwtOptions: Extra JWT options passed tojsonwebtoken.sign(e.g.,expiresIn).
3. Send Message
const options = {
userId: "user-123",
message: "Hello",
displayName: "Jane"
};
// Promise style
client.sendMessage(options)
.then((response) => {
console.log(response);
})
.catch((error) => {
console.log(error);
});
// Async/Await style
try {
const response = await client.sendMessage(options);
console.log(response);
} catch (error) {
console.log(error);
}Request Body (payload structure)
| Field | Type | Required | Description | Example | | --- | --- | --- | --- | --- | | userId | string | Yes | Platform user identifier. | "user-123" | | message | string | Yes | User message text. | "Hello" | | displayName | string | No | User display name. | "Jane" |
Response Example
{
"code": "200",
"data": {
"botReply": "Hello",
"conversationId": 123,
"transferredToHuman": false,
"isBotWithinWorkingHours": true,
"blocked": false
}
}4. List Messages
const options = {
userId: "user-123",
current: 1,
limit: 10
};
// Promise style
client.listMessages(options)
.then((response) => {
console.log(response);
})
.catch((error) => {
console.log(error);
});
// Async/Await style
try {
const response = await client.listMessages(options);
console.log(response);
} catch (error) {
console.log(error);
}Request Body (payload structure)
| Field | Type | Required | Description | Example | | --- | --- | --- | --- | --- | | userId | string | Yes | Platform user identifier. | "user-123" | | current | number | No | Page number (default 1). | 1 | | limit | number | No | Page size (default 10). | 10 |
5. Refresh Conversation
const options = {
userId: "user-123",
conversationId: 42
};
// Promise style
client.refreshConversation(options)
.then((response) => {
console.log(response);
})
.catch((error) => {
console.log(error);
});
// Async/Await style
try {
const response = await client.refreshConversation(options);
console.log(response);
} catch (error) {
console.log(error);
}Request Body (payload structure)
| Field | Type | Required | Description | Example | | --- | --- | --- | --- | --- | | userId | string | Yes | Platform user identifier. | "user-123" | | conversationId | number or string | Yes | Conversation ID to refresh. | 42 |
Response Wrapper
All endpoints return a standard wrapper:
{
"code": "200",
"status": "OK",
"message": "...",
"data": {}
}Notes
- Your API key is used as the JWT signing secret.
- The platform uses your dashboard callback URL to send responses.
Build
npm run build