nahtuh-client v1.0.12
Nahtuh Client
Nahtuh client is a javascript library to use nahtuh API to develop real time collaboration application.
Contents
- Getting Started
- API Documentation
Getting Started
CDN
<!-- index.html -->
<script src="https://cdn.nahtuh.com/libraries/nahtuhclient.js"></script>
<script>
const { nahtuhClient, identityManager } = window.NahtuhClient;
</script>
NPM
npm i nahtuh-client
import { nahtuhClient, identityManager } from 'nahtuh-client';
API Documentation
Connection API
Start Connection
Start websocket connection
// use this only when autoStart is set to false
let response = await nahtuhClient.start();
Stop Connection
Stop websocket connection
// use this only when autoStart is set to false
let response = await nahtuhClient.stop();
Event Management API
Create Event
let response = await nahtuhClient.createEvent(participantName, autoStart);
Parameters
Name | Nullable | Type | Description |
---|---|---|---|
participantName | No | String | nickname you want to use in the event |
autoStart | Yes | Boolean | Auto Connect web socket when value is true |
Response
Name | Type | Description |
---|---|---|
eventInfo | EventInfo | |
participant | Participant | |
participantToken | ParticipantToken |
Join Event
let response = await nahtuhClient.join(eventId, participantName, autoStart);
Parameters
Name | Nullable | Type | Description |
---|---|---|---|
eventId | No | String | Unique Id of the event you want to join to |
participantName | No | String | nickname you want to use in the event |
autoStart | Yes | Boolean | Auto Connect web socket when value is true |
Response
Name | Type | Description |
---|---|---|
eventInfo | EventInfo | |
participant | Participant | |
participantToken | ParticipantToken |
Leave Event
let response = await nahtuhClient.leaveEvent(autoStop);
Parameters
Name | Nullable | Type | Description |
---|---|---|---|
autoStop | Yes | Boolean | Auto Disconnect web socket when value is true |
Get Participant List
Get all participants in the current event
let response = await nahtuhClient.getParticipantList();
Response
Name | Type | Description |
---|---|---|
List |
Get Current Participant
Get current participant info
let response = await nahtuhClient.getCurrentParticipant();
Response
Name | Type | Description |
---|---|---|
Participant |
Group Management API
Join Group
Create or join existing group
let response = await nahtuhClient.joinGroup(participantId, groupName);
Parameters
Name | Nullable | Type | Description |
---|---|---|---|
participantId | No | String | |
groupName | No | String |
Leave Group
let response = await nahtuhClient.leaveGroup(participantId, groupName);
Parameters
Name | Nullable | Type | Description |
---|---|---|---|
participantId | No | String | |
groupName | No | String |
Get Group Member
Get all group members
let response = await nahtuhClient.getGroupMember(groupName);
Parameters
Name | Nullable | Type | Description |
---|---|---|---|
groupName | No | String |
Response
Name | Type | Description |
---|---|---|
List |
Host Configuration API
Host configuration is a configuration only the event's host can access. It can be useful to implement host rejoin functionality.
Set Host Configuration
await nahtuhClient.setHostConfiguration(config);
Parameters
Name | Nullable | Type | Description |
---|---|---|---|
config | No | object | any configuration you want to save |
Get Host Configuration
var response = await nahtuhClient.getHostConfiguration();
Response
Name | Type | Description |
---|---|---|
object | configuration saved by the host |
Messaging API
Broadcast
Send message to all event participants
let response = await nahtuhClient.broadcast(message);
Parameters
Name | Nullable | Type | Description |
---|---|---|---|
message | No | String |
Send To User
Send message to a specific user
let response = await nahtuhClient.sendToUser(participantId, message);
Parameters
Name | Nullable | Type | Description |
---|---|---|---|
participantId | No | String | |
message | No | String |
Send To Group
Send message to all participant in a specific group
let response = await nahtuhClient.sendToGroup(groupName, message);
Parameters
Name | Nullable | Type | Description |
---|---|---|---|
groupName | No | String | |
message | No | String |
Event Handlers
On Participant Joined
Call back function when new participant join to an event
nahtuhClient.onParticipantJoined = (data) => {}
Data
Name | Type | Description |
---|---|---|
Participant |
On Participant Leave
call back function when new participant leave an event
nahtuhClient.onParticipantLeave = (data) => {}
Data
Name | Type | Description |
---|---|---|
Participant |
On Incoming Message
call back function when new message received
nahtuhClient.onIncomingMessage = (data) => {}
Data
Name | Type | Description |
---|---|---|
Message |
On Group Member Joined
call back function when participant join to a group
nahtuhClient.onGroupMemberJoined = (data) => {}
Data
Name | Type | Description |
---|---|---|
groupName | String | |
participantId | String | |
participantName | String |
On Group Member Left
call back function when participant left a group
nahtuhClient.onGroupMemberLeft = (data) => {}
Data
Name | Type | Description |
---|---|---|
groupName | String | |
participantId | String | |
participantName | String |
Types
EventInfo
Name | Type | Description |
---|---|---|
activityId | String | Unique Id used by the activity created an activity is submitted to nahtuh |
activitySetId | String | |
createdDate | String | Timestamp of the event creation |
eventId | String | Unique Id for the newly created event |
invitationUrl | String |
Participant
Name | Type | Description |
---|---|---|
avatarUrl | String | |
connected | Boolean | connection status of the websocket |
isHost | Boolean | |
participantId | String | |
participantName | String |
ParticipantToken
Name | Type | Description |
---|---|---|
username | String | |
accessToken | String | Token used to access nahtuh API |
refreshToken | String | Token used to refresh accessToken |
GroupMember
Name | Type | Description |
---|---|---|
participantId | String | |
participantName | String |
Message
Name | Type | Description |
---|---|---|
method | String | BM = Broadcast Message, PM=Private Message, GM = Group Message |
content | String | |
senderId | String | ParticipantId of the sender |
5 months ago
8 months ago
11 months ago
12 months ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago