...
Code Block |
---|
breakoutMode | full-width |
---|
language | js |
---|
|
for (var i = 0; i < data.chatTranscripts.length; i++ ) {
// data.chatTranscripts[i] is an object that contains the following information:
// data.chatTranscripts[i].transcript.messages: all the messages sent on a single archived chat
// data.chatTranscripts[i].transcript.room: CTLive chat room ID
// Get all messages:
for (z = 0; z < data.chatTranscripts[i].transcript.messages.length; z++) {
switch (data.chatTranscripts[i].transcript.messages[z].data.messageType) {
case "TEXT":
/* Text Message...call your custom function that render the message
using the following properties:
data.chatTranscripts[i].transcript.messages[z].data.id: unique message ID
data.chatTranscripts[i].transcript.messages[z].data.content.text : the content of the message
data.chatTranscripts[i].transcript.messages[z].data.content.user.isAgent: boolean to identify agent or customer
data.chatTranscripts[i].transcript.messages[z].data.content.user.id : unique ID of the user
data.chatTranscripts[i].transcript.messages[z].data.ts: timestamp of the message
data.chatTranscripts[i].transcript.messages[z].data.deliveryErrorReason: if 'deliverySuccess' is false this propert contains the delivery error reason
data.chatTranscripts[i].transcript.messages[z].data.deliverySuccess: boolean used to identify if the message war delivered successfully
*/
break;
};
}
} |
In the case of an attachment (image, document, audio and video message types) the message will not contain the binary content of the sent file but a reference to it (message.id
). An additional web service provided by CTLive must be used to retrieve the file's content.
...
Code Block |
---|
breakoutMode | wide |
---|
language | js |
---|
|
jQuery.ajax(
{
type: "GET",
async: true,
url: "/livechat/" + <TENANT_NAME> + "/getMultimediaMessageByMessageID/" + <IMAGE_ID>,
dataType: "json",
headers: {
"ctlivetoken": <CTLIVE_VALID_SESSION_TOKEN>
}
}
).done(
function (data) {
if (data.result == true) {
// File binary content is stored in Base64 format
jQuery( "#imgChatHistory").attr("src", "data:image/jpeg;base64, " + data.message.messages[0].content.img);
}
}
); |
The result when the document has been retreived….
Image Added
The attached file can also ben downloaded by simply using an HTML anchor tag that refers to the ‘downloadTranscriptDocument’ service offered by CTLive. You have to specify in the service’s URL the unique document ID and a valida CTLive authenticatd token passed by the ‘ctlivetoken’ querystring param.
Code Block |
---|
|
<a inherit;" target="_blank" href="/livechat/default/downloadTranscriptDocument/ff982682-753e-44c4-bd0f-28d0337a9ad1?ctlivetoken=3393e6e9-0b31-4a5e-b101-9809fc9035f3">
<span class="fa fa-download fa-1x" style="cursor: pointer;"></span>
</a> |