Conversation Service

Our Conversation Service API comprehensively manages the entire lifecycle of conversations—enabling creation, updates (audio persistence, display name, language, sharing, skill, state, and metadata), retrieval, redaction or deletion of messages, tagging, event logging, batch operations, and final closure—providing robust end-to-end conversation management.

Languages
Servers
https://{api-domain}.cresta.com/

ConversationService

Operations

Adds a tag to a conversation.

Request

Path
parentstringrequired

The resource name of the conversation to be tagged.

Bodyapplication/jsonrequired
tagstringrequired

The resource name of the tag to be added to the conversation.

curl -i -X POST \
  'https://{api-domain}.cresta.com/v1/{parent=customers/*/profiles/*/conversations/*}/tags' \
  -H 'Content-Type: application/json' \
  -d '{
    "tag": "string"
  }'

Responses

A successful response.

Bodyapplication/json
object(Response of [ConversationService.AddConversationTag][])
Response
application/json
{}

Deletes a tag from a conversation

Request

Path
parentstringrequired

The resource name of the conversation to be untagged.

tagIdstringrequired

The resource id of the tag to be removed from the conversation.

curl -i -X DELETE \
  'https://{api-domain}.cresta.com/v1/{parent=customers/*/profiles/*/conversations/*}/tags/{tagId}'

Responses

A successful response.

Bodyapplication/json
object(Response of [ConversationService.DeleteConversationTag][])
Response
application/json
{}

ListConversations.

Request

Path
parentstringrequired

Resource name of the parent.

Format: customers/{customer_id}/profiles/{profile_id}

Bodyapplication/jsonrequired
pageSizeinteger(int32)

The maximum number of conversations to return. If unspecified, at most 50 conversations will be returned.

pageTokenstring

A page token, received from a previous ListConversations call. Provide this to retrieve the subsequent page.

filterobject(Filter conditions for getting/counting conversations. Within a filter field, repeated conditions are OR. Between different filter fields, conditions are AND. Next ID: 36)
curl -i -X POST \
  'https://{api-domain}.cresta.com/v1/{parent=customers/*/profiles/*}/conversations' \
  -H 'Content-Type: application/json' \
  -d '{
    "pageSize": 0,
    "pageToken": "string",
    "filter": {
      "rangeStartTime": "2019-08-24T14:15:22Z",
      "rangeEndTime": "2019-08-24T14:15:22Z",
      "users": [
        {
          "userName": "string",
          "teamName": "string"
        }
      ],
      "usersOrTeamsUsers": [
        "string"
      ],
      "usersOrTeamsTeams": [
        "string"
      ],
      "usersOrGroups": {
        "users": [
          "string"
        ],
        "groups": [
          "string"
        ]
      },
      "platformConversationId": "string",
      "minConversationDuration": "string",
      "maxConversationDuration": "string",
      "messageKeyword": "string",
      "moments": [
        {
          "momentWithAdherence": [
            {
              "momentName": "string",
              "adherence": "ADHERENCE_TYPE_UNSPECIFIED"
            }
          ]
        }
      ],
      "actions": [
        "string"
      ],
      "liveFilter": "LIVE_FILTER_UNSPECIFIED",
      "includeDevUsers": true,
      "commentsFilter": "COMMENTS_FILTER_UNSPECIFIED",
      "languageCode": "string",
      "languageCodes": [
        "string"
      ],
      "usecaseIds": [
        "string"
      ],
      "sources": [
        "SOURCE_UNSPECIFIED"
      ],
      "sharingState": [
        "SHARING_STATE_UNSPECIFIED"
      ],
      "liveAssistFilter": "LIVE_ASSIST_FILTER_UNSPECIFIED",
      "hintNameFilters": [
        {
          "hintNames": [
            "string"
          ]
        }
      ],
      "scorecardTemplateNameFilters": [
        "string"
      ],
      "scorecardStatusFilter": "SCORECARD_STATUS_FILTER_UNSPECIFIED",
      "actionFilters": [
        {
          "actionName": [
            "string"
          ]
        }
      ],
      "audioLinkStatus": "AUDIO_LINK_STATUS_UNSPECIFIED",
      "channel": "CHANNEL_UNSPECIFIED",
      "behaviors": [
        {
          "behaviorWithAdherence": [
            {
              "behaviorName": "string",
              "adherence": "ADHERENCE_TYPE_UNSPECIFIED"
            }
          ]
        }
      ],
      "corruptionStates": [
        "CORRUPTION_STATE_UNSPECIFIED"
      ],
      "conversationCorrelationId": "string",
      "conversationCorrelationOrPlatformId": "string",
      "calibrationStatusFilter": "SCORECARD_STATUS_FILTER_UNSPECIFIED",
      "scorecardSubmitterNameFilters": [
        "string"
      ],
      "persistenceStates": [
        "PERSISTENCE_STATE_UNSPECIFIED"
      ]
    }
  }'

Responses

A successful response.

Bodyapplication/json
conversationsArray of objects(Conversation is a session of chat/call messages. Next ID: 35)read-only

The returned conversations.

metadataobject(Map of conversation resource name to additional metadata)read-only
totalConversationsinteger(int32)read-only

Total number of conversations in the system. Note that this number is limited as defined by: request.pageSize * 10 + 1 i.e. the returned count will at most show the beginning of an 11th page.

filteredConversationsinteger(int32)read-only

Number of conversations matching the provided filters. Note that this number is limited as defined by: request.pageSize * 10 + 1 i.e. the returned count will at most show the beginning of an 11th page.

nextPageTokenstring

Token is used to retrieve the next page.

Response
application/json
{ "conversations": [ {} ], "metadata": { "property1": {}, "property2": {} }, "totalConversations": 0, "filteredConversations": 0, "nextPageToken": "string" }