- 4.59.0 (latest)
- 4.58.0
- 4.57.0
- 4.55.0
- 4.54.0
- 4.53.0
- 4.52.0
- 4.51.0
- 4.50.0
- 4.49.0
- 4.48.0
- 4.47.0
- 4.46.0
- 4.45.0
- 4.43.0
- 4.42.0
- 4.41.0
- 4.40.0
- 4.39.0
- 4.38.0
- 4.37.0
- 4.36.0
- 4.35.0
- 4.34.0
- 4.33.0
- 4.30.0
- 4.29.0
- 4.28.0
- 4.27.0
- 4.26.0
- 4.25.0
- 4.24.0
- 4.23.0
- 4.22.0
- 4.21.0
- 4.20.0
- 4.19.0
- 4.18.0
- 4.17.0
- 4.15.0
- 4.14.0
- 4.13.0
- 4.12.0
- 4.11.0
- 4.10.0
- 4.9.1
- 4.8.6
- 4.7.5
- 4.6.0
- 4.5.11
- 4.4.0
- 4.3.1
public class ConversationsClient implements BackgroundResource
Service Description: Service for managing Conversations.
This class provides the ability to make remote calls to the backing service through method calls that map to API methods. Sample code to get started:
try (ConversationsClient conversationsClient = ConversationsClient.create()) {
LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
Conversation conversation = Conversation.newBuilder().build();
Conversation response = conversationsClient.createConversation(parent, conversation);
}
Note: close() needs to be called on the ConversationsClient object to clean up resources such as threads. In the example above, try-with-resources is used, which automatically calls close().
The surface of this class includes several types of Java methods for each of the API's methods:
- A "flattened" method. With this type of method, the fields of the request type have been converted into function parameters. It may be the case that not all fields are available as parameters, and not every API method will have a flattened method entry point.
- A "request object" method. This type of method only takes one parameter, a request object, which must be constructed before the call. Not every API method will have a request object method.
- A "callable" method. This type of method takes no parameters and returns an immutable API callable object, which can be used to initiate calls to the service.
See the individual methods for example code.
Many parameters require resource names to be formatted in a particular way. To assist with these names, this class includes a format method for each type of name, and additionally a parse method to extract the individual identifiers contained within names that are returned.
This class can be customized by passing in a custom instance of ConversationsSettings to create(). For example:
To customize credentials:
ConversationsSettings conversationsSettings =
ConversationsSettings.newBuilder()
.setCredentialsProvider(FixedCredentialsProvider.create(myCredentials))
.build();
ConversationsClient conversationsClient = ConversationsClient.create(conversationsSettings);
To customize the endpoint:
ConversationsSettings conversationsSettings =
ConversationsSettings.newBuilder().setEndpoint(myEndpoint).build();
ConversationsClient conversationsClient = ConversationsClient.create(conversationsSettings);
Please refer to the GitHub repository's samples for more quickstart code snippets.
Implements
BackgroundResourceConstructors
ConversationsClient(ConversationsSettings settings)
protected ConversationsClient(ConversationsSettings settings)
Constructs an instance of ConversationsClient, using the given settings. This is protected so that it is easy to make a subclass, but otherwise, the static factory methods should be preferred.
Name | Description |
settings | ConversationsSettings |
ConversationsClient(ConversationsStub stub)
protected ConversationsClient(ConversationsStub stub)
Name | Description |
stub | ConversationsStub |
Methods
awaitTermination(long duration, TimeUnit unit)
public boolean awaitTermination(long duration, TimeUnit unit)
Name | Description |
duration | long |
unit | TimeUnit |
Type | Description |
boolean |
Type | Description |
InterruptedException |
close()
public final void close()
completeConversation(CompleteConversationRequest request)
public final Conversation completeConversation(CompleteConversationRequest request)
Completes the specified conversation. Finished conversations are purged from the database after 30 days.
Sample code:
try (ConversationsClient conversationsClient = ConversationsClient.create()) {
CompleteConversationRequest request =
CompleteConversationRequest.newBuilder()
.setName(
ConversationName.ofProjectConversationName("[PROJECT]", "[CONVERSATION]")
.toString())
.build();
Conversation response = conversationsClient.completeConversation(request);
}
Name | Description |
request | CompleteConversationRequest The request object containing all of the parameters for the API call. |
Type | Description |
Conversation |
completeConversation(ConversationName name)
public final Conversation completeConversation(ConversationName name)
Completes the specified conversation. Finished conversations are purged from the database after 30 days.
Sample code:
try (ConversationsClient conversationsClient = ConversationsClient.create()) {
ConversationName name =
ConversationName.ofProjectConversationName("[PROJECT]", "[CONVERSATION]");
Conversation response = conversationsClient.completeConversation(name);
}
Name | Description |
name | ConversationName Required. Resource identifier of the conversation to close. Format:
|
Type | Description |
Conversation |
completeConversation(String name)
public final Conversation completeConversation(String name)
Completes the specified conversation. Finished conversations are purged from the database after 30 days.
Sample code:
try (ConversationsClient conversationsClient = ConversationsClient.create()) {
String name =
ConversationName.ofProjectConversationName("[PROJECT]", "[CONVERSATION]").toString();
Conversation response = conversationsClient.completeConversation(name);
}
Name | Description |
name | String Required. Resource identifier of the conversation to close. Format:
|
Type | Description |
Conversation |
completeConversationCallable()
public final UnaryCallable<CompleteConversationRequest,Conversation> completeConversationCallable()
Completes the specified conversation. Finished conversations are purged from the database after 30 days.
Sample code:
try (ConversationsClient conversationsClient = ConversationsClient.create()) {
CompleteConversationRequest request =
CompleteConversationRequest.newBuilder()
.setName(
ConversationName.ofProjectConversationName("[PROJECT]", "[CONVERSATION]")
.toString())
.build();
ApiFuture
Type | Description |
UnaryCallable<CompleteConversationRequest,Conversation> |
create()
public static final ConversationsClient create()
Constructs an instance of ConversationsClient with default settings.
Type | Description |
ConversationsClient |
Type | Description |
IOException |
create(ConversationsSettings settings)
public static final ConversationsClient create(ConversationsSettings settings)
Constructs an instance of ConversationsClient, using the given settings. The channels are created based on the settings passed in, or defaults for any settings that are not set.
Name | Description |
settings | ConversationsSettings |
Type | Description |
ConversationsClient |
Type | Description |
IOException |
create(ConversationsStub stub)
public static final ConversationsClient create(ConversationsStub stub)
Constructs an instance of ConversationsClient, using the given stub for making calls. This is for advanced usage - prefer using create(ConversationsSettings).
Name | Description |
stub | ConversationsStub |
Type | Description |
ConversationsClient |
createConversation(CreateConversationRequest request)
public final Conversation createConversation(CreateConversationRequest request)
Creates a new conversation. Conversations are auto-completed after 24 hours.
Conversation Lifecycle: There are two stages during a conversation: Automated Agent Stage and Assist Stage.
For Automated Agent Stage, there will be a dialogflow agent responding to user queries.
For Assist Stage, there's no dialogflow agent responding to user queries. But we will provide suggestions which are generated from conversation.
If
Conversation.conversation_profile
is configured for a dialogflow agent, conversation will start from Automated Agent Stage
,
otherwise, it will start from Assist Stage
. And during Automated Agent Stage
, once an
Intent with
Intent.live_agent_handoff is triggered,
conversation will transfer to Assist Stage.
Sample code:
try (ConversationsClient conversationsClient = ConversationsClient.create()) {
CreateConversationRequest request =
CreateConversationRequest.newBuilder()
.setParent(ProjectName.of("[PROJECT]").toString())
.setConversation(Conversation.newBuilder().build())
.setConversationId("conversationId-1676095234")
.build();
Conversation response = conversationsClient.createConversation(request);
}
Name | Description |
request | CreateConversationRequest The request object containing all of the parameters for the API call. |
Type | Description |
Conversation |
createConversation(LocationName parent, Conversation conversation)
public final Conversation createConversation(LocationName parent, Conversation conversation)
Creates a new conversation. Conversations are auto-completed after 24 hours.
Conversation Lifecycle: There are two stages during a conversation: Automated Agent Stage and Assist Stage.
For Automated Agent Stage, there will be a dialogflow agent responding to user queries.
For Assist Stage, there's no dialogflow agent responding to user queries. But we will provide suggestions which are generated from conversation.
If
Conversation.conversation_profile
is configured for a dialogflow agent, conversation will start from Automated Agent Stage
,
otherwise, it will start from Assist Stage
. And during Automated Agent Stage
, once an
Intent with
Intent.live_agent_handoff is triggered,
conversation will transfer to Assist Stage.
Sample code:
try (ConversationsClient conversationsClient = ConversationsClient.create()) {
LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
Conversation conversation = Conversation.newBuilder().build();
Conversation response = conversationsClient.createConversation(parent, conversation);
}
Name | Description |
parent | LocationName Required. Resource identifier of the project creating the conversation. Format:
|
conversation | Conversation Required. The conversation to create. |
Type | Description |
Conversation |
createConversation(ProjectName parent, Conversation conversation)
public final Conversation createConversation(ProjectName parent, Conversation conversation)
Creates a new conversation. Conversations are auto-completed after 24 hours.
Conversation Lifecycle: There are two stages during a conversation: Automated Agent Stage and Assist Stage.
For Automated Agent Stage, there will be a dialogflow agent responding to user queries.
For Assist Stage, there's no dialogflow agent responding to user queries. But we will provide suggestions which are generated from conversation.
If
Conversation.conversation_profile
is configured for a dialogflow agent, conversation will start from Automated Agent Stage
,
otherwise, it will start from Assist Stage
. And during Automated Agent Stage
, once an
Intent with
Intent.live_agent_handoff is triggered,
conversation will transfer to Assist Stage.
Sample code:
try (ConversationsClient conversationsClient = ConversationsClient.create()) {
ProjectName parent = ProjectName.of("[PROJECT]");
Conversation conversation = Conversation.newBuilder().build();
Conversation response = conversationsClient.createConversation(parent, conversation);
}
Name | Description |
parent | ProjectName Required. Resource identifier of the project creating the conversation. Format:
|
conversation | Conversation Required. The conversation to create. |
Type | Description |
Conversation |
createConversation(String parent, Conversation conversation)
public final Conversation createConversation(String parent, Conversation conversation)
Creates a new conversation. Conversations are auto-completed after 24 hours.
Conversation Lifecycle: There are two stages during a conversation: Automated Agent Stage and Assist Stage.
For Automated Agent Stage, there will be a dialogflow agent responding to user queries.
For Assist Stage, there's no dialogflow agent responding to user queries. But we will provide suggestions which are generated from conversation.
If
Conversation.conversation_profile
is configured for a dialogflow agent, conversation will start from Automated Agent Stage
,
otherwise, it will start from Assist Stage
. And during Automated Agent Stage
, once an
Intent with
Intent.live_agent_handoff is triggered,
conversation will transfer to Assist Stage.
Sample code:
try (ConversationsClient conversationsClient = ConversationsClient.create()) {
String parent = ProjectName.of("[PROJECT]").toString();
Conversation conversation = Conversation.newBuilder().build();
Conversation response = conversationsClient.createConversation(parent, conversation);
}
Name | Description |
parent | String Required. Resource identifier of the project creating the conversation. Format:
|
conversation | Conversation Required. The conversation to create. |
Type | Description |
Conversation |
createConversationCallable()
public final UnaryCallable<CreateConversationRequest,Conversation> createConversationCallable()
Creates a new conversation. Conversations are auto-completed after 24 hours.
Conversation Lifecycle: There are two stages during a conversation: Automated Agent Stage and Assist Stage.
For Automated Agent Stage, there will be a dialogflow agent responding to user queries.
For Assist Stage, there's no dialogflow agent responding to user queries. But we will provide suggestions which are generated from conversation.
If
Conversation.conversation_profile
is configured for a dialogflow agent, conversation will start from Automated Agent Stage
,
otherwise, it will start from Assist Stage
. And during Automated Agent Stage
, once an
Intent with
Intent.live_agent_handoff is triggered,
conversation will transfer to Assist Stage.
Sample code:
try (ConversationsClient conversationsClient = ConversationsClient.create()) {
CreateConversationRequest request =
CreateConversationRequest.newBuilder()
.setParent(ProjectName.of("[PROJECT]").toString())
.setConversation(Conversation.newBuilder().build())
.setConversationId("conversationId-1676095234")
.build();
ApiFuture
Type | Description |
UnaryCallable<CreateConversationRequest,Conversation> |
getConversation(ConversationName name)
public final Conversation getConversation(ConversationName name)
Retrieves the specific conversation.
Sample code:
try (ConversationsClient conversationsClient = ConversationsClient.create()) {
ConversationName name =
ConversationName.ofProjectConversationName("[PROJECT]", "[CONVERSATION]");
Conversation response = conversationsClient.getConversation(name);
}
Name | Description |
name | ConversationName Required. The name of the conversation. Format: |
Type | Description |
Conversation |
getConversation(GetConversationRequest request)
public final Conversation getConversation(GetConversationRequest request)
Retrieves the specific conversation.
Sample code:
try (ConversationsClient conversationsClient = ConversationsClient.create()) {
GetConversationRequest request =
GetConversationRequest.newBuilder()
.setName(
ConversationName.ofProjectConversationName("[PROJECT]", "[CONVERSATION]")
.toString())
.build();
Conversation response = conversationsClient.getConversation(request);
}
Name | Description |
request | GetConversationRequest The request object containing all of the parameters for the API call. |
Type | Description |
Conversation |
getConversation(String name)
public final Conversation getConversation(String name)
Retrieves the specific conversation.
Sample code:
try (ConversationsClient conversationsClient = ConversationsClient.create()) {
String name =
ConversationName.ofProjectConversationName("[PROJECT]", "[CONVERSATION]").toString();
Conversation response = conversationsClient.getConversation(name);
}
Name | Description |
name | String Required. The name of the conversation. Format: |
Type | Description |
Conversation |
getConversationCallable()
public final UnaryCallable<GetConversationRequest,Conversation> getConversationCallable()
Retrieves the specific conversation.
Sample code:
try (ConversationsClient conversationsClient = ConversationsClient.create()) {
GetConversationRequest request =
GetConversationRequest.newBuilder()
.setName(
ConversationName.ofProjectConversationName("[PROJECT]", "[CONVERSATION]")
.toString())
.build();
ApiFuture
Type | Description |
UnaryCallable<GetConversationRequest,Conversation> |
getSettings()
public final ConversationsSettings getSettings()
Type | Description |
ConversationsSettings |
getStub()
public ConversationsStub getStub()
Type | Description |
ConversationsStub |
isShutdown()
public boolean isShutdown()
Type | Description |
boolean |
isTerminated()
public boolean isTerminated()
Type | Description |
boolean |
listConversations(ListConversationsRequest request)
public final ConversationsClient.ListConversationsPagedResponse listConversations(ListConversationsRequest request)
Returns the list of all conversations in the specified project.
Sample code:
try (ConversationsClient conversationsClient = ConversationsClient.create()) {
ListConversationsRequest request =
ListConversationsRequest.newBuilder()
.setParent(ProjectName.of("[PROJECT]").toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.setFilter("filter-1274492040")
.build();
for (Conversation element : conversationsClient.listConversations(request).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
request | ListConversationsRequest The request object containing all of the parameters for the API call. |
Type | Description |
ConversationsClient.ListConversationsPagedResponse |
listConversations(LocationName parent)
public final ConversationsClient.ListConversationsPagedResponse listConversations(LocationName parent)
Returns the list of all conversations in the specified project.
Sample code:
try (ConversationsClient conversationsClient = ConversationsClient.create()) {
LocationName parent = LocationName.of("[PROJECT]", "[LOCATION]");
for (Conversation element : conversationsClient.listConversations(parent).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
parent | LocationName Required. The project from which to list all conversation. Format:
|
Type | Description |
ConversationsClient.ListConversationsPagedResponse |
listConversations(ProjectName parent)
public final ConversationsClient.ListConversationsPagedResponse listConversations(ProjectName parent)
Returns the list of all conversations in the specified project.
Sample code:
try (ConversationsClient conversationsClient = ConversationsClient.create()) {
ProjectName parent = ProjectName.of("[PROJECT]");
for (Conversation element : conversationsClient.listConversations(parent).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
parent | ProjectName Required. The project from which to list all conversation. Format:
|
Type | Description |
ConversationsClient.ListConversationsPagedResponse |
listConversations(String parent)
public final ConversationsClient.ListConversationsPagedResponse listConversations(String parent)
Returns the list of all conversations in the specified project.
Sample code:
try (ConversationsClient conversationsClient = ConversationsClient.create()) {
String parent = ProjectName.of("[PROJECT]").toString();
for (Conversation element : conversationsClient.listConversations(parent).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
parent | String Required. The project from which to list all conversation. Format:
|
Type | Description |
ConversationsClient.ListConversationsPagedResponse |
listConversationsCallable()
public final UnaryCallable<ListConversationsRequest,ListConversationsResponse> listConversationsCallable()
Returns the list of all conversations in the specified project.
Sample code:
try (ConversationsClient conversationsClient = ConversationsClient.create()) {
ListConversationsRequest request =
ListConversationsRequest.newBuilder()
.setParent(ProjectName.of("[PROJECT]").toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.setFilter("filter-1274492040")
.build();
while (true) {
ListConversationsResponse response =
conversationsClient.listConversationsCallable().call(request);
for (Conversation element : response.getResponsesList()) {
// doThingsWith(element);
}
String nextPageToken = response.getNextPageToken();
if (!Strings.isNullOrEmpty(nextPageToken)) {
request = request.toBuilder().setPageToken(nextPageToken).build();
} else {
break;
}
}
}
Type | Description |
UnaryCallable<ListConversationsRequest,ListConversationsResponse> |
listConversationsPagedCallable()
public final UnaryCallable<ListConversationsRequest,ConversationsClient.ListConversationsPagedResponse> listConversationsPagedCallable()
Returns the list of all conversations in the specified project.
Sample code:
try (ConversationsClient conversationsClient = ConversationsClient.create()) {
ListConversationsRequest request =
ListConversationsRequest.newBuilder()
.setParent(ProjectName.of("[PROJECT]").toString())
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.setFilter("filter-1274492040")
.build();
ApiFuture
Type | Description |
UnaryCallable<ListConversationsRequest,ListConversationsPagedResponse> |
listMessages(ConversationName parent)
public final ConversationsClient.ListMessagesPagedResponse listMessages(ConversationName parent)
Lists messages that belong to a given conversation. messages
are ordered by create_time
in
descending order. To fetch updates without duplication, send request with filter
create_time_epoch_microseconds > [first item's create_time of previous request]
and empty
page_token.
Sample code:
try (ConversationsClient conversationsClient = ConversationsClient.create()) {
ConversationName parent =
ConversationName.ofProjectConversationName("[PROJECT]", "[CONVERSATION]");
for (Message element : conversationsClient.listMessages(parent).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
parent | ConversationName Required. The name of the conversation to list messages for. Format:
|
Type | Description |
ConversationsClient.ListMessagesPagedResponse |
listMessages(ListMessagesRequest request)
public final ConversationsClient.ListMessagesPagedResponse listMessages(ListMessagesRequest request)
Lists messages that belong to a given conversation. messages
are ordered by create_time
in
descending order. To fetch updates without duplication, send request with filter
create_time_epoch_microseconds > [first item's create_time of previous request]
and empty
page_token.
Sample code:
try (ConversationsClient conversationsClient = ConversationsClient.create()) {
ListMessagesRequest request =
ListMessagesRequest.newBuilder()
.setParent(
ConversationName.ofProjectConversationName("[PROJECT]", "[CONVERSATION]")
.toString())
.setFilter("filter-1274492040")
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
for (Message element : conversationsClient.listMessages(request).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
request | ListMessagesRequest The request object containing all of the parameters for the API call. |
Type | Description |
ConversationsClient.ListMessagesPagedResponse |
listMessages(String parent)
public final ConversationsClient.ListMessagesPagedResponse listMessages(String parent)
Lists messages that belong to a given conversation. messages
are ordered by create_time
in
descending order. To fetch updates without duplication, send request with filter
create_time_epoch_microseconds > [first item's create_time of previous request]
and empty
page_token.
Sample code:
try (ConversationsClient conversationsClient = ConversationsClient.create()) {
String parent =
ConversationName.ofProjectConversationName("[PROJECT]", "[CONVERSATION]").toString();
for (Message element : conversationsClient.listMessages(parent).iterateAll()) {
// doThingsWith(element);
}
}
Name | Description |
parent | String Required. The name of the conversation to list messages for. Format:
|
Type | Description |
ConversationsClient.ListMessagesPagedResponse |
listMessagesCallable()
public final UnaryCallable<ListMessagesRequest,ListMessagesResponse> listMessagesCallable()
Lists messages that belong to a given conversation. messages
are ordered by create_time
in
descending order. To fetch updates without duplication, send request with filter
create_time_epoch_microseconds > [first item's create_time of previous request]
and empty
page_token.
Sample code:
try (ConversationsClient conversationsClient = ConversationsClient.create()) {
ListMessagesRequest request =
ListMessagesRequest.newBuilder()
.setParent(
ConversationName.ofProjectConversationName("[PROJECT]", "[CONVERSATION]")
.toString())
.setFilter("filter-1274492040")
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
while (true) {
ListMessagesResponse response = conversationsClient.listMessagesCallable().call(request);
for (Message element : response.getResponsesList()) {
// doThingsWith(element);
}
String nextPageToken = response.getNextPageToken();
if (!Strings.isNullOrEmpty(nextPageToken)) {
request = request.toBuilder().setPageToken(nextPageToken).build();
} else {
break;
}
}
}
Type | Description |
UnaryCallable<ListMessagesRequest,ListMessagesResponse> |
listMessagesPagedCallable()
public final UnaryCallable<ListMessagesRequest,ConversationsClient.ListMessagesPagedResponse> listMessagesPagedCallable()
Lists messages that belong to a given conversation. messages
are ordered by create_time
in
descending order. To fetch updates without duplication, send request with filter
create_time_epoch_microseconds > [first item's create_time of previous request]
and empty
page_token.
Sample code:
try (ConversationsClient conversationsClient = ConversationsClient.create()) {
ListMessagesRequest request =
ListMessagesRequest.newBuilder()
.setParent(
ConversationName.ofProjectConversationName("[PROJECT]", "[CONVERSATION]")
.toString())
.setFilter("filter-1274492040")
.setPageSize(883849137)
.setPageToken("pageToken873572522")
.build();
ApiFuture
Type | Description |
UnaryCallable<ListMessagesRequest,ListMessagesPagedResponse> |
shutdown()
public void shutdown()
shutdownNow()
public void shutdownNow()