Overview
There are two ways to set a conversation's expiration time in
Insights: using the expire_time field, or using the ttl
field. You can use the expire_time field set a timestamp indicating when
the conversation will expire, or the ttl field to set a time duration (in
seconds) until the conversation will expire. If a conversation has both an
expire_time and ttl value, Insights uses the expire_time
value.
Conversations set to expire using either the expire_time or ttl field
will be deleted 24 hours after the specified expiration time is reached. See
the Conversation resource documentation
for complete details. This page demonstrates how to set a TTL, both for
individual conversations and for all conversations in a given project.
If a conversation is not set to expire, it will remain in Insights indefinitely, though conversations can always be manually deleted.
Create a conversation with a TTL value
The following sample illustrates how to set a TTL value for a single,
newly-created conversation using the ttl field in a
Conversation resource.
REST
Before using any of the request data, make the following replacements:
- PROJECT_ID: your Google Cloud project ID.
- TRANSCRIPT_URI: the Cloud Storage URI that points to a file containing the conversation transcript.
- MEDIUM: set to either
PHONE_CALLorCHATdepending on the data type. If unspecified the default value isPHONE_CALL. - SECONDS: the time-to-live (time until the conversation expires) in seconds and fractions of a second.
HTTP method and URL:
POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/conversations
Request JSON body:
{
"data_source": {
"gcs_source": {
"transcript_uri": "TRANSCRIPT_URI"
}
},
"medium": "MEDIUM",
"ttl": {
"seconds": "SECONDS"
}
}
To send your request, expand one of these options:
You should receive a JSON response similar to the following:
{
"name": "projects/PROJECT_ID/locations/us-central1/conversations/CONVERSATION_ID",
"dataSource": {
"gcsSource": {
"transcriptUri": "gs://cloud-samples-data/ccai/chat_sample.json"
}
},
"createTime": "2021-01-20T10:10:10.123000Z",
"transcript": {
"transcriptSegments": [
...
{
"text": "Thanks for confirming",
"words": [
{
"word": "Thanks"
},
{
"word": "for"
},
{
"word": "confirming"
}
],
"languageCode": "en-US",
"channelTag": 2,
"messageTime": "2021-01-10T10:10:15.123000Z",
"segmentParticipant": {
"role": "HUMAN_AGENT",
"userId": "555"
}
},
...
]
},
"medium": "CHAT",
"duration": "5.00s",
"turnCount": 10,
"startTime": "2021-01-10T10:10:10.123000Z"
"expireTime":"2021-01-21T10:10:10.123000Z",
}
Python
To authenticate to Insights, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
Java
To authenticate to Insights, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
Node.js
To authenticate to Insights, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
Set a project-level TTL for all incoming conversations
The following code sample demonstrates how to set a project-level TTL
using the conversation_ttl field in a
Settings resource.
This TTL will be applied to all incoming conversations that don't specify a
separate expiration time or a different TTL value.
REST
Before using any of the request data, make the following replacements:
- PROJECT_ID: your Google Cloud project ID.
- SECONDS: the time-to-live (time until the conversation expires) in seconds and fractions of a second.
HTTP method and URL:
POST https://contactcenterinsights.googleapis.com/v1/projects/PROJECT_ID/locations/us-central1/settings?updateMask=conversation_ttl
Request JSON body:
{
"conversation_ttl": {
"seconds": "SECONDS"
}
}
To send your request, expand one of these options:
You should receive a JSON response similar to the following:
{
"name": "projects/$PROJECT/locations/us-central1/settings",
"createTime": "2021-01-20T10:10:10.123000Z",
"updateTime": "2021-01-20T11:11:11.456000Z",
"conversationTtl": "86400s"
}
Python
To authenticate to Insights, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
Java
To authenticate to Insights, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.
Node.js
To authenticate to Insights, set up Application Default Credentials. For more information, see Set up authentication for a local development environment.