METHOD_PC_CreateRoom
This method creates a group discussion.
The following table describes the parameters that you can include in this method.
Parameter | Type | Required | Description |
---|---|---|---|
name | String | √ | This parameter specifies the discussion group name. Discussion group names can be a maximum of 256 alphanumeric, numeric, special characters or a combination of these. This includes spaces. |
description | String | — | This parameter specifies a description of the group discussion and can be a maximum of 256 characters. This includes spaces. |
category | String | — | This parameter specifies the ID of the category that the group discussion is placed under. If the category is not specified, a default category must be defined in the BEMS dashboard. The user must be granted Creator role in the group discussion category to create group discussions. |
privacy | String | — | This parameter specifies the security level of a group discussion. |
managers | String Array | — | This parameter specifies a list of users that can manage the group discussion. Each group discussion must have a minimum of one manager. Managers are automatically added as members to the group discussion. Individual users and Active
Directory user groups can be set as managers of a group discussion. |
members | String Array | — | This parameter specifies a list of users that have joined the group discussion and can participate in and receive notifications. Individual users and Active
Directory user groups can be set as managers of a group discussion. |
skipInvitations | Boolean | — | This parameter specifies if an invitation is sent. By default, this parameter is set to False.
|
follow | Boolean | — | This parameter specifies if a group discussion should be followed. By default, the follow parameter is false.
|
Notification
The following table describes the notifications that
BEMS
might send to the BlackBerry Connect
app after it processes the request.Group discussion creation can succeed while other operations like setting group discussion members, managers and privacy setting can be unsuccessful. The METHOD_PC_CreateRoom API method returns success if the group discussion creation is successful. For more information about subsequent operations and error messages, see InnerError below.
Parameter | Type | Description |
---|---|---|
roomName | String | This parameter specifies the name of the group discussion. |
roomId | String | This parameter specifies the ID of the group discussion. |
innerError | Json Array | This parameter specifies an array of error messages that might occur when updating group discussion members, managers, and privacy settings. See InnerError below for more information. |
InnerError
InnerError errors might occur when a method is multifunctional (for example, create room and automatically follow the room). The following errors might occur when updating members, managers, and privacy settings for a group discussion:
- Name of group discussion is used by another group discussion. Group discussions must be unique.
- The manager or member being added is not a valid instant messenger user.
- The manager or member specified is not allowed to be a manager or member as per the category specification.
- The user does not have permissions to create a group discussion in the category.
The following table describes the parameters that are included for innererrors.
Parameter | Type | Description |
---|---|---|
type | String | This parameter specifies the error type. |
parameter | String | This parameter specifies the parameter name if the error is caused by an input parameter. This is optional. |
errorValues | String Array | This parameter specifies a list of invalid values. This is optional. |
message | String | This parameter specifies the error message. |
Code example
The following example sends a request to
BEMS
to create a group discussion called 'Surprise retirement celebration' and include user1 and user2 as managers and user3 and user4 as members. { "method":"pc.CreateRoom", "params": { "name":"Surprise retirement celebration", "managers":[ "sip:user1@example.com", "sip:user2@example.com" ], "members":[ "sip:user3@example.com", "sip:user4@example.com" ] }, "id":"c5", "jsonrpc":"2.0" }
If the request is successful,
BEMS
sends the following response to the BlackBerry Connect
app and processes the request.{ "id":"c5", "error":null, "result": { "data": { "method":"pc.CreateRoom", "state":"PROCESSING" } }, "jsonrpc":"2.0" }
If there are no errors,
BEMS
sends the following notification to the BlackBerry Connect
client and creates the group discussion and sends invitations to the contacts.{ "id": "c5", "sequence": 1018690500000007, "result": { "data": { "roomId":"ma-chan://gems.sw.rim.net/3346c2de-6cc7-4186-ad62-0e5e33b889ed", "roomName":"Room@15May2019", "method":"pc.CreateRoom", "state":"COMPLETE" } }, "jsonrpc":"2.0" }, { "id": "S12", "sequence":1018690500000008, "result": { "data": { "numberOfParticipants":0, "roomId":"ma-chan://gems.sw.rim.net/3346c2de-6cc7-4186-ad62-0e5e33b889ed", "roomName":"Room@15May2019", "roomDescription":"", "invitationId":52, "method":"pc.InvitationReceived", "state":"COMPLETE" } }, "jsonrpc":"2.0" }
If error messages are returned,
BEMS
sends the following notification to the BlackBerry Connect
client and the group discussion isn't created. In this example an error occurred when the updating the group and an incorrect privacy was specified.{ "id":"c5", "sequence":1018690500000006, "result": { "data": { "method":"pc.CreateRoom", "roomName":"Surprise retirement celebration", "roomId":"ma-chan://gems.sw.rim.net/79b523a6-c78b-4cec-be33-4c2f14ce1438", "innerError":[ { "type":"updateError", “message”:“Error while updating room +[Exception Message]” }, { "type":"parameterError", "parameter":"privacy" "errorValues":["public"], "message":"Invalid room privacy +[Exception Message]" } ] } }, "jsonrpc":"2.0" }