Sessions management

This section contains session and engagement management proto files.

sessions_manager_service.proto

SessionsManager

This service allows managing session and engagement entities. A session represents a single interaction of a person or a user with the system. There are several different session types, which can be classified into two main classes: online and offline.

An online session represents an interactive interaction of a person with the system (for example, a phone call) and can include multiple calls to different API methods. For example, multiple authentication attempts. An offline session represents a set of actions invoked by an application or an administrative user. In an offline session, there is no active engagement between a person and the system.

An engagement aggregates all sessions related to a customer transaction. For example, a call that started in the IVR, but later transferred to an agent.

gRPC method definitions

gRPC method definitions
Method Name Request Type Response Type Description
StartSession StartSession
Request
StartSession
Response
Starts a new session. This session can be part of an existing engagement or it can invoke the creation of a new engagement. To implicitly create a new engagement, leave the engagement_id of the context empty. The method returns the newly created session ID.
StopSession StopSession
Request
StopSession
Response
Stops the session. Nuance recommends ending a session as soon as it is over. The session automatically terminates after a pre-configured timeout that may vary according to the session type.

If configset_id is not provided to the Stop Session API request, configset_id is fetched in one of the following ways depending on the precedence (Lower the index number, higher the precedence):
  1. The configset_id value is fetched from GetSessionDecision API request.
  2. Otherwise, the configset_id value is fetched from StartSession API request.
  3. Otherwise, the configset_id value is fetched from any factor with configset_id.
  4. Otherwise, the system uses the default configset values.
GetSessionDetails GetSessionDetails
Request
GetSessionDetails
Response
Retrieves the session’s details.
UpdateSession UpdateSession
Request
UpdateSession
Response
Updates the session’s details.
GetSessionDecision GetSessionDecision
Request
GetSessionDecision
Response
Retrieves the session decision. A session decision is reached based on all authentication and fraud detection factors used in the session. The system also takes into account factors used in previous sessions that belong to the same engagement.
StartEngagement StartEngagement
Request
StartEngagement
Response
Starts a new engagement. Engagements can be created implicitly when creating the first session. The method returns the newly created engagement ID.
StopEngagement StopEngagement
Request
StopEngagement
Response
Stops the engagement. Nuance recommends stopping an engagement as soon as the last online session of the engagement stops. After an engagement stops, other offline sessions can still be added to the engagement, but factors that belong to previous sessions are not taken into account when calculating the session decision. The session is automatically stopped after a pre-configured timeout.
UpdateEngagement UpdateEngagement
Request
UpdateEngagement
Response
Updates engagement details.
GetEngagementDetails GetEngagementDetails
Request
GetEngagementDetails
Response
Retrieves engagement details.
SetEngagementVerdict SetEngagementVerdict
Request
SetEngagementVerdict
Response
Sets the engagement verdict. The verdict should be set by a fraud analyst after reviewing engagement data (such as audio, scores, decisions, and so on).
GetGkEngagementId GetGkEngagementId
Request
GetGkEngagementId
Response
Retrieves the unique ID of the specified engagement.
ListCorrelatedEngagements ListCorrelatedEngagements
Request
ListCorrelatedEngagements
Response
Retrieves the engagement details of the specified correlation ID. The method returns the five most recent results, ordered by the engagement’s creation timestamp, in a descending order.

Methods with HTTP bindings

StartSession

  PUT /v1/sessions/start  
  POST /v1/sessions/start  

StopSession

  PUT /v1/sessions/stop  
  POST /v1/sessions/stop  

GetSessionDetails

  GET /v1/sessions/details  

UpdateSession

  PATCH /v1/sessions/details  

GetSessionDecision

  GET /v1/sessions/decision  

StartEngagement

  PUT /v1/engagements/start  
  POST /v1/engagements/start  

StopEngagement

  PUT /v1/engagements/stop  
  POST /v1/engagements/stop  

UpdateEngagement

  PATCH /v1/engagements/details  

GetEngagementDetails

  GET /v1/engagements/details  

SetEngagementVerdict

  PUT /v1/engagements/verdict  

GetGkEngagementId

  GET /v1/engagements/{engagement_id}/gkid  

ListCorrelatedEngagements

  GET /v1/engagements/correlations/{correlation_id}  

engagements_messages.proto

CorrelatedEngagementDetails

Contains the readable fields of the engagement. Included in ListCorrelatedEngagementsResponse.

CorrelatedEngagementDetails
Field Type Description
gk_engagement_id nuance.biosec.v1.UniqueId Mandatory. Engagement’s unique ID.
engagement_id string Optional. The engagement’s external ID provided by the client.
is_active bool Mandatory. Specifies if the engagement is still active.
creation_timestamp google.protobuf.Timestamp Mandatory. Date and time of the engagement’s creation.

EngagementDetailsForCreate

Contains fields that the system uses to create an engagement. Included in StartEngagement.

EngagementDetailsForCreate
Field Type Description
engagement_id string Optional. The engagement’s external ID provided by the client.
correlation_id string Optional. The engagement’s correlation ID provided by the client.
custom_data repeated EngagementDetailsForCreate.CustomDataEntry List of custom application data in key-value pairs.

EngagementDetailsForCreate.CustomDataEntry

EngagementDetailsForCreate.CustomDataEntry
Field Type Description
key string  
value string  

EngagementDetailsForRead

Contains the readable fields of the engagement. Included in GetEngagementDetailsResponse.

EngagementDetailsForRead
Field Type Description
gk_engagement_id nuance.biosec.v1.UniqueId Engagement’s unique ID.
gk_session_ids repeated nuance.biosec.v1.UniqueId List of sessions associated with this engagement.
is_active bool Specifies if the engagement is still active.
engagement_id string The engagement’s external ID provided by the client.
analyst_id string The user ID of the analyst who reviewed the engagement.
verdict_info EngagementVerdictInfo Information about the engagement’s verdict, if it is set.
risk_info EngagementRiskInfo The engagement’s risk scores and decision.
correlation_id string The engagement’s correlation ID provided by the client.
creation_timestamp google.protobuf.Timestamp Date and time of the engagement’s creation.
completion_timestamp google.protobuf.Timestamp Date and time of the engagement’s completion.
modification_timestamp google.protobuf.Timestamp Date and time of the last update.
custom_data repeated EngagementDetailsForRead.CustomDataEntry List of custom application data in key-value pairs.

EngagementDetailsForRead.CustomDataEntry

EngagementDetailsForRead.CustomDataEntry
Field Type Description
key string  
value string  

EngagementDetailsForUpdate

Contains the writable fields of the engagement. Included in StartEngagement.

EngagementDetailsForUpdate
Field Type Description
engagement_id string Optional. The engagement’s external ID provided by the client.
analyst_id string Identifier of the analyst who analyzes the call.
correlation_id string Optional. The engagement’s correlation ID provided by the client.
custom_data repeated EngagementDetailsForUpdate.CustomDataEntry List of custom application data in key-value pairs.

EngagementDetailsForUpdate.CustomDataEntry

EngagementDetailsForUpdate.CustomDataEntry
Field Type Description
key string  
value string  

EngagementRiskInfo

The engagement’s risk scores and decision.

EngagementRiskInfo
Field Type Description
risk google.protobuf.Int32Value The risk score.
reliability google.protobuf.Int32Value The risk score’s reliability.
decision nuance.biosec.v1.Decision The engagement decision.
decision_reason DecisionReason The engagement decision reason.

EngagementVerdictInfo

Information about the engagement verdict.

EngagementVerdictInfo
Field Type Description
verdict nuance.biosec.v1.EngagementVerdict The verdict’s decision.
description string Additional description for the verdict and the reasons for reaching it.
amount google.protobuf.Int64Value Amount of money associated with this interaction.
verdict_timestamp google.protobuf.Timestamp Date and time at which the verdict is set.
analyst_id string Name of the analyst who analyzes the call and sets the verdict. Previously set automatically via the SetEngagementVerdict API.

GetEngagementDetailsRequest

Input message that defines parameters for GetEngagementDetails.

Uses the context field as follows:

GetEngagementDetailsRequest
Field Type Description
context nuance.biosec.v1.Context Mandatory. General request context.
gk_engagement_id nuance.biosec.v1.UniqueId Optional. Engagement’s unique ID. Not needed in GetEngagementDetailsRequest if already set in Context.
field_mask google.protobuf.FieldMask Optional. A field mask used to specify the EngagementDetailsForRead fields that the method reads.

GetEngagementDetailsResponse

Output message that defines parameters returned by GetEngagementDetails.

GetEngagementDetailsResponse
Field Type Description
status nuance.rpc.Status General operation status.
details EngagementDetailsForRead Engagement details.

GetGkEngagementIdRequest

Input message that defines parameters for GetGkEngagementId.

Uses the context field as follows:

  • gk_engagement_id: Not used
  • gk_session_id: Not used
  • gk_scope_id: Mandatory
  • configset_id: Not used
GetGkEngagementIdRequest
Field Type Description
context nuance.biosec.v1.Context Mandatory. General request context.
engagement_id string Mandatory. Identifies the engagement.

GetGkEngagementIdResponse

Output message that defines parameters returned by GetGkEngagementId.

GetGkEngagementIdResponse
Field Type Description
status nuance.rpc.Status General operation status.
gk_engagement_id nuance.biosec.v1.UniqueId Engagement’s unique ID.

ListCorrelatedEngagementsRequest

Input message that defines parameters for ListCorrelatedEngagements.

Uses the context field as follows:

  • gk_engagement_id: Not used
  • gk_session_id: Not used
  • gk_scope_id: Mandatory
  • configset_id: Not used
ListCorrelatedEngagementsRequest
Field Type Description
context nuance.biosec.v1.Context Mandatory. General request context.
correlation_id string Mandatory. Engagements correlation ID.

ListCorrelatedEngagementsResponse

Output message that defines parameters returned by ListCorrelatedEngagements.

ListCorrelatedEngagementsResponse
Field Type Description
status nuance.rpc.Status Mandatory. General operation status.
engagements repeated CorrelatedEngagementDetails Mandatory. List of engagements details.

SetEngagementVerdictRequest

Input message that defines parameters for SetEngagementVerdict.

Uses the context field as follows:

SetEngagementVerdictRequest
Field Type Description
context nuance.biosec.v1.Context Mandatory. General request context.
gk_engagement_id nuance.biosec.v1.UniqueId Optional. Engagement’s unique ID. Not needed in SetEngagementVerdictRequest if already set in Context.
verdict nuance.biosec.v1.EngagementVerdict Mandatory. Engagement’s verdict.
description string Optional. Additional description for the verdict and the reasons for reaching it.
amount google.protobuf.Int64Value Optional. Amount of money associated with this interaction.
reset_enroll_attributes_on_fraud bool Optional. Cleanup enrollments that have been performed and consents that have been given during the engagement, upon fraud verdict.

SetEngagementVerdictResponse

Output message that defines parameters returned by SetEngagementVerdict.

SetEngagementVerdictResponse
Field Type Description
status nuance.rpc.Status General operation status.

StartEngagementRequest

Input message that defines parameters for StartEngagement.

Uses the context field as follows:

  • gk_engagement_id: Not used
  • gk_session_id: Not used
  • gk_scope_id: Mandatory
  • configset_id: Optional
StartEngagementRequest
Field Type Description
context nuance.biosec.v1.Context Mandatory. General request context.
details EngagementDetailsForCreate Optional. Additional engagement data.
field_mask google.protobuf.FieldMask Optional. A field mask used to specify the EngagementDetailsForCreate fields that the method sets.

StartEngagementResponse

Output message that defines parameters returned by StartEngagement.

StartEngagementResponse
Field Type Description
status nuance.rpc.Status General operation status.
gk_engagement_id nuance.biosec.v1.UniqueId Unique ID of the newly created engagement.

StopEngagementRequest

Input message that defines parameters for StopEngagement.

Uses the context field as follows:

  • gk_engagement_id: Mandatory
  • gk_session_id: Not used
  • gk_scope_id: Mandatory
  • configset_id: Optional
StopEngagementRequest
Field Type Description
context nuance.biosec.v1.Context Mandatory. General request context.

StopEngagementResponse

Output message that defines parameters returned by StopEngagement.

StopEngagementResponse
Field Type Description
status nuance.rpc.Status General operation status.

UpdateEngagementRequest

Input message that defines parameters for UpdateEngagement.

Uses the context field as follows:

  • gk_engagement_id: Optional. Not needed in Context if already set in UpdateEngagementRequest.
  • gk_session_id: Not used
  • gk_scope_id: Mandatory
  • configset_id: Not used
UpdateEngagementRequest
Field Type Description
context nuance.biosec.v1.Context Mandatory. General request context.
gk_engagement_id nuance.biosec.v1.UniqueId Optional. Engagement’s unique ID. Not needed in UpdateEngagementRequest if already set in Context.
details EngagementDetailsForUpdate Mandatory. Details that the method updates.
field_mask google.protobuf.FieldMask Mandatory. A field mask used to specify the EngagementDetailsForUpdate fields that the method sets.

UpdateEngagementResponse

Output message that defines parameters returned by UpdateEngagement.

UpdateEngagementResponse
Field Type Description
status nuance.rpc.Status General operation status.

sessions_messages.proto

GetSessionDecisionRequest

Input message that defines parameters for GetSessionDecision.

Uses the context field as follows:

  • gk_engagement_id: Mandatory
  • gk_session_id: Optional. Not needed in Context if already set in GetSessionDecisionRequest.
  • gk_scope_id: Mandatory
  • configset_id: Not used
GetSessionDecisionRequest
Field Type Description
context nuance.biosec.v1.Context Mandatory. General request context.
gk_session_id nuance.biosec.v1.UniqueId Optional. Session’s unique ID. Not needed in GetSessionDecisionRequest if already set in Context.

GetSessionDecisionResponse

Output message that defines parameters returned by GetSessionDecision.

GetSessionDecisionResponse
Field Type Description
status nuance.rpc.Status General operation status.
risk google.protobuf.Int32Value The risk score.
reliability google.protobuf.Int32Value The risk score’s reliability.
decision nuance.biosec.v1.Decision The session decision.
decision_reason DecisionReason The session decision reason.

GetSessionDetailsRequest

Input message that defines parameters for GetSessionDetails.

Uses the context field as follows:

  • gk_engagement_id: Not used
  • gk_session_id: Optional. Not needed in Context if already set in GetSessionDetailsRequest.
  • gk_scope_id: Mandatory
  • configset_id: Not used
GetSessionDetailsRequest
Field Type Description
context nuance.biosec.v1.Context Mandatory. General request context.
gk_session_id nuance.biosec.v1.UniqueId Optional. Session’s unique ID. Not needed in GetSessionDetailsRequest if already set in Context.
field_mask google.protobuf.FieldMask Optional. A field mask used to specify the SessionDetailsForRead fields that the method reads.

GetSessionDetailsResponse

Output message that defines parameters returned by GetSessionDetails.

GetSessionDetailsResponse
Field Type Description
status nuance.rpc.Status General operation status.
details SessionDetailsForRead Session details. Session details are available in one of the following cases:

  • The session is currently active.
  • The post-call session did not run or end yet.
    As the post-call is not finished or ignored, previous sessions remain in the cache, even if they are no longer active.

SessionDetailsForCreate

Contains fields that the system uses to create a session. Included in StartSession.

SessionDetailsForCreate
Field Type Description
session_id string Optional. The external session’s ID provided by the client.
ani string Optional. Automatic Number Identification - identifies the caller.
dnis string Optional. Dialed Number Identification Service - identifies the receiver of the call.
call_type nuance.biosec.v1.CallType Optional. The call type.
claimed_gk_person_id nuance.biosec.v1.UniqueId Optional. The session’s claimed person ID.
session_intent nuance.biosec.v1.SessionIntent Optional. The session’s main purpose. Can be enrollment, verification, and so on.
business_type string Optional. The session business type, also known as line of business. Free text, up to 64 characters.
datacenter string Optional. The name of the datacenter from which the request originated. Free text, up to 64 characters.
group_size google.protobuf.Int32Value Optional. Original size of persons’ group that is requested for identification.
custom_data repeated SessionDetailsForCreate.CustomDataEntry Optional. List of custom application data in key-value pairs.

SessionDetailsForCreate.CustomDataEntry

SessionDetailsForCreate.CustomDataEntry
Field Type Description
key string  
value string  

SessionDetailsForRead

Contains the readable fields of the session. Included in GetSessionDetailsResponse.

SessionDetailsForRead
Field Type Description
gk_session_id nuance.biosec.v1.UniqueId Session’s unique ID.
session_type nuance.biosec.v1.SessionType Session type.
gk_engagement_id nuance.biosec.v1.UniqueId ID of the engagement that this session belongs to.
is_test bool Indicates that this session is part of a test.
is_active bool Specifies if the session is still active.
session_id string The external session’s ID, as provided by the client.
is_suspicious bool Specifies if the session is marked as suspicious by the contact center agent.
suspicious_reason string The reason for marking this session as suspicious.
ani string Automatic Number Identification - identifies the caller.
dnis string Dialed Number Identification Service - identifies the receiver of the call.
agent_id string ID of the agent that handled the call.
agent_extension string The agent’s extension.
call_type nuance.biosec.v1.CallType The call type.
claimed_gk_person_id nuance.biosec.v1.UniqueId The session’s claimed person ID.
was_abandon bool Indicates if the call was abandoned before it was fully handled.
risk_info SessionRiskInfo The session’s risk scores and decision.
session_intent nuance.biosec.v1.SessionIntent Optional. The session’s main purpose. Can be enrollment, verification, and so on.
business_type string Optional. The session business type, also known as line of business.
datacenter string Optional. The name of the datacenter from which the request originated.
session_error SessionErrorDetailsForRead Optional. Error occurred during the session.
group_size google.protobuf.Int32Value Optional. Original size of persons group that is requested for identification.
creation_timestamp google.protobuf.Timestamp Date and time of the session’s creation.
completion_timestamp google.protobuf.Timestamp Date and time of the session’s completion.
modification_timestamp google.protobuf.Timestamp Date and time of last update.
custom_data repeated SessionDetailsForRead.CustomDataEntry List of custom application data in key-value pairs.

SessionDetailsForRead.CustomDataEntry

SessionDetailsForRead.CustomDataEntry
Field Type Description
key string  
value string  

SessionDetailsForUpdate

Contains the writable fields of the session. Included in StartSession.

SessionDetailsForUpdate
Field Type Description
session_id string Optional. The external session’s ID provided by the client.
is_suspicious bool Optional. Specifies if the Session is marked as suspicious by the contact center agent.
suspicious_reason string Optional. The reason for marking this session as suspicious.
ani string Optional. Automatic Number Identification - identifies the caller.
dnis string Optional. Dialed Number Identification Service - identifies the receiver of the call.
call_type nuance.biosec.v1.CallType Optional. The call type.
claimed_gk_person_id nuance.biosec.v1.UniqueId Optional. The session’s claimed person ID.
was_abandon bool Optional. Indicates if the call was abandoned before it was fully handled.
session_intent nuance.biosec.v1.SessionIntent Optional. The session’s main purpose. Can be enrollment, verification, and so on.
business_type string Optional. The session business type, also known as line of business. Free text, up to 64 characters.
datacenter string Optional. The name of the datacenter from which the request originated. Free text, up to 64 characters.
session_error SessionErrorDetailsForUpdate Optional. Error occurred during the Session.
group_size google.protobuf.Int32Value Optional. Original size of persons’ group that is requested for identification.
custom_data repeated SessionDetailsForUpdate.CustomDataEntry Optional. List of custom application data in key-value pairs.

SessionDetailsForUpdate.CustomDataEntry

SessionDetailsForUpdate.CustomDataEntry
Field Type Description
key string  
value string  

SessionErrorDetailsForRead

Contains the readable fields of the error occurred during the session. Included in SessionDetailsForRead.

SessionErrorDetailsForRead
Field Type Description
status_code nuance.rpc.StatusCode Optional. Represents the status code received from the operation response.
error_message string Optional. Error message. This value should not contain sensitive information.
error_context string Optional. Error context. Represents the operation name.
error_timestamp google.protobuf.Timestamp Optional. Date and time at which the error is reported.
diagnostic_details repeated nuance.rpc.DiagnosticDetail Optional. Detailed diagnostic info. If more than one is returned, the order does not indicate the order of operations.

SessionErrorDetailsForUpdate

Contains the writable fields of the error occurred during the session. Included in SessionDetailsForUpdate.

SessionErrorDetailsForUpdate
Field Type Description
status_code nuance.rpc.StatusCode Optional. Represents the status code received from the operation response.
error_message string Optional. Error message. This value should not contain sensitive information.
error_context string Optional. Error context. Represents the operation name.
error_timestamp google.protobuf.Timestamp Optional. Date and time at which the error is reported.
diagnostic_details repeated nuance.rpc.DiagnosticDetail Optional. Detailed diagnostic info. If more than one is returned, the order does not indicate the order of operations.

SessionRiskInfo

The session’s risk scores and decision.

SessionRiskInfo
Field Type Description
risk google.protobuf.Int32Value The risk score.
reliability google.protobuf.Int32Value The risk score’s reliability.
decision nuance.biosec.v1.Decision The session decision.
decision_reason DecisionReason The session decision reason.

StartSessionRequest

Input message that defines parameters for StartSession.

Uses the context field as follows:

  • gk_engagement_id: Optional
  • gk_session_id: Not used
  • gk_scope_id: Mandatory
  • configset_id: Optional
StartSessionRequest
Field Type Description
context nuance.biosec.v1.Context Mandatory. General request context.
session_type nuance.biosec.v1.SessionType Mandatory. Session type.
details SessionDetailsForCreate Optional. Additional session data.
field_mask google.protobuf.FieldMask Optional. A field mask used to specify the SessionDetailsForCreate fields that the method sets.
is_test bool Indicates that this session is part of a test. Set to true in order to exclude this session from reports.

StartSessionResponse

Output message that defines parameters returned by StartSession.

StartSessionResponse
Field Type Description
status nuance.rpc.Status General operation status.
gk_session_id nuance.biosec.v1.UniqueId Unique ID of the newly created session.
gk_engagement_id nuance.biosec.v1.UniqueId Unique ID of the engagement that this session belongs to. In case an engagement ID is not specified in the request context, the value contains the ID of a newly created engagement.

StopSessionRequest

Input message that defines parameters for StopSession.

Uses the context field as follows:

  • gk_engagement_id: Mandatory
  • gk_session_id: Mandatory
  • gk_scope_id: Mandatory
  • configset_id: Optional
StopSessionRequest
Field Type Description
context nuance.biosec.v1.Context Mandatory. General request context.

StopSessionResponse

Output message that defines parameters returned by StopSession.

StopSessionResponse
Field Type Description
status nuance.rpc.Status General operation status.

UpdateSessionRequest

Input message that defines parameters for UpdateSession.

Uses the context field as follows:

  • gk_engagement_id: Mandatory
  • gk_session_id: Optional. Not needed in Context if already set in UpdateSessionRequest.
  • gk_scope_id: Mandatory
  • configset_id: Not used
UpdateSessionRequest
Field Type Description
context nuance.biosec.v1.Context Mandatory. General request context.
gk_session_id nuance.biosec.v1.UniqueId Optional. Session’s unique ID. Not needed in UpdateSessionRequest if already set in Context.
details SessionDetailsForUpdate Mandatory. Details that the method updates.
field_mask google.protobuf.FieldMask Mandatory. A field mask used to specify the SessionDetailsForUpdate fields that the method sets.

UpdateSessionResponse

Output message that defines parameters returned by UpdateSession.

UpdateSessionResponse
Field Type Description
status nuance.rpc.Status General operation status.

sessions_manager_enums.proto

DecisionReason

The risk engine’s decision reason.

Name Number Description
DECISION_REASON_UNSPECIFIED 0 Decision reason is not set.
DECISION_REASON_LOW_RELIABILITY 1 The system could not reach a reliable decision.
DECISION_REASON_NO_RISK_DETECTED 2 Risk is not detected.
DECISION_REASON_AUTHENTIC 3 This is probably the authentic person.
DECISION_REASON_FRAUD_RISK 4 A fraud attempt probably occurred.
DECISION_REASON_NO_MATCH 5 This is probably not the authentic person.
DECISION_REASON_NO_DATA 100 System cannot reach a decision due to lack of supporting data.
DECISION_REASON_BAD_CONFIGURATION 101 System cannot reach a decision due to bad configuration.
DECISION_REASON_NO_AVAILABLE_SCORES 102 System cannot reach a decision due to lack of scores.
DECISION_REASON_BAD_AUDIO 103 System cannot reach a decision due to bad audio.
DECISION_REASON_BAD_TEXT 104 System cannot reach a decision due to bad text.
DECISION_REASON_INTERNAL_ERROR 999 An error occurred while making the decision.