Revision as of 16:55, June 26, 2017 by Mgionet (talk | contribs) (Update with the copy of version: DRAFT)
Jump to: navigation, search

Chat Server API selected notes and topics

The page describes only selected topics about special use cases which might require additional clarification or explanation for the purpose of being used in custom agent desktops and chat widgets. The page does not contain the complete description of Chat Server API which is implemented in Genesys PSDK as flex (Genesyslab.Platform.WebMedia.Protocols > FlexChatProtocol) and basic (Genesyslab.Platform.WebMedia.Protocols > BasicChatProtocol) protocols.

Throughout this page we will be using PSDK .NET for this demonstration purpose (Java PSDK is very similar).

Direct Messages

Chat Server allows to send so called direct (or private) messages and notices to a participant in chat session. Only chat basic protocol provides such functionality. In order to send a message or a notice which will be visible only to a certain participant in chat session, ReceiverId in methods RequestMessage and RequestNotify (defined in Genesyslab.Platform.WebMedia.Protocols.BasicChat.Requests) must be initialized with the userId of the intended participant (which can be obtained from the transcript event). In this case, only two participants will see this message in the transcript: the sender and the recipient.

When receiving a direct message, the transcript will contain either MessageInfo or NoticeInfo (defined in Genesyslab.Platform.WebMedia.Protocols.BasicChat) with corresponded ReceiverId.

Supported:

Chat Server PSDK Workspace (both) Edition Chat Widget/GMS
8.5.108 8.5.1x not available not available

Enhancing security when joining a chat session

Using configuration option session-password-enforce, it is possible to force Chat Server to generate the crypto-random security token (we call it "session password") which will be associated with a chat session during its creation. In this case, Chat Server will require this session password each time a new participant sends a request to join an existing chat session (it must be provided in GCTI_Chat_SessionPassword key/value pair in userdata of RequestJoin). Chat Server attaches the session password to the userdata of the interaction (submitted to Interaction Server) in ChatServerSessionPassword key/value pair). Only in basic chat protocol it is possible to specify a user-defined session password by adding GCTI_Chat_SessionPassword key/value pair in userdata of RequestJoin when creating a chat session.

Supported:

Chat Server PSDK Workspace (both) Edition Chat Widget/GMS
8.5.109 8.5.1x not available not available

Chat bot participant special treatment

Only the agent or supervisor in a chat session can be marked as "bot" participants. It happens when the userdata of RequestJoin (when participant joins chat session) contains GCTI_Chat_SetPartyStyle key/value pair with value "BOT". Chat Server attaches another key/value pair GCTI_Chat_PartyStyle="BOT" to the newParty' event in basic protocol chat transcript and GCTI_SYSTEM/party-into/style"="BOT" in eventAttributes property (both in newParty event in basic protocol and in all events for bot participant in flex protocol).

For "bot" participants:

  • Chat Server does not take such participants into account when processing after-action in RequestReleaseParty with value CloseIfNoAgents.
  • Agent Desktop must not take such participants into account when making a decision to stop the processing of chat session and interaction.
  • Reporting statistics (see Chat Server Reporting Statistics) will not count such participants as an agent or supervisor.

Supported:

Chat Server PSDK Workspace Desktop Edition Workspace Web Edition Chat Widget/GMS
8.5.109 8.5.1x for userdata location, 8.5.303 for eventAttributes 8.5.118 not available not available

Notifications about detected and masked out PII data

Chat Server can be configured to detect and replace PII data in a chat session (see Masking Sensitive Data). If such PII data is detected according to the configuration provided, the message event (both in flex and basic chat transcripts) will contain information in the eventAttributes property about what parts of the message contains detected PII data, and how this data was masked out. In Chat Server logs it can be seen as (text is formatted for presentation):

eventAttributes={'GCTI_SYSTEM'={'pii-cleanup'={
    'rule-0001'={
        'description'='<rule-description>',
        'id'='<rule id>',
        'name'='<rule name>',
        'positions'={
            '70-81'={'replaced'='digits'}
}}}}}

Supported:

Chat Server PSDK Workspace (both) Edition Chat Widget/GMS
8.5.109 8.5.303 not available not available
Comments or questions about this documentation? Contact us for support!