JBoss.orgCommunity Documentation

RESTXMPPService

REST API RESTXMPPService of the Chat portlet is exposed by org.exoplatform.services.xmpp.rest.RESTXMPPService class.

Service name Service URL Location Description
RESTXMPPService $portalname/$restcontextname/xmpp

* Maven groupid: org.exoplatform.cs

* exo.cs.eXoApplication.chat.service

Implement all actions sent to the Chat server;

Use the following APIs to build all functions of the Chat application:

Name Service URL endpoint Parameters Expected Values Description
loadJsResourceBundle /loadJsResourceBundle/{locale}/ locale locale id Read the language files in the Chat server.
createRoom /muc/createroom/{username}/

username

room

nickname

user id

room name

display name

Create a chat room or a group chat.
configRoom /muc/configroom/{username}/

username

room

user id

room name

Establish the configuration of a chat room.
getRoomConfigForm /muc/getroomconfig/{username}/

username

room

user id

room name

Get the configuration of a chat room created.
getRoomInfo /muc/getroominfo/{username}/

username

room

user id

string

Get the inforamtion of a chat room created.
getJoinedRooms /muc/joinedrooms/{username}/ username user idList chat rooms that a user has been joined.
getRooms /muc/rooms/{username}/ username user id Get a list of group chat or chat rooms created.
declineToRoom /muc/decline/{username}/{inviter}/

username

inviter

room

reason

user id

user id

room name

string

Refuse the invitation to join the chat room.
destroyRoom /muc/destroy/{username}

username

room

reason

altroom

user id

room name

string

room id

Delete a chat room created.
inviteToRoom /muc/invite/{username}/{invitee}/

username

invitee

room

reason

user id

user id

room name

string

Invite other users to join a chat room.
joinRoom /muc/join/{username}/

username

room

nickname

password

user id

room name

display name

room password

Join a chat room.
leftRoom /muc/leaveroom/{username}/

username

room

user id

room name

Leave a chat room.
changeNickname /muc/changenickname/{username}/{nickname}/

username

nickname

user id

display name

Change the nickname of users.
changeAvailabilityStatusInRoom /muc/changestatus/{username}/{mode}/

username

mood

room

status

user id

presence type

room name

presence type

Change the status of a user in the chat room.
changeSubject muc/changesubject/{username}/

username

room

subject

user id

room name

string

Change the subject of a chat room.
manageRoleRoom /muc/managerole/{username}/

username

room

nickname

role

command

user id

room name

display name

Participant / moderator

grant/revoke

Change the role of each user in a chat room.
manageAffilationRoom /muc/manageaffiliation/{username}/

username

room

nickname

affiliation

command

user id

room name

display name

String affiliation

grant / revoke

Change the ownership of a chat room.
kickUserFromRoom /muc/kick/{username}/

username

nickname

room

reason

user id

display name

room name

string

Remove a user from the chat room.
banUserFromRoom /muc/ban/{username}/

username

room

name

reason

user id

room name

user id

string

Ban a user in the chat room.
addBoddyToRoster /roster/add/{username}/{adduser}

username

adduser

nickname

group

user id

use id

display name

group id

Add a user into the contact list.
updateBoddy /roster/update/{username}/{upduser}/

username

upduser

nickname

group

user id

user id

display name

group id

Update new users into the contact list.
createGroup /roster/group/{username}/{group}/

username

group

user id

group id

Create a chat room.
askForSubscription /askforsubscription/{username}/{askuser}/

username

askuser

nickname

user id

user id

display name

Change the presence type of a user into Subscription.
cleanBuddylist /rosterclean/{username}/ username user id Remove a user from the contact list.
getAllHistory /history/getmessages/{usernameto}/{isGroupChat}/

usernameto

isGroupChat

usernamefrom

user id

true / false

user id

Get all the chat history of two users.
getHistoryBetweenDate /history/getmessages/{usernameto}/{isGroupChat}/{from}/{to}/

usernameto

isgroupchat

from

to

usernamefrom

user id

true / false

valid date format

valid date format

user id

Get the chat history of two users in a specific period.
getHistoryFromDateToNow /history/getmessages/{usernameto}/{isGroupChat}/{from}/

username

isGroupChat

from

usernamefrom

user id

true / false

valid date format

valid date format

user id

Get the chat history of two users from a specific date to the current time.
getAllHistoryFile /history/file/getmessages/{usernameto}/{isGroupChat}/{clientTimezoneOffset}/

uernameto

isGroupChat

clientTimezoneOffset

usernamefrom

user id

true / false

Long

user id

Download all the chat history file of two users.
getHistoryFromDateToNowFile /history/file/getmessages/{usernameto}/{isGroupChat}/{from}/{clientTimezoneOffset}/

usernameto

isGroupChat

from

clientTimezoneOffset

usernamefrom

user id

true / false

valid date format

Long

user id

Download the chat history file of two users from a specific date to the current time
getHistoryBetweenDateFile /history/file/getmessages/{usernameto}/{isGroupChat}/{from}/{to}/{clientTimezoneOffset}/

usernameto

isGroupChat

from

to

clientTimezoneOffset

usernamefrom

user id

true / false

valid date format

valid date format

Long

user id

Download the chat history file of two users in the specific date.
getUserInfo /getuserinfo/{username}/{needinfo}/

username

needinfo

user id

string

Get the information of a user.
login2 /login2/{forcache}/ forcache Allow a user to log in the chat server.
logout /logout/{username}/{presencestatus}/

username

presencestatus

user id

presencestatus

Allow a user to log out the chat server.
messageReceive /history/messagereceive/{username}/{messageid}/

username

messageid

user id

message id

Receive a message from other users.
removeBuddy /roster/del/{username}/{removeboddy}/

username

removeboddy

user id

user id

Delete a contact from the contact list.
removeTransport /removetransport/{username}/{transport}/

username

transport

user id

transport servive (e.g: Yahoo, XMPP)

Reset the presence type at the service that is being used.
searchUsers /searchuser/{username}/

username

search

byUsername

byName

byEmail

searchService

user id

string

true / false

true /false

true / false

string

Search users in the chat server.
sendMessage /sendmessage/{username}/

username

messageBean

usesr id

object

Send an message to other users.
sendMUCMessage /muc/sendmessage/{username}/

username

messageBean

user id

object

Send a message to multile users or a group.
setUserStatus /sendstatus/{username}/{status}/

username

status

user id

available/ unavailabe / do not disturb / away / extend away

Change the status of a user.
subscribeUser /subscribeuser/{username}/{subsuser}/

username

subsuser

user id

user id

Change presence type into Subcribed type.
unsubscribeUser /unsubscribeuser/{username}/{unsubsuser}/

username

unsubsuser

user id

user id

Change presence type into the Unsubscribed type.
acceptFile /fileexchange/accept/{username}/{uuid}/

username

uuid

user id

string

Accept getting a file sent from another user.
rejectFile /fileexchange/reject/{username}/{uuid}/

username

uuid

user id

string

Refuse getting a file sent from another user.
getPreviousStatus /getprevstatus/{username}/ username user id Get the tatus of a user in the last log-in.