The contactJoin
API allows you to join as an a participant to an existing chat room usually started by the customer on the corporate web site. Chat room ID and a nickname must be specified as input parameters.
...
Code Block | ||
---|---|---|
| ||
LIVECHATSDK.LIVECHAT.joinContact("CHAT_eaa2e7c0-9c26-40db-b720-d777ab68078d", "John Doe").then(
function (contact) {
console.log("[CTLive] Contact JOINED", contact);
// Store the contact instance in a custom Hashmap
MY_ACTIVE_CHAT[contact.contact.id] = contact;
// Bind 'message' event custom callback
contact.on("message",
function (event) {
var DOMObj = null;
console.log("[CTLIVE] On [message] event");
console.log("Nickname......" + event.content.user.nickname);
console.log("Text.........." + event.content.text);
console.log("Is Agent......" + event.content.user.isAgent);
console.log("Msg ID........" + event.id);
}
);
// Bind 'message' event custom callback
contact.on("messageReceived",
function (event) {
console.log("[CTLIVE] On [messageReceived] event");
console.log("Msg ID........" + event.messageID);
}
);
// Bind 'messageSeen' event custom callback
contact.on("messageSeen",
function (event) {
console.log("[CTLIVE] On [messageSeen] event");
console.log("Msg ID........" + event.messageID);
}
);
// Bind 'multimediaMessage' event custom callback
contact.on("multimediaMessage",
function (event) {
console.log("[CTLIVE] On [multimediaMessage] event");
if ( event.messageType === "IMAGE" ) {
console.log("Caption............" + event.content.caption);
console.log("Is Agent..........." + event.content.user.isAgent);
console.log("User Nickname......" + event.content.user.nickname);
console.log("User ID............" + event.content.user.id);
console.log("Chat ID............" + contact.contact.id);
console.log("Msg ID............." + event.id)
console.log("Content (Base64)..." + event.content.img);
}
if ( event.messageType === "DOCUMENT" ) {
console.log("File Extension.....", event.content.documentType);
// PDF, DOC; DOCX, PPT, PPTX, XLS, XLSX
console.log("File Caption.......", event.content.caption);
console.log("Is Agent..........." + event.content.user.isAgent);
console.log("User Nickname......" + event.content.user.nickname);
console.log("User ID............" + event.content.user.id);
console.log("Chat ID............" + contact.contact.id);
console.log("Msg ID............." + event.id)
console.log("Content (Base64)..." + event.content.document);
}
}
);
// Bind 'link' event custom callback
contact.on("link",
function (event) {
console.log("[CTLIVE] On [link] event");
console.log("URL................", event.content.url);
console.log("Is Agent..........." + event.content.user.isAgent);
console.log("User Nickname......" + event.content.user.nickname);
console.log("User ID............" + event.content.user.id);
console.log("Chat ID............" + contact.contact.id);
console.log("Msg ID............." + event.id)
}
);
// Bind 'isWriting' event custom callback
contact.on("isWriting",
function (event) {
console.log("[CTLIVE] On [isWriting] event");
console.log("Started/Stopped writing........", event.bwrite);
}
);
// Bind 'contactEnded' event custom callback
contact.on("contactEnded",
function (event) {
console.log("[CTLIVE] On [contactEnded] event");
}
);
// Bind 'userAdded' event custom callback
// A new participant has benn added in the chat room
contact.on("userAdded",
function (event) {
console.log("[CTLIVE] On [userAdded] event");
}
);
}
);
|
...