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

GetConversation returns the conversation given the conversation's resource name.

Request

Path
namestringrequired

Resource name of the conversation

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

curl -i -X GET \
  'https://{api-domain}.cresta.com/v1/{name=customers/*/profiles/*/conversations/*}'

Responses

A successful response.

Bodyapplication/json
conversationobject(Conversation is a session of chat/call messages. Next ID: 35)
Response
application/json
{ "conversation": { "name": "string", "agent": "string", "participants": [ … ], "agentInfo": { … }, "agentUserName": "string", "team": "string", "visitor": { … }, "conversationCorrelationId": "string", "skill": "string", "platformInfo": { … }, "startTime": "2019-08-24T14:15:22Z", "endTime": "2019-08-24T14:15:22Z", "audioPersistenceState": "AUDIO_PERSISTENCE_STATE_UNSPECIFIED", "persistedAudioUri": "string", "audioAnalysis": { … }, "persistedAudioDuration": "string", "legacyChatId": 0, "state": "STATE_UNSPECIFIED", "raiseHandState": "RAISE_HAND_STATE_UNSPECIFIED", "languageCode": "string", "channel": "CHANNEL_UNSPECIFIED", "source": "SOURCE_UNSPECIFIED", "metadata": { … }, "displayName": "string", "sharingState": "SHARING_STATE_UNSPECIFIED", "policyOverride": { … }, "usecase": "string", "createTime": "2019-08-24T14:15:22Z", "corruptionState": "CORRUPTION_STATE_UNSPECIFIED", "virtualAgent": "string", "ingestedByJob": "string", "transferInfo": { … }, "persistenceState": "PERSISTENCE_STATE_UNSPECIFIED", "multiLanguageMode": "MULTI_LANGUAGE_MODE_UNSPECIFIED" } }

Deletes a conversation and all its messages from the apps DB.

Request

If the conversation does not exist, it returns a NOT_FOUND (404) error.

Path
namestringrequired

The resource name of the conversation to be deleted.

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

Responses

A successful response.

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

Closes a Conversation.

Request

If the Conversation does not exist, it returns a NOT_FOUND (404) error.

DEPRECATED: Use UpdateConversationState instead.

Path
namestringrequired

Resource name of the Conversation to be closed.

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

Bodyapplication/jsonrequired
object

Request of [ConversationService.CloseConversation][].

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

Responses

A successful response.

Bodyapplication/json
object(conversationCloseConversationResponse)

Response of [ConversationService.CloseConversation][].

Response
application/json
{}