MessageContextGlobalSystem

public struct MessageContextGlobalSystem : Codable, Equatable

Built-in system properties that apply to all skills used by the assistant.

  • The language code for localization in the user input. The specified locale overrides the default for the assistant, and is used for interpreting entity values in user input such as date values. For example, 04/03/2018 might be interpreted either as April 3 or March 4, depending on the locale. This property is included only if the new system entities are enabled for the skill.

    See more

    Declaration

    Swift

    public enum Locale : String
  • The user time zone. The assistant uses the time zone to correctly resolve relative time references.

    Declaration

    Swift

    public var timezone: String?
  • A string value that identifies the user who is interacting with the assistant. The client must provide a unique identifier for each individual end user who accesses the application. For user-based plans, this user ID is used to identify unique users for billing purposes. This string cannot contain carriage return, newline, or tab characters. If no value is specified in the input, user_id is automatically set to the value of context.global.session_id. Note: This property is the same as the user_id property at the root of the message body. If user_id is specified in both locations in a message request, the value specified at the root is used.

    Declaration

    Swift

    public var userID: String?
  • A counter that is automatically incremented with each turn of the conversation. A value of 1 indicates that this is the the first turn of a new conversation, which can affect the behavior of some skills (for example, triggering the start node of a dialog).

    Declaration

    Swift

    public var turnCount: Int?
  • The language code for localization in the user input. The specified locale overrides the default for the assistant, and is used for interpreting entity values in user input such as date values. For example, 04/03/2018 might be interpreted either as April 3 or March 4, depending on the locale. This property is included only if the new system entities are enabled for the skill.

    Declaration

    Swift

    public var locale: String?
  • The base time for interpreting any relative time mentions in the user input. The specified time overrides the current server time, and is used to calculate times mentioned in relative terms such as now or tomorrow. This can be useful for simulating past or future times for testing purposes, or when analyzing documents such as news articles. This value must be a UTC time value formatted according to ISO 8601 (for example, 2021-06-26T12:00:00Z for noon UTC on 26 June 2021). This property is included only if the new system entities are enabled for the skill.

    Declaration

    Swift

    public var referenceTime: String?
  • The time at which the session started. With the stateful message method, the start time is always present, and is set by the service based on the time the session was created. With the stateless message method, the start time is set by the service in the response to the first message, and should be returned as part of the context with each subsequent message in the session. This value is a UTC time value formatted according to ISO 8601 (for example, 2021-06-26T12:00:00Z for noon UTC on 26 June 2021).

    Declaration

    Swift

    public var sessionStartTime: String?
  • An encoded string that represents the configuration state of the assistant at the beginning of the conversation. If you are using the stateless message method, save this value and then send it in the context of the subsequent message request to avoid disruptions if there are configuration changes during the conversation (such as a change to a skill the assistant uses).

    Declaration

    Swift

    public var state: String?
  • Initialize a MessageContextGlobalSystem with member variables.

    Declaration

    Swift

    public init(
        timezone: String? = nil,
        userID: String? = nil,
        turnCount: Int? = nil,
        locale: String? = nil,
        referenceTime: String? = nil,
        sessionStartTime: String? = nil,
        state: String? = nil
    )

    Parameters

    timezone

    The user time zone. The assistant uses the time zone to correctly resolve relative time references.

    userID

    A string value that identifies the user who is interacting with the assistant. The client must provide a unique identifier for each individual end user who accesses the application. For user-based plans, this user ID is used to identify unique users for billing purposes. This string cannot contain carriage return, newline, or tab characters. If no value is specified in the input, user_id is automatically set to the value of context.global.session_id. Note: This property is the same as the user_id property at the root of the message body. If user_id is specified in both locations in a message request, the value specified at the root is used.

    turnCount

    A counter that is automatically incremented with each turn of the conversation. A value of 1 indicates that this is the the first turn of a new conversation, which can affect the behavior of some skills (for example, triggering the start node of a dialog).

    locale

    The language code for localization in the user input. The specified locale overrides the default for the assistant, and is used for interpreting entity values in user input such as date values. For example, 04/03/2018 might be interpreted either as April 3 or March 4, depending on the locale. This property is included only if the new system entities are enabled for the skill.

    referenceTime

    The base time for interpreting any relative time mentions in the user input. The specified time overrides the current server time, and is used to calculate times mentioned in relative terms such as now or tomorrow. This can be useful for simulating past or future times for testing purposes, or when analyzing documents such as news articles. This value must be a UTC time value formatted according to ISO 8601 (for example, 2021-06-26T12:00:00Z for noon UTC on 26 June 2021). This property is included only if the new system entities are enabled for the skill.

    sessionStartTime

    The time at which the session started. With the stateful message method, the start time is always present, and is set by the service based on the time the session was created. With the stateless message method, the start time is set by the service in the response to the first message, and should be returned as part of the context with each subsequent message in the session. This value is a UTC time value formatted according to ISO 8601 (for example, 2021-06-26T12:00:00Z for noon UTC on 26 June 2021).

    state

    An encoded string that represents the configuration state of the assistant at the beginning of the conversation. If you are using the stateless message method, save this value and then send it in the context of the subsequent message request to avoid disruptions if there are configuration changes during the conversation (such as a change to a skill the assistant uses).

    Return Value

    An initialized MessageContextGlobalSystem.