Messaging

This module enables publication and receipt of Real Time Messages and Push notifications. Usage of this module is optional.

This module has the following classes:

IMI.ICMessaging

The ICMessaging singleton class facilitates you to send and receive RTM messages and update the read status for RTM and Push.

Public Methods
void connect()
void disconnect()
void fetchTopics(filter, callback)
ICConnectionStatus getConnectionStatus()
ICMessaging getInstance()
boolean isConnected()
void publishMessage(message, callback)
void setMessageAsRead( transactionId, callback)
void setMessagesAsRead( transactionId, callback)
void setICMessagingReceiver( callback)
void subscribeTopic(topic, callback)
void unsubscribeTopic(topic, callback)
void createThread
void fetchThreads
void fetchMessages
void fetchStreams

connect


This method is used to establish a connection to receive Real Time Messages from IMIconnect platform.
When the connection is successful, the status events are notified through ICMessagingReceiver.onConnectionStatusChanged.

📘

It throws an Exception if a user is not registered with IMIconnect or if RTM feature is not enabled in the policy.

  Syntax: void connect()

  Example:

var messaging = IMI.ICMessaging.getInstance();
try {
    messaging.connect();
} catch (error) {
    console.log(error)
}

disconnect


This method is used to disconnect the connection between the app and IMIconnect platform. If there is no active connection, then this method fails silently.
When the disconnection is successful, the status events are notified through ICMessagingReceiver.onConnectionStatusChanged.

📘

The disconnect method throws an Exception if a user is not registered with IMIconnect or RTM feature is not enabled in the policy.

  Syntax: void disconnect()

  Example:

var messaging = IMI.ICMessaging.getInstance();
try {
    messaging.disconnect();
} catch (error) {
    console.log(error)
}

fetchTopics


This method is used to get a list of topics that are configured with IMIconnect app. Use the filter parameter to control the type of topics that are returned.
Results are reported through a callback.

  Syntax: void fetchTopics(filter, callback)

  Parameters:

ParameterTypeDescription
filterICAccessLevelFilterRefer to ICAccessLevelFilter class.
callbackJSObjectSpecifies the callback object.

  Example:

var messaging = IMI.ICMessaging.getInstance();
var callback = {
    onSuccess: function(ictopicslist) {
        console.log("success");
        //Write your logic to read topics and subscribe/unsubscribe/publish on those topics. 
        if (ictopicslist) {
            for (var i = 0; i < ictopicslist.length; i++) {
                var icTopic = ictopicslist[i];
                console.log(icTopic.getName());

            }

        }
    },
    onFailure: function(errormsg) {
        console.log("failed to get topics");
    }

};
messaging.fetchTopics(IMI.ICAccessLevelFilter.All, callback);

getConnectionStatus


This method is used to get the current connection status between the SDK and IMIconnect platform.

  Syntax: ICConnectionStatus getConnectionStatus()

  Return Value:
 Returns the current connection status between the SDK and the IMIconnect platform.

  Example:

var messaging = IMI.ICMessaging.getInstance();
try {
    var connectionStatus = messaging.getConnectionStatus();
    if (connectionStatus == IMI.ICConnectionStatus.Connected) {
        //write your logic here
    }
} catch (error) {
    console.log(error)
}

getInstance


This method is used to get the ICMessaging singleton instance. The instance is created internally on demand.

  Syntax: ICMessaging getInstance()

  Return Value:
 Returns the ICMessaging singleton instance.

  Example:

var messaging = IMI.ICMessaging.getInstance();

isConnected


This method is used to verify whether the RTM connection is established between SDK and IMIconnect. This is a convenience method for getConnectionStatus() == ICConnectionStatus.Connected.

  Syntax: boolean isConnected()

  Return Value:
 Returns true if the RTM connection is established between SDK and IMIconnect.

  Example:

var messaging = IMI.ICMessaging.getInstance();
try {
    var isConnected = messaging.isConnected();
    if (isConnected) {
        //write your logic
    }
} catch (error) {
    console.log(error)
}

publishMessage


This method is used to publish the passed ICMessage instance through RTM connection.
Results of the operation are reported through a callback.

  Syntax: void publishMessage(message, callback)

  Parameters:

ParametersTypeDescription
messageICMessage Refer to ICMessage class.
callbackJSObjectSpecifies the callback object.

  Example:

var callback = {
    onSuccess: function() {
        console.log("message sent");
    },
    onFailure: function(errormsg) {
        console.log("failed to send message");
    }
};
 var messaging = IMI.ICMessaging.getInstance();
   var message = new IMI.ICMessage();

   message.setMessage("Test message");
   var thread = new IMI.ICThread();
   thread.setId("threadid <which is created using createThread()/came in Message>");
   thread.setTitle("cricket");
   thread.setStreamName("sports");
   message.setThread(thread);
   messaging.publishMessage(message, callback);

setMessageAsRead


This method is used to update the status of the message identified by transactionId as Read.
The results of the operation are reported through a callback.

  Syntax: void setMessageAsRead(transactionId, callback)

  Parameters:

ParameterTypeDescription
transactionIdStringSpecifies a single transaction id.
callbackJSObjectSpecifies the callback.

  Example:

//To send single message read status back to IMIConnect
var messageTransactionId = "<your message transaction id>";
var messaging = IMI.ICMessaging.getInstance();
var callback = {
    onSuccess: function() {
        console.log("success");

    },
    onFailure: function(errormsg) {
        console.log("failed ");
    }

};

messaging.setMessageAsRead(messageTransactionId, callback);

setMessagesAsRead


This method is used to update the status of the message identified by transactionIds as Read.
The results of the operation are reported through a callback.

  Syntax: void setMessagesAsRead(transactionIds, callback)

  Parameters:

ParameterTypeDescription
transactionIdsString []Specifies an array of transaction ids.
callbackJSObjectSpecifies the callback object.

  Example:

//To send mutliple messages read status back to IMIConnect
var msgTransIds = ["transid1", "transid2", "transid3"];
var messaging = IMI.ICMessaging.getInstance();
var callback = {
    onSuccess: function() {
        console.log("success");

    },
    onFailure: function(errormsg) {
        console.log("failed ");
    }

};

messaging.setMessagesAsRead(msgTransIds, callback);

setICMessagingReceiver


This method is used to set ICMessagingReceiver callback. It contains two methods. When a message is received, ICMessagingReceiver.onMessageReceived method is called. When a connection status is changed ICMessagingReceiver.onConnectionStatusChanged method is called.
The results of the operation are reported through a callback.

  Syntax: void setICMessagingReceiver(callback)

  Parameters:

ParameterTypeDescription
callbackICMessagingReceiverRefer to ICMessagingReceiver.

  Example:

//To receive connect status changes and published messages
	var icMsgRecrCallback = new IMI.ICMessagingReceiver();
	icMsgRecrCallback.onConnectionStatusChanged = function(statuscode) {
		console.log("read the statuscode, based on the status do the operations");
		    if (statuscode == IMI.ICConnectionStatus.Connected) {
             //Connected
			 } else if (statuscode == IMI.ICConnectionStatus.Error) {
               //Error while connecting 
             }else if (statuscode == IMI.ICConnectionStatus.Refused) {
               //Connection lost
             } else {
                 //unknow error
             }
	};
	icMsgRecrCallback.onMessageReceived = function(icMessage) {
	    //icMessage is IMI.ICMessage object
		if (icMessage.getType() === IMI.ICMessageType.Message) {
		   //here direct message  came from server(message sent from api)
                   
          } else if (icMessage.getType() === IMI.ICMessageType.ReadReceipt) {                       
			//here read receipt came from another application for device syncing(read sent from another device)

          } else if (icMessage.getType() === IMI.ICMessageType.Republish) {
            //here repulished message came from another application for device syncing (message send from  another device)          
          }
	}
	
	var messaging = IMI.ICMessaging.getInstance();
	messaging.setICMessagingReceiver(icMsgRecrCallback);

subscribeTopic


This method is used to subscribe to the topic that has Read access level, allowing the SDK to receive messages on that topic.
The results of the operation are reported through a callback.

📘

Incoming messages are received through ICMessagingReceiver.onMessageReceived.

  Syntax: void subscribeTopic(topic, callback)

  Parameters:

ParameterTypeDescription
topicStringSpecifies the topic name to subscribe.
callbackJSObjectSpecifies the callback.

  Example:

//To subscribe to a topic
try {
    var messaging = IMI.ICMessaging.getInstance();

    var callback = {
        onSuccess: function() {
            console.log("success");

        },
        onFailure: function(errormsg) {
            console.log("failed ");
        }

    };
    var topic = "<Topic Name>";

    messaging.subscribeTopic(topic, callback);

} catch (error) {
    console.log(error)
}

unsubscribeTopic


This method is used to unsubscribe to the topic that has Read access level, preventing the SDK to receive messages on that topic. The messages may still be received until the callback has reported success.
The results of the operation are reported through a callback.

  Syntax: void unsubscribeTopic(topic, callback)

  Parameters:

ParameterTypeDescription
topicStringSpecifies the topic name to unsubscribe.
callbackJSObjectSpecifies the callback.

callback = {
onSuccess: function(){
},
onFailure: function(){
}
};

  Example:

//To unsubscribe to a topic
try {
    var messaging = IMI.ICMessaging.getInstance();

    var callback = {
        onSuccess: function() {
            console.log("success");

        },
        onFailure: function(errormsg) {
            console.log("failed ");
        }

    };
    var topic = "<Topic Name>";

    messaging.unsubscribeTopic(topic, callback);

} catch (error) {
    console.log(error)
}

createThread


This method is used to create a thread based on streamId and threadTitle and send the result in a callback.

  Syntax: createThread(streamId, threadtitle, createThreadCallBack)

  Parameters:

ParameterTypeDescription
streamIdStringIdentity of the stream.
threadTitleStringTitle of the thread.
callbackInvoked to report operation success or failure.
var createThreadCallBack = {
                        onSuccess: function (thread) 
                        {
                            console.log(thread);
                        },
                        onFailure: function () 
                        {
                            console.log("failed to create thread")
                        }
                    };
                    messaging.createThread(steamid, threadtitle, createThreadCallBack);

fetchThreads


This method is used to get a list of threads that are created and at least one message transaction completed. Results are reported through the callback.

  Syntax: fetchThreads(offset, callback)

  Parameters:

ParameterTypeDescription
offsetStringPass offset value to fetch threads from that offset value.
callbackCallbackInvoked to report if operation is a success or failure.
var messaging = IMI.ICMessaging.getInstance();
	var threadsCallBack = {
                        onSuccess: function (threads) {   
                     //read threads 
                        },
                        onFailure: function () {
                            console.log("failed to get threads:")
                        }
                    };
                    messaging.fetchThreads(0, threadsCallBack);

fetchMessages


This method is used to get a list of messages from the Connect platform. All results are reported through the callback.

  Syntax: fetchMessages(threadId, sinceDate callback)

  Parameters:

ParameterTypeDescription
threadIdStringSpecifies the ThreadId value.
sinceDateDateSpecifies the date since the messages must be returned. This value is optional; if nothing is passed then it is considered as current Date Time.
calbackCallbackInvoked to report if operation is a success or failure.
var messaging = IMI.ICMessaging.getInstance();
                    var messagesCallBack = {
                        onSuccess: function (messages) {
                        },
                        onFailure: function () {
                            console.log("failed to get messages");
                        }
                    };
                    messaging.fetchMessages(threadid, "", messagesCallBack);

fetchStreams


This method is used to get a list of streams. All results are reported through the callback.

  Syntax: fetchStreams(callback)

  Parameters:

ParameterTypeDescription
callbackCallbackInvoked to report if operation is a success or failure.
var messaging = IMI.ICMessaging.getInstance();
                    var streamsCallBack = {
                        onSuccess: function (streams) {
                            //render streams
                        },
                        onFailure: function (error) {
                            alert("failed to get streams:");
                           
                        }
                    };
                    messaging.fetchStreams(streamsCallBack);

IMI.ICMessagingReceiver

This class allows the interception of incoming messages and RTM connection status changes. The default class provides standard message handling. You must invoke setICMessagingReceiver to set ICMessagingReceiver callback.

Public Methods
void onConnectionStatusChanged(status)
void onMessageReceived(message)

onConnectionStatusChanged


This method is invoked whenever there is a change to the RTM connection status.

  Syntax: void onConnectionStatusChanged(status)

  Parameters:

ParameterTypeDescription
statusICConnectionStatusRefer to ICConnectionStatus class.

onMessageReceived


This method is invoked whenever a new RTM message is received.

  Syntax: void onMessageReceived(message)

  Parameters:

ParameterTypeDescription
messageICMessageRefer to ICMessage class.

IMI.ICMessage

This class exposes message data from RTM and Push channels in a generalised form and is also used to send Real Time Messages from an app to the IMIconnect platform.

Public Methods
String getCategory()
String getChannel()
JSObject getCustomTags()
JSObject getExtras()
IMI.ICMediaFile[] getMedia()
String getMessage()
String getReplyTo()
String getSenderId()
String getTopic()
String getTransactionId()
String getUserId()
void setCustomTags(tags)
void setMedia(files)
void setMessage(message)
void setSenderId(senderId)
String setTopic(topic)
void getAttachments
void getThread
void getSubmittedAt
void getDeliveredAt
boolean getReadAt
boolean getType
void setAttachments
void setThread

getCategory


This method is used to get the category of the interactive message.

  Syntax: String getCategory()

  Return Value:
 Returns the category of the message.

getChannel


This method is used to get the channel on which the message was received.

  Syntax: String getChannel()

  Return Value:
 Returns the channel.

getCustomTags


This method is used to get the custom or developer specified data that was sent as part of the message payload.

  Syntax: JSObject getCustomTags()

  Return Value:
 Returns the data that was sent along with the message payload.

getExtras


This method is used to get the supplementary data that was sent as part of message payload. The format of this data is controlled by IMIconnect platform.

  Syntax: JSObject getExtras()

  Return Value:
 Returns the supplementary data that was sent along with the message payload.

getMedia


This method is used to get the media files that are attached to the message.

  Syntax: IMI.ICMediaFile[] getMedia()

  Return Value:
 Returns the media files that ware attached to the message.

getMessage


This method is used to get the content of the message that is displayed to the end users.

  Syntax: String getMessage()

  Return Value:
 Returns the text message that is displayed to the end users.

getReplyTo


This method is used to get the topic to which the reply should be sent. This method is not applicable to Push messaging.

  Syntax: String getReplyTo()

  Return Value:
 Returns the topic to which reply should be sent.

getSenderId


This method is used to get the senderId an arbitrary identifier that is set by the sender of the message. This method is not applicable to Push messaging.

  Syntax: String getSenderId()

  Return Value:
 Returns the senderid of the message.

getTopic


This method is used to get the topic on which the message was received. This method is not applicable to Push messaging.

  Syntax: String getTopic()

  Return Value:
 Returns the topic on which the message was received.

getTransactionId


This method is used to get the transaction id that uniquely identifies the message transaction within the IMIconnect platform.

  Syntax: String getTransactionId()

  Return Value:
 Returns the transaction id that identifies the message transaction.

getUserId


This method is used to get the user id from which the message is originated. This method is not applicable to Push messaging.

  Syntax: String getUserId()

  Return Value:
 Returns the user id from which the message is originated.

setCustomTags


This method is used to set the custom tags object to be sent with an outgoing RTM. This method is not applicable to Push messaging.

  Syntax: void setCustomTags(tags)

  Parameters:

ParameterTypeDescription
tagsJSObjectSpecifies the JSObject.

setMedia


This method is used to set the media file attachments to be sent with an outgoing RTM. This method is not applicable to Push messaging.

  Syntax: void setMedia(files)

  Parameters:

ParameterTypeDescription
filesIMI.ICMediaFile[]Refer to IMI.ICMediaFile class

setMessage


This method is used to set the content of the text message to be sent with an outgoing RTM. This method is not applicable to Push messaging.

  Syntax: void setMessage(message)

  Parameters:

ParameterTypeDescription
messageStringSpecifies the content of the text message.

setSenderId


This method is used to set the senderid to be sent with an outgoing RTM. This is an arbitrary information such as simple tag. This method is not applicable to Push messaging.

  Syntax: void setSenderId(senderId)

  Parameters:

ParameterTypeDescription
senderIdStringSpecifies the sender id.

setTopic


This method is used to set the topic on which the message should be published. This method is not applicable to Push messaging.

  Syntax: String setTopic(topic)

  Parameters:

ParameterTypeDescription
topicStringSpecifies the topic.

getAttachments


This method is used to get the attachment files that are attached to the message.

  Syntax: ICAttachment[] getAttachments()

  Return Type: Returns the attachment files attached to the message.

getThread


This method is used to get the thread details specified in the message.

  Syntax: ICThread getThread()

  Return Type: Returns the thread details that were specified in the message.

getSubmitted


This method is used to get the message submitted date to the Connect platform.

  Syntax: Date getSubmittedAt()

  Return Type: Returns the message submitted date to the Connect platform.

getDelivered


This method is used to get the message delivered date to the device.

  Syntax: Date getDeliveredAt()

  Return Type: Returns the message delivered date to device.

getReadAt


This method is used to get the message read date at device.

  Syntax: Date getReadAt()

  Return Type: Returns the message read date at device.

getType


This method is used to get the message type.

  Syntax: ICMessageType getType()

  Return Type: Returns the message type.

setAttachments


This method is used to set the media file attachments to be sent with an outgoing RTM. This method is not applicable to Push messaging.

  Syntax: void setAttachments(final ICAttachment[] attachments)

  Parameters:

ParameterTypeDescription
attachmentsRefer to ICAttachment class.

setThread


This method is used to set the thread details that needs to be specified in the message.

  Syntax: void setThread(final ICThread thread)

  Parameters:

ParameterTypeDescription
threadRefer to ICThread class.

IMI.ICMediaFile

This class is deprecated.
This class exposes data relating to media file attachments that are received through RTM and used to attach media files to outgoing messages.

Public Methods
String getContentType()
long getDuration()
double getLatitude()
double getLongitude()
String getPreview()
long getSize()
String getURL()
void setContentType(contentType)
void setDuration(duration)
void setLatitude(latitude)
void setLongitude(longitude)
void setPreview(preview)
void setSize(size)
void setURL(url)

getContentType


This method is used to get the content type such as image/jpeg.

  Syntax: String getContentType()

  Return Value:
 Returns the content type such as image or jpg.

getDuration


This method is used to get the duration of the applicable audio and video files.

  Syntax: long getDuration()

  Return Value:
 Returns the duration of the audio and video files.

getLatitude


This method is used to get the latitude of the location passed in message.

  Syntax: double getLatitude()

  Return Value:
 Returns the latitude of the location.

getLongitude


This method is used to get the longitude of the location passed in message.

  Syntax: double getLongitude()

  Return Value:
 Returns the longitude of the location.

getPreview


This method is used to get the preview thumbnail as a string.

  Syntax: String getPreview()

  Return Value:
 Returns the preview thumbnail as a string.

getSize


This method is used to get the file size in bytes.

  Syntax: long getSize()

  Return Value:
 Returns the file size in bytes.

getURL


This method is used to get the URL of the media file.

  Syntax: String getURL()

  Return Value:
 This method returns the URL.

setContentType


This method is used to set the content type such as image/jpeg.

  Syntax: void setContentType(contentType)

  Parameters:

ParameterTypeDescription
contentTypeStringSpecifies the content type.

setDuration


This method is used to set the duration of the audio and video files.

  Syntax: void setDuration(duration)

  Parameters:

ParameterTypeDescription
durationlongSpecifies the duration in milli seconds.

setLatitude


This method is used to set the latitude of the location passed in message.

  Syntax: void setLatitude(latitude)

  Parameters:

ParameterTypeDescription
latitudedoubleSpecifies the latitude of the location.

setLongitude


This method is used to set the longitude of the location passed in message.

  Syntax: void setLongitude(longitude)

  Parameters:

ParameterTypeDescription
longitudedoubleSpecifies the longitude of the location.

setPreview


This method is used to set the preview of the media file.

  Syntax: void setPreview(preview)

  Parameters:

ParameterTypeDescription
previewStringSpecifies the preview of the media file.

setSize


This method is used to set the size of the file in bytes.

  Syntax: void setSize(size)

  Parameters:

ParameterTypeDescription
sizelongSpecifies the size of the file in bytes.

setURL


This method is used to set the URL of the media file.

  Syntax: void setURL(url)

  Parameters:

ParameterTypeDescription
urlStringSpecifies the URL for the media.

IMI.ICAttachment

This class exposes data relating to media file attachments that are received through RTM and used to attach media files to outgoing messages.

Public Methods
String getContentType()
long getDuration()
double getLatitude()
double getLongitude()
String getPreview()
long getSize()
String getURL()
void setContentType(contentType)
void setDuration(duration)
void setLatitude(latitude)
void setLongitude(longitude)
void setPreview(preview)
void setSize(size)
void setURL(url)

getContentType


This method is used to get the content type such as image/jpeg.

  Syntax: String getContentType()

  Return Value:
 Returns the content type such as image or jpg.

getDuration


This method is used to get the duration of the applicable audio and video files.

  Syntax: long getDuration()

  Return Value:
 Returns the duration of the audio and video files.

getLatitude


This method is used to get the latitude of the location passed in message.

  Syntax: double getLatitude()

  Return Value:
 Returns the latitude of the location.

getLongitude


This method is used to get the longitude of the location passed in message.

  Syntax: double getLongitude()

  Return Value:
 Returns the longitude of the location.

getPreview


This method is used to get the preview thumbnail as a string.

  Syntax: String getPreview()

  Return Value:
 Returns the preview thumbnail as a string.

getSize


This method is used to get the file size in bytes.

  Syntax: long getSize()

  Return Value:
 Returns the file size in bytes.

getURL


This method is used to get the URL of the media file.

  Syntax: String getURL()

  Return Value:
 This method returns the URL.

setContentType


This method is used to set the content type such as image/jpeg.

  Syntax: void setContentType(contentType)

  Parameters:

ParameterTypeDescription
contentTypeStringSpecifies the content type.

setDuration


This method is used to set the duration of the audio and video files.

  Syntax: void setDuration(duration)

  Parameters:

ParameterTypeDescription
durationlongSpecifies the duration in milli seconds.

setLatitude


This method is used to set the latitude of the location passed in message.

  Syntax: void setLatitude(latitude)

  Parameters:

ParameterTypeDescription
latitudedoubleSpecifies the latitude of the location.

setLongitude


This method is used to set the longitude of the location passed in message.

  Syntax: void setLongitude(longitude)

  Parameters:

ParameterTypeDescription
longitudedoubleSpecifies the longitude of the location.

setPreview


This method is used to set the preview of the media file.

  Syntax: void setPreview(preview)

  Parameters:

ParameterTypeDescription
previewStringSpecifies the preview of the media file.

setSize


This method is used to set the size of the file in bytes.

  Syntax: void setSize(size)

  Parameters:

ParameterTypeDescription
sizelongSpecifies the size of the file in bytes.

setURL


This method is used to set the URL of the media file.

  Syntax: void setURL(url)

  Parameters:

ParameterTypeDescription
urlStringSpecifies the URL for the media.

IMI.ICTopic

This class exposes Real Time Messaging topic data that is used to publish outgoing messages or subscribe to receive incoming messages.

Public Methods
ICAccessLevel getAccessLevel()
String getCreatedBy()
Date getCreatedDate()
String getName()
Date getUpdatedDate()
Boolean isSubscribed()

getAccessLevel


This method is used to get the access level assigned to the topic.

  Syntax: IMI.ICAccessLevel getAccessLevel()

  Return Value:
 Returns the access level assigned to the topic.

getCreatedBy


This method is used to get name who created the topic.

  Syntax: String getCreatedBy()

  Return Value:
 Returns the name who created the topic.

getCreatedDate


This method is used to get date on which the topic is created.

  Syntax: Date getCreatedDate()

  Return Value:
 Returns the date on which the topic is created.

getName


This method is used to get the topic name.

  Syntax: String getName()

  Return Value:
 Returns the topic name.

getUpdatedDate


This method is used to get the date on which the topic was last updated.

  Syntax: Date getUpdatedDate()

  Return Value:
 Returns the date on which the topic was last updated.

isSubscribed


This method is used to verify whether the current user is subscribed to the topic.

  Syntax: Boolean isSubscribed()

  Return Value:
 Returns true if the current user is subscribed to the topic.

IMI.ICThread

This class exposes the thread data from the RTM channel in a generalized form. It is also used to send RTM from an app to the IMIconnect platform.

Public Methods
void getId
void getTitle
void isWritable
void getStreamName
boolean getCreatedAt
boolean getUpdatedAt

getId


This method is used to get thread ID information.

  Syntax: String getId()

  Return Value: Returns the thread ID information.

getTitle


This method is used to get the thread title.

  Syntax: String getTitle()

  Return Value: Returns the thread title.

isWritable


This method is used to validate if a thread is writable or not. A thread is writable for Conversation thread, else (for announcement) thread it is not writable.

  Syntax: boolean isWritable()

  Return Value: Returns the whether thread is writable or not.

getStreamName


This method is used to get the stream name to communicate to the Connect platform.

  Syntax: String getStreamName()

  Return Value: Returns the stream name.

getCreatedAt


This method is used to get the thread created date on the Connect platform.

  Syntax: Date getCreatedAt()

  Return Value: Returns the thread created date on the Connect platform.

getUpdatedAt


This method is used to get the thread updated date on the Connect platform.

  Syntax: Date getUpdatedAt()

  Return Value: Returns the thread updated date on the Connect platform.