Skip to content
This repository has been archived by the owner on Mar 17, 2023. It is now read-only.

Commit

Permalink
Merge pull request #589 from RocketChat/feature/settings-preferences-…
Browse files Browse the repository at this point in the history
…rest-api

[NEW] Adding docs for user settings/preferences endpoints
  • Loading branch information
MartinSchoeler authored Feb 23, 2018
2 parents 964c0d2 + 0bd3805 commit e02a35e
Show file tree
Hide file tree
Showing 5 changed files with 152 additions and 13 deletions.
2 changes: 2 additions & 0 deletions _data/toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -300,11 +300,13 @@
- delete
- getAvatar
- getPresence
- get-preferences
- info
- list
- register
- resetAvatar
- setAvatar
- set-preferences
- update
- Offset and Count and Sort Info
- Permissions
Expand Down
2 changes: 2 additions & 0 deletions contributing/documentation/documentation-map/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -346,11 +346,13 @@ Here you can also find what articles are incomplete and missing.
- delete
- getAvatar
- getPresence
- getPreferences
- info
- list
- register
- resetAvatar
- setAvatar
- setPreferences
- update
- Offset and Count and Sort Info
- Permissions
Expand Down
28 changes: 15 additions & 13 deletions developer-guides/rest-api/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,19 +32,21 @@ When calling a production Rocket.Chat server, ensure it is running via HTTPS and

### Users

| Url | Short Description | Details Page |
| :-------------------------- | :-------------------------------------------------------------- | :------------------------- |
| `/api/v1/users.create` | Create a new user. | [Link](users/create/) |
| `/api/v1/users.createToken` | Create a user authentication token. | [Link](users/createtoken/) |
| `/api/v1/users.delete` | Deletes an existing user. | [Link](users/delete/) |
| `/api/v1/users.getAvatar` | Gets the URL for a user's avatar. | [Link](users/getavatar/) |
| `/api/v1/users.getPresence` | Gets the online presence of the a user. | [Link](users/getpresence/) |
| `/api/v1/users.info` | Gets a user's information, limited to the caller's permissions. | [Link](users/info/) |
| `/api/v1/users.list` | All of the users and their information, limited to permissions. | [Link](users/list/) |
| `/api/v1/users.register` | Register a new user. | [Link](users/register/) |
| `/api/v1/users.resetAvatar` | Reset a user's avatar | [Link](users/resetavatar/) |
| `/api/v1/users.setAvatar` | Set a user's avatar | [Link](users/setavatar/) |
| `/api/v1/users.update` | Update an existing user. | [Link](users/update/) |
| Url | Short Description | Details Page |
| :---------------------------------- | :-------------------------------------------------------------- | :---------------------------------- |
| `/api/v1/users.create` | Create a new user. | [Link](users/create/) |
| `/api/v1/users.createToken` | Create a user authentication token. | [Link](users/createtoken/) |
| `/api/v1/users.delete` | Deletes an existing user. | [Link](users/delete/) |
| `/api/v1/users.getAvatar` | Gets the URL for a user's avatar. | [Link](users/getavatar/) |
| `/api/v1/users.getPresence` | Gets the online presence of the a user. | [Link](users/getpresence/) |
| `/api/v1/users.info` | Gets a user's information, limited to the caller's permissions. | [Link](users/info/) |
| `/api/v1/users.list` | All of the users and their information, limited to permissions. | [Link](users/list/) |
| `/api/v1/users.register` | Register a new user. | [Link](users/register/) |
| `/api/v1/users.resetAvatar` | Reset a user's avatar | [Link](users/resetavatar/) |
| `/api/v1/users.setAvatar` | Set a user's avatar | [Link](users/setavatar/) |
| `/api/v1/users.update` | Update an existing user. | [Link](users/update/) |
| `/api/v1/users.getPreferences` | Gets all preferences of user. | [Link](users/get-preferences/) |
| `/api/v1/users.setPreferences` | Set user's preferences | [Link](users/set-preferences/) |

### Channels

Expand Down
48 changes: 48 additions & 0 deletions developer-guides/rest-api/users/get-preferences/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
# User Get Preferences

| URL | Requires Auth | HTTP Method |
| :--- | :--- | :--- |
| `/api/v1/users.getPreferences` | `yes` | `GET` |

## Example Call

```bash
curl -H "X-Auth-Token: 9HqLlyZOugoStsXCUfD_0YdwnNnunAJF8V47U3QHXSq" \
-H "X-User-Id: aobEdbYhXfu5hkeqG" \
-H "Content-type:application/json" \
http://localhost:3000/api/v1/users.getPreferences
```

## Example Result

```json
{
"preferences": {
"newRoomNotification": "door",
"newMessageNotification": "chime",
"muteFocusedConversations": true,
"useEmojis": true,
"convertAsciiEmoji": true,
"saveMobileBandwidth": true,
"collapseMediaByDefault": false,
"autoImageLoad": true,
"emailNotificationMode": "all",
"roomsListExhibitionMode": "category",
"unreadAlert": true,
"notificationsSoundVolume": 100,
"desktopNotifications": "default",
"mobileNotifications": "default",
"enableAutoAway": true,
"highlights": [],
"desktopNotificationDuration": 0,
"viewMode": 0,
"hideUsernames": false,
"hideRoles": false,
"hideAvatars": false,
"hideFlexTab": false,
"sendOnEnter": "normal",
"roomCounterSidebar": false
},
"success": true
}
```
85 changes: 85 additions & 0 deletions developer-guides/rest-api/users/set-preferences/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
# User Set Preferences

| URL | Requires Auth | HTTP Method |
| :--- | :--- | :--- |
| `/api/v1/users.setPreferences` | `yes` | `POST` |

## Payload

| Argument | Example | Required | Description |
| :--- | :--- | :--- | :--- |
| `userId` | `BsNr28znDkG8aeo7W` | Required | The id of the user. |
| `data.newRoomNotification` | `test` | Required | New room notification. |
| `data.newMessageNotification` | `test` | Required | New message notification. |
| `data.useEmojis` | `true` | Required | User can use emojis. |
| `data.convertAsciiEmoji` | `true` | Required | Convert ascII emojis. |
| `data.saveMobileBandwidth` | `true` | Required | Save mobile bandwith. |
| `data.collapseMediaByDefault` | `true` | Required | Collapse media by default. |
| `data.autoImageLoad` | `true` | Required | Image load automatically. |
| `data.emailNotificationMode` | `test` | Required | Email notification mode. |
| `data.roomsListExhibitionMode` | `test` | Required | Rooms list exhibition mode. |
| `data.unreadAlert` | `true` | Required | Unread Alert. |
| `data.notificationsSoundVolume` | `100` | Required | Volume of notification sound. |
| `data.desktopNotifications` | `test` | Required | Desktop notifications. |
| `data.mobileNotifications` | `test` | Required | Mobile notifications. |
| `data.enableAutoAway` | `true` | Required | Enable auto away. |
| `data.highlights` | `[]` | Required | Highlights. |
| `data.desktopNotificationDuration`| `100` | Required | Duration of desktop notification.|
| `data.viewMode` | `0` | Required | View mode. |
| `data.hideUsernames` | `false` | Required | Hide usernames. |
| `data.hideRoles` | `false` | Required | Hide user roles. |
| `data.hideAvatars` | `false` | Required | Hide avatars. |
| `data.sendOnEnter` | `test` | Required | Send message on enter. |
| `data.roomCounterSidebar` | `true` | Required | Display room counter on sidebar. |
| `data.language` | `pt-BR` | Required | Language. |
| `data.sidebarShowFavorites` | `true` | Optional | Show favorites on sidebar. |
| `data.sidebarShowUnread` | `true` | Optional | Show unread on sidebar. |
| `data.sidebarSortby` | `test` | Optional | Show sort by. |
| `data.sidebarViewMode` | `test` | Optional | Show view mode. |
| `data.sidebarHideAvatar` | `true` | Optional | Show avatar on hide bar. |
| `data.mergeChannels` | `true` | Optional | Merge channels. |
| `data.muteFocusedConversations` | `true` | Optional | Mute focused conversations. |

## Example Call

```bash
curl -H "X-Auth-Token: 9HqLlyZOugoStsXCUfD_0YdwnNnunAJF8V47U3QHXSq" \
-H "X-User-Id: aobEdbYhXfu5hkeqG" \
-H "Content-type:application/json" \
http://localhost:3000/api/v1/users.setPreferences \
-d '{ "userId": "BsNr28znDkG8aeo7W", "data": { } }'
```

## Example Result

```json
{
"success": true,
"preferences": {
"newRoomNotification": "door",
"newMessageNotification": "chime",
"muteFocusedConversations": true,
"useEmojis": true,
"convertAsciiEmoji": true,
"saveMobileBandwidth": true,
"collapseMediaByDefault": false,
"autoImageLoad": true,
"emailNotificationMode": "all",
"roomsListExhibitionMode": "category",
"unreadAlert": true,
"notificationsSoundVolume": 100,
"desktopNotifications": "default",
"mobileNotifications": "default",
"enableAutoAway": true,
"highlights": [],
"desktopNotificationDuration": 0,
"viewMode": 0,
"hideUsernames": false,
"hideRoles": false,
"hideAvatars": false,
"hideFlexTab": false,
"sendOnEnter": "normal",
"roomCounterSidebar": false
}
}
```

0 comments on commit e02a35e

Please sign in to comment.