nablitalks-backend-sdk
Version:
Backend SDK for NabliTalks API
120 lines (87 loc) • 2.57 kB
Markdown
# NabliTalks Backend SDK
Backend SDK for interacting with the NabliTalks API. Supports creating customer IDs and retrieving chat tokens. Visit https://nablitalks.online for more information.
## Installation
```bash
npm install nablitalks-backend-sdk
```
## Usage
### Basic Usage
```javascript
const NabliTalksSDK = require('nablitalks-backend-sdk');
const sdk = new NabliTalksSDK('your-access-key', 'your-access-secret');
async function example() {
try {
const customer = await sdk.createCustomerId();
console.log('Customer ID:', customer.id);
const tokenResponse = await sdk.getToken(customer.id);
console.log('Token:', tokenResponse.token);
} catch (error) {
console.error('Error:', error.message);
}
}
example();
```
### TypeScript Usage
```typescript
import NabliTalksSDK from 'nablitalks-backend-sdk';
const sdk = new NabliTalksSDK('your-access-key', 'your-access-secret');
async function example(): Promise<void> {
try {
const customer: Customer = await sdk.createCustomerId();
console.log('Customer ID:', customer.id);
const tokenResponse: TokenResponse = await sdk.getToken(customer.id);
console.log('Token:', tokenResponse.token);
} catch (error) {
console.error('Error:', error.message);
}
}
example();
```
### Usage with Express.js
```javascript
const express = require('express');
const NabliTalksSDK = require('nablitalks-backend-sdk');
const app = express();
const sdk = new NabliTalksSDK('your-access-key', 'your-access-secret');
app.use(express.json());
app.post('/create-customer', async (req, res) => {
try {
const customer = await sdk.createCustomerId();
res.json(customer);
} catch (error) {
res.status(500).json({ error: error.message });
}
});
app.get('/get-token/:customerId', async (req, res) => {
try {
const tokenResponse = await sdk.getToken(req.params.customerId);
res.json(tokenResponse);
} catch (error) {
res.status(500).json({ error: error.message });
}
});
app.listen(3000, () => {
console.log('Server running on port 3000');
});
```
## API Reference
### Types
```typescript
interface Customer {
id: string;
tenantId: string;
createdAt: string;
}
interface TokenResponse {
token: string;
}
```
### Constructor
```javascript
new NabliTalksSDK(accessKey: string, accessSecret: string)
```
### Methods
- **`createCustomerId(): Promise<Customer>`** - Creates a new customer ID.
- **`getToken(customerId: string): Promise<TokenResponse>`** - Retrieves a chat token for the given customer ID.
## License
MIT