Class SessionSpecification

    • Method Detail

      • botAliasId

        public final String botAliasId()

        The identifier of the alias of the bot that the session was held with.

        Returns:
        The identifier of the alias of the bot that the session was held with.
      • botVersion

        public final String botVersion()

        The version of the bot that the session was held with.

        Returns:
        The version of the bot that the session was held with.
      • localeId

        public final String localeId()

        The locale of the bot that the session was held with.

        Returns:
        The locale of the bot that the session was held with.
      • channel

        public final String channel()

        The channel that is integrated with the bot that the session was held with.

        Returns:
        The channel that is integrated with the bot that the session was held with.
      • sessionId

        public final String sessionId()

        The identifier of the session.

        Returns:
        The identifier of the session.
      • conversationStartTime

        public final Instant conversationStartTime()

        The date and time when the conversation began. A conversation is defined as a unique combination of a sessionId and an originatingRequestId.

        Returns:
        The date and time when the conversation began. A conversation is defined as a unique combination of a sessionId and an originatingRequestId.
      • conversationEndTime

        public final Instant conversationEndTime()

        The date and time when the conversation ended. A conversation is defined as a unique combination of a sessionId and an originatingRequestId.

        Returns:
        The date and time when the conversation ended. A conversation is defined as a unique combination of a sessionId and an originatingRequestId.
      • conversationDurationSeconds

        public final Long conversationDurationSeconds()

        The duration of the conversation in seconds. A conversation is defined as a unique combination of a sessionId and an originatingRequestId.

        Returns:
        The duration of the conversation in seconds. A conversation is defined as a unique combination of a sessionId and an originatingRequestId.
      • conversationEndStateAsString

        public final String conversationEndStateAsString()

        The final state of the conversation. A conversation is defined as a unique combination of a sessionId and an originatingRequestId.

        If the service returns an enum value that is not available in the current SDK version, conversationEndState will return ConversationEndState.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from conversationEndStateAsString().

        Returns:
        The final state of the conversation. A conversation is defined as a unique combination of a sessionId and an originatingRequestId.
        See Also:
        ConversationEndState
      • mode

        public final AnalyticsModality mode()

        The mode of the session. The possible values are as follows:

        • Speech – The session was spoken.

        • Text – The session was written.

        • DTMF – The session used a touch-tone keypad (Dual Tone Multi-Frequency).

        • MultiMode – The session used multiple modes.

        If the service returns an enum value that is not available in the current SDK version, mode will return AnalyticsModality.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from modeAsString().

        Returns:
        The mode of the session. The possible values are as follows:

        • Speech – The session was spoken.

        • Text – The session was written.

        • DTMF – The session used a touch-tone keypad (Dual Tone Multi-Frequency).

        • MultiMode – The session used multiple modes.

        See Also:
        AnalyticsModality
      • modeAsString

        public final String modeAsString()

        The mode of the session. The possible values are as follows:

        • Speech – The session was spoken.

        • Text – The session was written.

        • DTMF – The session used a touch-tone keypad (Dual Tone Multi-Frequency).

        • MultiMode – The session used multiple modes.

        If the service returns an enum value that is not available in the current SDK version, mode will return AnalyticsModality.UNKNOWN_TO_SDK_VERSION. The raw value returned by the service is available from modeAsString().

        Returns:
        The mode of the session. The possible values are as follows:

        • Speech – The session was spoken.

        • Text – The session was written.

        • DTMF – The session used a touch-tone keypad (Dual Tone Multi-Frequency).

        • MultiMode – The session used multiple modes.

        See Also:
        AnalyticsModality
      • numberOfTurns

        public final Long numberOfTurns()

        The number of turns that the session took.

        Returns:
        The number of turns that the session took.
      • hasInvokedIntentSamples

        public final boolean hasInvokedIntentSamples()
        For responses, this returns true if the service returned a value for the InvokedIntentSamples property. This DOES NOT check that the value is non-empty (for which, you should check the isEmpty() method on the property). This is useful because the SDK will never return a null collection or map, but you may need to differentiate between the service returning nothing (or null) and the service returning an empty collection or map. For requests, this returns true if a value for the property was specified in the request builder, and false if a value was not specified.
      • invokedIntentSamples

        public final List<InvokedIntentSample> invokedIntentSamples()

        A list of objects containing the name of an intent that was invoked.

        Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.

        This method will never return null. If you would like to know whether the service returned this field (so that you can differentiate between null and empty), you can use the hasInvokedIntentSamples() method.

        Returns:
        A list of objects containing the name of an intent that was invoked.
      • originatingRequestId

        public final String originatingRequestId()

        The identifier of the first request in a session.

        Returns:
        The identifier of the first request in a session.
      • hashCode

        public final int hashCode()
        Overrides:
        hashCode in class Object
      • equals

        public final boolean equals​(Object obj)
        Overrides:
        equals in class Object
      • toString

        public final String toString()
        Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
        Overrides:
        toString in class Object
      • getValueForField

        public final <T> Optional<T> getValueForField​(String fieldName,
                                                      Class<T> clazz)