Conversation Classes
The conversation classes represent and manage chats and calls in SalesIQ, offering structured access to conversation details, messages, media, and participant information.
Classes:
Note: This API is supported from version 6.5.1.
SalesIQConversation
The SalesIQConversation class represents a conversation in Zoho SalesIQ, which can be either a chat or a call. It is a sealed class with the following subclasses:
- Chat: Represents a text-based conversation with an operator or bot.
- Call: Represents a voice/video call between the user and an operator.
Common Properties
Property | Data Type | Description |
---|---|---|
id | String | Unique identifier for the conversation. |
customConversationId | String | The custom identifier for the conversation (if applicable). |
question | String | The initial question or message that started the conversation. |
attenderId | String | The ID of the assigned operator (if any). |
attenderName | String | The name of the assigned operator. |
attenderEmail | String | The email of the assigned operator. |
departmentName | String | The department handling the conversation. |
feedback | String | Feedback provided by the visitor about the conversation. |
rating | String | Rating provided by the visitor. |
queuePosition | Int | Position in the queue (if applicable). |
media | Media | Media details related to the conversation. |
SalesIQChatConversation
Represents a chat-based conversation.
Additional Properties
Property | Data Type | Description |
---|---|---|
isBotAttender | Boolean | Indicates whether the chat is attended by a bot. |
status | Chat Status | The current status of the chat. |
unreadCount | Int | Number of unread messages in the chat. |
lastSalesIQMessage | SalesIQMessage | The last message exchanged in the conversation. |
Chat Status
Defines possible statuses for a chat.
public enum Status { waiting, connected, missed, closed, triggered, proactive }
- waiting: The visitor is waiting for an operator/bot.
- connected: The chat is active with an operator/bot.
- missed: The chat was not attended by an operator/bot.
- closed: The conversation has been closed.
- triggered: The chat was initiated by a system trigger.
- proactive: The operator proactively started the conversation.
SalesIQCallConversation
Represents a call-based conversation.
Additional Properties
- status (Status?): The current status of the call.
Call Status
Defines possible statuses for a call.
public enum Status { waiting, connected, missed, closed }
- waiting: The call is ringing.
- connected: The call is active.
- missed: The call was not answered.
- closed: The call has ended.
SalesIQConversation.Media
Represents media details for a conversation.
Properties
Property | Data Type | Description |
---|---|---|
id | String | Unique identifier for the media. |
endTime | Int | The timestamp when the media session ended. |
initiatedBy | UserType | Indicates whether the call was started by the visitor or operator. |
pickupTime | Int | Timestamp when the call was picked up. |
connectedTime | Int | Timestamp when the call connection was established. |
status | Status | The current status of the media. |
endedBy | UserType | The user type that ended the media session. |
type | String | The type of media (e.g., audio, video). |
createdTime | Int | Timestamp when the media session was created. |
Media Status
Defines possible statuses for a media session.
public enum Status { ended, rejected, missed, cancelled, connected, invited, initiated, accepted }
- invited: A call invitation has been sent.
- initiated: The media session was started.
- accepted: The call invitation was accepted.
- connected: The media session is active.
- ended: The media session has ended.
- rejected: The call invitation was rejected.
- missed: The call was not answered.
- cancelled: The call was canceled before it was answered.
User Type
Represents the type of user in the conversation.
public enum UserType { visitor, operator }
- visitor: The end-user or customer.
- operator: The support agent or bot handling the conversation.
SalesIQMessage
Represents an individual message in a chat.
Properties:
Property | Data Type | Description |
---|---|---|
sender | String | The sender of the message. |
text | String | Content of the message. |
type | String | Type of message (e.g., text, file). |
senderId | String | ID of the sender. |
time | Int | Timestamp of the message. |
isRead | Boolean | Whether the message has been read. |
sentByVisitor | Boolean | Indicates if the message was sent by the visitor. |
file | SalesIQFile | Any file attached to the message. |
status | Status | The message status. |
Message Status
- sending: The message is being sent.
- uploading: The file is being uploaded.
- sent: The message was successfully sent.
- failure: The message could not be sent.
SalesIQFile
Represents a file attached to a message.
Properties:
Property | Data Type | Description |
---|---|---|
name | String | Name of the file. |
contentType | String | Type of file (e.g., image, document). |
comment | String | Any comment associated with the file. |
size | int | Size of the file in bytes. |
SalesIQConversationAttributes
The SalesIQConversationAttributes data class is designed to store optional metadata for a call, including the user's name, additional information, and a display picture.
Builder Methods
Parameter:
- name (String): The user's name.
- additionalInfo (String): The additional information or notes for the call.
- displayPicture (Any): The display picture to be shown during the call.
- departments (List<SalesIQDepartment>): List of SalesIQDepartment entities.
Sets the name attribute for the call.
Copied
SalesIQConversationAttributes(name: String, additionalInfo: String additionalInfo, displayPicture: Any, departments: List<SalesIQDepartment>)