detectIntent method
- GoogleCloudDialogflowV2DetectIntentRequest request,
- String session, {
- String? $fields,
Processes a natural language query and returns structured, actionable data as a result.
This method is not idempotent, because it may cause contexts and session
entity types to be updated, which in turn might affect results of future
queries. If you might use
Agent Assist or other CCAI
products now or in the future, consider using AnalyzeContent instead of
DetectIntent
. AnalyzeContent
has additional functionality for Agent
Assist and other CCAI products. Note: Always use agent versions for
production traffic. See
Versions and environments.
request
- The metadata request object.
Request parameters:
session
- Required. The name of the session this query is sent to.
Format: projects//agent/sessions/
, or
projects//agent/environments//users//sessions/
. If Environment ID
is
not specified, we assume default 'draft' environment (Environment ID
might be referred to as environment name at some places). If User ID
is
not specified, we are using "-". It's up to the API caller to choose an
appropriate Session ID
and User Id
. They can be a random number or
some type of user and session identifiers (preferably hashed). The length
of the Session ID
and User ID
must not exceed 36 characters. For more
information, see the
API interactions guide.
Note: Always use agent versions for production traffic. See
Versions and environments.
Value must have pattern ^projects/\[^/\]+/agent/sessions/\[^/\]+$
.
$fields
- Selector specifying which fields to include in a partial
response.
Completes with a GoogleCloudDialogflowV2DetectIntentResponse.
Completes with a commons.ApiRequestError if the API endpoint returned an error.
If the used http.Client
completes with an error when making a REST call,
this method will complete with the same error.
Implementation
async.Future<GoogleCloudDialogflowV2DetectIntentResponse> detectIntent(
GoogleCloudDialogflowV2DetectIntentRequest request,
core.String session, {
core.String? $fields,
}) async {
final body_ = convert.json.encode(request);
final queryParams_ = <core.String, core.List<core.String>>{
if ($fields != null) 'fields': [$fields],
};
final url_ = 'v2/' + core.Uri.encodeFull('$session') + ':detectIntent';
final response_ = await _requester.request(
url_,
'POST',
body: body_,
queryParams: queryParams_,
);
return GoogleCloudDialogflowV2DetectIntentResponse.fromJson(
response_ as core.Map<core.String, core.dynamic>);
}