Messenger
Methods
createConversation
- (Promise<MessengerEventTypes.CreateConversation,MessengerEventTypes.Error>
)createConversation:()conversationConfig Creates a new conversation with the extended configuration.Other parties of the conversation (online participants and logged in clients) can be informed about the conversation creation via the MessengerEventTypes.CreateConversation.
Parameters
conversationConfig:
OptionalConversationConfig instance with extended conversation parameters
Returns
editUser
- (Promise<MessengerEventTypes.EditUser,MessengerEventTypes.Error>
)editUser:(object
)customData Edits the current user information.Other users that are subscribed to the user can be informed about the editing via the MessengerEventTypes.EditUser event.
Parameters
customData:
object
OptionalNew custom data. If null, previously set custom data is not to be changed. If empty object, previously set custom data is removed.
privateCustomData:
object
OptionalNew private custom data. If null, previously set private custom data is not to be changed. If empty object, previously set private custom data is removed.
Returns
type:
Promise<MessengerEventTypes.EditUser,MessengerEventTypes.Error>
getConversation
- (Promise<MessengerEventTypes.GetConversation,MessengerEventTypes.Error>
)getConversation:(string
)uuid Gets a conversation by its UUID.It is possible if:
- the user that calls the method is/has been a participant of this conversation
- the conversation is an available public conversation (see Messenger.getPublicConversations)
Only the client that called the method can be informed about getting conversation.
Parameters
uuid:
string
Conversation UUID
Returns
type:
Promise<MessengerEventTypes.GetConversation,MessengerEventTypes.Error>
getConversations
- (Promise<MessengerEventTypes.GetConversation[],MessengerEventTypes.Error>
)getConversations:(string[]
)uuids Gets the multiple conversations by the list of UUIDs. Maximum 30 conversations.It is possible if:
- the user that calls the method is/has been a participant of this conversation
- the conversation is an available public conversation (see [Messenger#getPublicConversations])
Only the client that called the method can be informed about getting conversations.
Parameters
uuids:
string[]
Array of UUIDs. Maximum 30 conversations.
Returns
type:
Promise<MessengerEventTypes.GetConversation[],MessengerEventTypes.Error>
getMe
- (string
| null
)getMeGets the full Voximplant user identifier, for example 'username@appname.accname', for the current user.
Returns
type:
string
type:
null
getPublicConversations
- (Promise<MessengerEventTypes.GetPublicConversations,MessengerEventTypes.Error>
)getPublicConversationsGets all public conversations (Conversation.publicJoin is true).It is possible to get all public conversations (UUIDs) that have been created by:
- the current user
- other users of the same child account
- users of the main Voximplant developer account
Only the client that called the method can be informed about getting public conversations UUIDs.
Returns
getSubscriptions
- (Promise<MessengerEventTypes.GetSubscriptions,MessengerEventTypes.Error>
)getSubscriptionsGets all current subscriptions, i.e., the array of users the current user is subscribed to.Only the client that called the method can be informed about getting subscriptions.
Returns
getUserByIMId
- (Promise<MessengerEventTypes.GetUser,MessengerEventTypes.Error>
)getUserByIMId:(number
)userId Gets information for the user specified by the IM user id.It is possible to get any user of the main Voximplant developer account or its child accounts.
Only the client that called the method can be informed about getting user information.
Parameters
userId:
number
IM User id
Returns
type:
Promise<MessengerEventTypes.GetUser,MessengerEventTypes.Error>
getUserByName
- (Promise<MessengerEventTypes.GetUser,MessengerEventTypes.Error>
)getUserByName:(string
)username Gets information for the user specified by the Voximplant user name, e.g., 'username@appname.accname'.It is possible to get any user of the main Voximplant developer account or its child accounts.
Only the client that called the method can be informed about getting user information.
Parameters
username:
string
Voximplant user identifier
Returns
type:
Promise<MessengerEventTypes.GetUser,MessengerEventTypes.Error>
getUsersByIMId
- (Promise<MessengerEventTypes.GetUser[],MessengerEventTypes.Error>
)getUsersByIMId:(number[]
)users Gets information for the users specified by the array of the IM user ids. Maximum 50 users.It is possible to get any users of the main Voximplant developer account or its child accounts.
Only the client that called the method can be informed about getting users information.
Parameters
users:
number[]
Array of IM user ids
Returns
type:
Promise<MessengerEventTypes.GetUser[],MessengerEventTypes.Error>
getUsersByName
- (Promise<MessengerEventTypes.GetUser[],MessengerEventTypes.Error>
)getUsersByName:(string[]
)users Gets information for the users specified by the array of the Voximplant user names. Maximum 50 users.It is possible to get any users of the main Voximplant developer account or its child accounts.
Only the client that called the method can be informed about getting users information.
Parameters
users:
string[]
Array of Voximplant user identifiers
Returns
type:
Promise<MessengerEventTypes.GetUser[],MessengerEventTypes.Error>
joinConversation
- (Promise<MessengerEventTypes.EditConversation,MessengerEventTypes.Error>
)joinConversation:(string
)uuid Joins the current user to any conversation specified by the UUID.It is possible only on the following conditions:
- a conversation is created by a user of the main Voximplant developer account or its child accounts
- public join is enabled (Conversation.publicJoin is true)
- the conversation is not a direct one (Conversation.direct is false)
Other parties of the conversation (online participants and logged in clients) can be informed about joining to the conversation via the MessengerEventTypes.EditConversation event.
Parameters
uuid:
string
Conversation UUID
Returns
leaveConversation
- (Promise<MessengerEventTypes.EditConversation,MessengerEventTypes.Error>
)leaveConversation:(string
)uuid Makes the current user leave a conversation specified by the UUID.It is possible only if the conversation is not a direct one (Conversation.direct is false).
After a successful method call the conversation's UUID is added to User.leaveConversationList.
Other parties of the conversation (online participants and logged in clients) can be informed about leaving the conversation via the MessengerEventTypes.EditConversation event.
Parameters
uuid:
string
Conversation UUID
Returns
managePushNotifications
- (Promise<MessengerEventTypes.EditUser,MessengerEventTypes.Error>
)managePushNotifications:()notifications Manages messenger push notification subscriptions for the current user.Other logged in clients (of the current user) can be informed about managing push notifications via MessengerEventTypes.EditUser
Parameters
notifications:
Array of messenger notification types
Returns
type:
Promise<MessengerEventTypes.EditUser,MessengerEventTypes.Error>
off
- (void
)off:()eventType Removes a handler for specified event.
Parameters
eventType:
event:
Function
OptionalHandler function. If not specified, all handlers for the event type are removed.
Returns
type:
void
on
- (void
)on:()eventType Registers a handler for specified messenger event. Use Messenger.off method to delete a handler.
Parameters
eventType:
event:
Function
Returns
type:
void
setStatus
- (Promise<MessengerEventTypes.SetStatus,MessengerEventTypes.Error>
)setStatus:(boolean
)online Sets the current user status.Other users (that are subscribed to the user) and other clients (of the current user) can be informed about the status changing via the MessengerEventTypes.SetStatus event.
Parameters
online:
boolean
Whether the user is available for messaging
Returns
type:
Promise<MessengerEventTypes.SetStatus,MessengerEventTypes.Error>
subscribe
- (Promise<MessengerEventTypes.Subscribe,MessengerEventTypes.Error>
)subscribe:(number[]
)users Subscribes for other user(s) information and status changes.It is possible to subscribe for any user of the main Voximplant developer account or its child accounts.
Other logged in clients (of the current user) can be informed about the subscription via the MessengerEventTypes.Subscribe event.
User(s) specified in the 'users' parameter are not informed about the subscription.
Parameters
users:
number[]
Array of IM user ids
Returns
type:
Promise<MessengerEventTypes.Subscribe,MessengerEventTypes.Error>
unsubscribe
- (Promise<MessengerEventTypes.Unsubscribe,MessengerEventTypes.Error>
)unsubscribe:(number[]
)users Unsubscribes from other user(s) information and status changes.Other logged in clients (of the current user) can be informed about the unsubscription via the MessengerEventTypes.Unsubscribe event.
User(s) specified in the 'users' parameter are not informed about the unsubscription.
Parameters
users:
number[]
Array of IM user ids
Returns
type:
Promise<MessengerEventTypes.Unsubscribe,MessengerEventTypes.Error>
unsubscribeFromAll
- (Promise<MessengerEventTypes.Unsubscribe,MessengerEventTypes.Error>
)unsubscribeFromAllUnsubscribes from all subscriptions.Other logged in clients (of the current user) can be informed about the unsubscription via the MessengerEventTypes.Unsubscribe event.
Other users are not informed about the unsubscription.
Returns
type:
Promise<MessengerEventTypes.Unsubscribe,MessengerEventTypes.Error>