Route: "api/ws/chat"
Description: To maintain a chat, you must open a websocket to "api/ws/chat".  The only data accepted is the base64 encoded encoded object representing the accountId, siteId, visitorId, and sessionId.
Write ex: {accountId:4, siteId:1000, visitorId:'78e89576-5b8f-4bca-9742-455c7a101d03', sessionId:'e8e023bf-a94b-46be-bbcc-1545f1df0838'}  base64=e2FjY291bnRJZDo0LCBzaXRlSWQ6MTAwMCwgdmlzaXRvcklkOic3OGU4OTU3Ni01YjhmLTRiY2EtOTc0Mi00NTVjN2ExMDFkMDMnLCBzZXNzaW9uSWQ6J2U4ZTAyM2Jm
LWE5NGItNDZiZS1iYmNjLTE1NDVmMWRmMDgzOCd9IA==

Read: {chat: [ChatBeacon Chat object], gdprAccepted: false, geoLocation: false}

Route: "api/ws/monitor"
Description:  If you do not wish to use polling (GET "api/visitor/account/site/session/sync"), you can use a websocket and receive the same information.  The only data accepted is the base64 encoded encoded object representing the accountId, siteId, visitorId, and sessionId.

Write ex: {accountId:4, siteId:1000, visitorId:'78e89576-5b8f-4bca-9742-455c7a101d03', sessionId:'e8e023bf-a94b-46be-bbcc-1545f1df0838'}  base64=e2FjY291bnRJZDo0LCBzaXRlSWQ6MTAwMCwgdmlzaXRvcklkOic3OGU4OTU3Ni01YjhmLTRiY2EtOTc0Mi00NTVjN2ExMDFkMDMnLCBzZXNzaW9uSWQ6J2U4ZTAyM2Jm
LWE5NGItNDZiZS1iYmNjLTE1NDVmMWRmMDgzOCd9IA==

Read: {invite:[ChatBeacon Invite object], pushUrl:[ChatBeacon PushUrl object], banned: false, visitorId: 78e89576-5b8f-4bca-9742-455c7a101d03, sessionId: e8e023bf-a94b-46be-bbcc-1545f1df0838, rules:[Array of ChatBeacon RuleActions], screenShare:[screen share service api key], pulse: 25, chatStatus: 1, queueStatus: 1 }