dlg-nii-logs payload

Current version: v1

The application/x-nuance-dlg-nii-logs payloads provide detailed information about events related to the behavior of the dialog application (for example, the dialog was started, input was received, a transition occurred, and so on).

In addition to the standard fields described in data field structure, messages with the application/x-nuance-dlg-nii-logs.v1+json dataContentType include the following fields:

Field Description
seqid Sequence ID of the NII log. It starts at 1 and increments for each NII message in a dialog session. The seqid ensures that you can determine the sequence of the NII logs in a dialog session, since these logs may not be received in the order in which they are created and sent.
events Global and custom events in the project. See NII log events for details. A single NII message may contain one or more events.

NII log events

NII logs can include the following global and custom events. Each event has two fields:

  • name: Name of the event
  • value: Contents of this event; the value field varies depending on the type of event
Event name Description
session-start Indicates the start of an interaction between a user and a dialog application.
selector Provides the channel and language combination used for an interaction.
decision Provides the next node in the dialog flow after a decision. Relates to a decision node.
transition Indicates that the dialog flow encountered a transition.
message Provides the contents of the message payload sent to the client application. Relates to a message node.
qa-config Indicates that the dialog flow encountered a question and answer node.
input-required Indicates that input is required from the user.
input-received Indicates that input was received from the user.
intent Indicates that an intent was set.
input-processed Indicates that the input received from the user has been processed.
question-router Indicates that the dialog flow encountered a question router node.
session-update Provides session variables that were updated.
channel-update Indicates that the channel was updated.
language-update Indicates that the language was updated.
data-required Indicates that the dialog flow encountered a data access node and requires data.
data-received Indicates that data was received.
transfer-initiated Indicates that an external actions node of type “Transfer” was encountered.
transfer-completed Indicates that a transfer action is completed.
component-invoked Indicates that a component was invoked.
component-returned Indicates that the dialog flow has returned after having invoked a component.
event Indicates that client application returned an event.
error Indicates that an error occurred in the dialog flow.
reporting-vars Indicates that a variable marked with a reporting property was set or updated.
application-ended Indicates that the application has ended. Relates to an external actions node of type “End”.
session-stopped Indicates the client explicitly stopped an active session by sending the StopRequest message.

Sample payloads

  Sample payload: dlg-nii-logs  
  Sample payload with client data: dlg-nii-logs  

session-start

  Sample payload  

This event indicates the start of an interaction between a user and a dialog application.

Field Description
runtime Provides information about the runtime environment:
api Version of the DLGaaS API protocol
project Provides details about the project:
name Name of project
namespace Organization for this project
deployed Date and time that the project was deployed
contextTag Context tag of the application configuration used for this session
id ID of project
selector Channel and language used for this interaction:
channel Channel name
language Language for this interaction, identified by a language code
version Versions of the ASR, NLU, and dialog builds used for this session:
asr Language and version of the ASR build. This is the version of the build deployed in the Mix environment.
nlu Language and version of the NLU build. This is the version of the build deployed in the Mix environment.
dlg Version of the dialog build. This is the version of the build deployed in the Mix environment.
user userData values configured for the user; see userData schema in the Mix.dialog documentation for details
timeout The session timeout used. This can be either the default timeout value or a value specified in the StartRequest.
reporting List of variables that are marked with a reporting property in Mix.dialog. See Reporting properties in the Mix.dialog documentation for more information.
attributes Array of variables marked with a reporting property of type attribute. Values provided include name and type.
metrics Array of variables marked with a reporting property of type metric. Values provided include name and type.
dimensions Array of variables marked with a reporting property of type dimension. Values provided include name and type.

selector

  Sample payload  

This event provides the selector. See selector for details.

Field Description
channel Channel used for the interaction
language Language used in this interaction, identified by language code

decision

  Sample payload  

This event indicates that a decision was executed and specifies the next node in the dialog flow. This event relates to a decision node.

Field Description
next Name of the next node in the dialog flow
label Descriptive label for the decision

transition

  Sample payload  

This event represents a transition from a source node to a target node in the dialog flow.

Field Description
from Source node for this transition:
component Component for the source node
name Name of the source node
type Type of node; values include decision, playprompt, dataaccess, dialog, intentmapper, message, questionanswer, questionrouter, transfer, end
uuid UUID of the node
to Target node for this transition:
component Component for the target node
name Name of the target node
type Type of node; values include decision, playprompt, dataaccess, dialog, intentmapper, message, questionanswer, questionrouter, transfer, end
uuid UUID of the node

message

  Sample payload  

This event provides the contents of the message field returned to the client application.

See Message in the DLGaaS documentation for details.

qa-config

  Sample payload  

This event indicates that the dialog flow encountered a question and answer node.

Field Description
confirmationMode Confirmation strategy for the question and answer node. Possible values are ALWAYS, IF_NECESSARY, or NEVER.
role Specifies the current role of the question and answer node. Possible values are:
  • collection: No values are filled so the node needs to collect them.
  • confirmation: A yes/no confirm question was asked (currently not supported).
  • validation: Input is currently being validated.
confidence Low and high confidence thresholds used
name Name of the question and answer node
entity If the entity is collected, the following information is provided:
  • confirmationMode: Confirmation strategy used for the entity. Possible values are ALWAYS, IF_NECESSARY, or NEVER.
  • confidence: Confidence level of the interpretation.
  • name: Name of the entity.
  • value: Value of the entity.
  • required: Indicates whether this entity must be collected.
  • literal: Exact words used by the user.
  • status: Indicates the status of collecting the entity. Possible values are empty, prefilled, collected, confirmed, validated.
Otherwise, the field is null. See Status field for details.

Status field

The following diagram shows how the status field value is determined:

Mix.dialog nodes

  • The empty status indicates that the slot has no value.
  • The prefilled status is used when the client application has filled the entity value or the slot has been filled previously.
  • The collected status indicates that the user provided input and the entity value has been collected.
  • The confirmed indicates that the entity value has been confirmed; this is driven either by the dialog service or upon processing the high confidence level.
  • The validated status indicates that the entity value has been confirmed; this is driven by the dialog service.

input-required

  Sample payload  
  Sample payload with data and interactive elements  

This event indicates that input is required from the user. This event will also include data and interactive elements configured in the question and answer node, if any.

Fields table
Field Description
data Data sent to the client application. See Sending data in the DLGaaS documentation for details.
selectables Interactive elements configured in Mix.dialog for this question and answer node. See Interactive elements in the DLGaaS documentation for details.
inputmodes Input modalities allowed for this interaction. For more information, see input modalities.

input-received

  Sample payload with interpretation  
  Sample payload with selected item  

This event indicates that input was received from the user. This can either be an interpretation or a selected interactive element:

Fields table
Field Description
userText Text collected from end user, if applicable. Only applies for interpretations.
interpretation An interpretation of the input; see Interpretresult in the DLGaaS documentation for a description of the fields.
selectedItem The item selected by the user. See Interactive elements in the DLGaaS documentation for details.

intent

  Sample payload  

This event indicates that an intent was set.

Field Description
value Name of the intent that was set

input-processed

  Sample payload with result collected  
  Sample payload with result maxnoinputs  

This event indicates that the input received from the user has been processed.

Field Description
result Indicate the results of the processing operation. Possible values are collected, maxnomatches, maxnoinputs, maxretries, maxturns, nomatch, noinput
counters Provides the number of times the following events occurred:
nomatch Number of times the user's input could not be matched
help Number of times the user asked for help in an interaction
repeat Number of times the user asked the dialog to repeat the question
invalidRecoOption Number of times the response received was not what was expected (for example, a response was received for an entity called DATE but the response was not a date)
noToConfirm Number of times the user said "no" in the confirmation phase
try Number of recognition steps (recognition request and result) to get a piece of information
turn Number of turns (that is, number of recognition and confirmation steps) in the interaction
noinput Number of times the user did not provide an input

question-router

  Sample payload  

This event indicates that the dialog flow encountered a question router node and provides the information that has been accumulated so far about the entities to collect.

Field Description
belief For every entity that needs to be collected, this field provides the information that has been accumulated so far
confirmationMode Confirmation strategy used. Possible values are ALWAYS, IF_NECESSARY, or NEVER.
inputMode Input modality used for this interaction. For more information, see [input modalities](/tasks/projects/create_proj_custom/#input-modalities).
confidence Confidence level of the interpretation
name Name of the entity
value Value of the entity
required Indicates whether this entity must be collected
literal Exact words used by the user
status Indicates the status of collecting the entity. Possible values are empty, prefilled, collected, confirmed, validated. See Status field for details.

session-update

  Sample payload  

This event provides session variables that were updated with the UpdateRequest method.

Field Description
data Session variables that were updated

channel-update

  Sample payload  

This event indicates that the channel was updated and provides the name of the new channel used for the transaction. It is generated when:

Field Description
value Name of the new channel used for the transaction

language-update

  Sample payload  

This event indicates that the language was updated and provides the locale of the new language used for the transaction. It is generated when:

Field Description
value Locale of the new language used for the transaction

data-required

  Sample payload, client-side integration  
  Sample payload, server-side integration  

This event indicates that the dialog flow encountered a data access node and requires data.

The contents of the event depend on the integration type:

  • For client-side integrations, the event provides the data access node name as well as any data that was sent
  • For server-side integrations, the event provides the data access node name, any data that was sent, as well as details about the endpoint and the timeout settings
Field Description
id Name of the data access node that requested the data
type Integration type:
  • external: Client-side integration
  • internal: Server-side integration
data Data to be sent as configured in the data access node
timeout Timeout values specified in the data access node; applies to server-side integrations only
connect connect timeout value, in milliseconds
request request timeout value, in milliseconds
endpoint Applies to server-side integrations only
type Always REST
method GET or POST
uri The final URI called
headers List of header names sent, if any

data-received

  Sample payload  

This event indicates that the requested data has been received.

Field Description
id Name of the data access node that requested the data
data Data requested
returnCode Variable indicating whether the query was successful. A returnCode of “0” indicates that the transaction was successful.
returnMessage Return message (optional)
duration Duration of the request in milliseconds (applies to server-side integrations only)

transfer-initiated

  Sample payload  

This event indicates that an external actions node of type “Transfer” was encountered. See Transfer actions in the DLGaaS documentation for details.

Field Description
id Name of the external actions node of type “Transfer”.
data Data configured in the transfer node and sent to the client application.
type Transfer type. Possible values are none, bridged, blind, consultative, conditional, and route-request. See transfer actions for details.
destination Transfer destination. See transfer actions for details.

transfer-completed

  Sample payload  

This event indicates that a transfer action is completed. See Transfer actions in the DLGaaS documentation for details.

Field Description
data Any data provided in the requested_data field of the ExecuteRequestPayload
returnCode Return code sent by the client application to indicate the status of the transfer
returnMessage Return message sent by the client application (optional)

component-invoked

  Sample payload  

This event indicates that a component call node was invoked. See Set up a component call node in the Mix.dialog documentation for details.

Field Description
value Name of the component that was invoked

component-returned

  Sample payload  

This event indicates that the dialog flow has returned after having invoked a component.

Field Description
value Always empty

event

  Sample payload  

This event indicates that an event was received. This can be an event sent by the client application or an event that occurred during the dialog flow.

Field Description
name Event type.
For events sent by the client application, this can be, for example: NO_INPUT, NO_MATCH, HANGUP, CUSTOM, SUCCESS. See Dialog event in the DLGaaS documentation for details.
message Optional message associated with the event

error

  Sample payload  

This event indicates that an error occurred in the dialog flow.

Field Description
name Name of the error
message Message associated with the error

reporting-vars

  Sample payload  

This event indicates that a variable marked with a reporting property in Mix.dialog was set or updated.

In particular, this event is logged if a variable is set or updated in the following cases:

  • At session-start
  • At application-end
  • At StopRequest
  • When a response asking for input is returned through the DLGaaS API (for example, qa_action, da_action, and so on)

See Reporting properties in the Mix.dialog documentation for more information.

Field Description
value Key-value pairs of the updated variables.

application-ended

  Sample payload  

This event indicates that the dialog application flow has encountered an external actions node of type “end”.

Field Description
id Name of the end node
language Language used in this interaction
data Variables and entities to be sent to an external system, if applicable

session-stopped

  Sample payload  

This event indicates that the client explicitly stopped an active session by sending the StopRequest message. This event is logged only when the session ID specified in the StopRequest corresponds to an active session. It is not logged if the session was already closed.

This event does not include additional fields.

Special note about dialog session termination

A dialog session is terminated when:

  • The dialog application flow encounters an external actions node of type “end”. In this case, an application-ended event is generated.
  • The client application ends the session by calling StopRequest. In this case, a session-stopped event is generated.
  • An unhandled error occurs. In this case, an error event is generated.
  • The session times out. In this case, no event is generated, as there is no way for the dialog engine to capture when the session ends.