METHOD_BeginSession
    This method notifies 
BEMS
 that the BlackBerry Connect
 app wants to start a chat session. This method replaces the login method because it is using single sign-on. Make sure to use the appropriate parameters based on the version of API you are using.The following table describes the parameters that you can include in this method. 
| Parameter | Type | Required | Description | 
|---|---|---|---|
| userId | String | √ * | This parameter is deprecated in API version 2.3 or later. If you are using API version 2.2 or earlier, this parameter specifies the authoring  BlackBerry
        Dynamicsuser ID in the BlackBerry
        Dynamicsframework. | 
| gdAuthToken *Use this parameter if you are using the API version 2.3 or later. | String | √ | This parameter specifies the  BlackBerry
        DynamicsauthToken that the BlackBerry Connectapp retrieves from getGDAuthToken and presents it to BEMSfor authentication. BEMSuses the user identity extracted from the gdAuthToken only. | 
|  gdToken *Use this parameter if you are using the API version 2.2 or earlier. | Strong  | √ | This parameter specifies the  BlackBerry
        Dynamicstoken that the BlackBerry Connectapp retrieves from Good Proxyand presents it to BEMSfor authentication. | 
| deviceToken | String | — | This parameter specifies a unique identifier for the  BlackBerry Connectapp. If the BlackBerry Connectapp doesn't create a deviceToken, the BEMSserver creates a GUID token and adds it to the Cookie (deviceToken) on the response to the BlackBerry Connectapp. | 
| presence | String | — | This parameter specifies the presence status that is used when the session is initiated (for example, available). | 
| personalMessage | String | — | This parameter specifies the personal message that is set when the session is initiated. | 
| gnpToken | String | — | This parameter specifies the value of the GNP token. The  BlackBerry Connectapp retrieves the token from the BlackBerry
        Dynamicsclient API and sends it to the BEMS-Connectserver for use in push notifications. The BEMS-Connectserver confirms the validity of the token with the BlackBerry Proxyserver. | 
| pushMaxLength | Integer | — | This parameter specifies the maximum payload size for the FCM and APNs notifications.  | 
| sequence | Integer | — | This parameter specifies the unique sequence number for tracking purposes.  | 
| lastPersistentChatInvitationId | Integer | — | This parameter specifies the ID of the last persistent chat invitation that was received.  | 
BEMS response and notification
      The following table describes the parameters that BEMS
 response and notificationBEMS
 returns and the notification sent to the BlackBerry Connect
 app when a chat session is started.
      
  | Parameter | Type | Description | 
|---|---|---|
| method | String | This parameter returns the invoked method (for example, BeginSession). | 
| state | String  | This parameter specifies the state of the request to  BEMS(for example, Processing or Complete). | 
| sessionid | String | This parameter specifies the session ID for the user.  | 
Code example
      The following example sends a request to begin 
BEMS
 to begin an instant messaging chat session.{ "id":"c12", "method":"BeginSession", "params": { "userId":"user1@example.com", "gdAuthToken":"thegdauthtokengeneratedbybd", "deviceToken":"thetokengeneratedbydevice", "presence":"available", "personalMessage":"I am available" }, "jsonrpc":"2.0" }
If the request is successful, 
BEMS
 sends the following response to the BlackBerry Connect
 app and processes the request.{ "id":"c12", "error":null, "result": { "data": { "method":"BeginSession", "state":"PROCESSING" } }, "jsonrpc":"2.0", "background":false }
If there are no errors, 
BEMS
 sends the following notification to the BlackBerry Connect
 app and the session starts.{ "id":"c12", "sequence":1018528500000011, "result": { "data": { "sessionId":"af949a36-b61d-43d7-bb44-aa4c003ddc1a", "method":"BeginSession", "state":"COMPLETE" } }, "jsonrpc":"2.0" }