You can change your chat settings via Java Script. Let's look through some interesting cases.
Important:
Multilingual chat
If your site supports several languages, you can customize your chat for each of them. Translate such phrases as "New message" or "enter your message and click Enter" to any language.
Important: offline messages text can be set in one language only. We are working on multilingual offline messages.
Here is a code for changing chat language. Replace phrases with your own:
var config = { "i18n": { "thanks": "Thank you", "dialogs_history": "Conversation history", "new_message": "New message", "enter_message": "Type your message and press Enter", "dialogs_zerodata": "There are no conversations yet. We've never talked before", "enter_email": "Enter your email", "enter_phone": "Enter your phone number", "leave_email": "You can leave your email and we'll continue this conversation via email" }, "settings": { "messenger_collapsed_text": "Ask me...", "messenger_offline_message": "No operators online now. Write your question and we will help you during the working time", "messenger_welcome_message": "Ask a question, we will answer.", } } dashly.connect('xxxxx',config);
Change operator's status
You can manually change operator's status on all or several pages of your site:
var config = {
"settings": {
"status_operators": "online"
}
}
dashly.connect('xxxxx',config);
Different chat colors on different pages
Make sure that the chat doesn't look strange on your website in terms of color. To change this, write argument messenger_collapsed_color for settings object.
var config = {
"settings": {
"messenger_collapsed_color": "178227"
}
}
dashly.connect('xxxxx',config);
Different chat position on different pages
Сhat can be located in different places on each page. For example, chat can be at the bottom left corner on the main page, and at the bottom right corner on other pages. The messenger_position of the Settings object is responsible for the chat position.
var config = {
"settings": {
"messenger_position": "right_bottom"
}
}
dashly.connect('xxxxx',config);
Full list of chat settings
"i18n" object arguments
thanks
– The phrase that appears after one enters contact information in the chat
dialogs_history
– Title of "Conversation history" tab
new_message
– Text in a button that creates a new dialog in the "Conversations history" tab
enter_message
– Text in the input field
dialogs_zerodata
– Zero screen when there are no conversations
enter_email
– text in the field for entering email
enter_phone
– text in the field for entering phone number
page_title_new_message
- new conversation title
"Settings" object arguments
messenger_collapsed_color
– Chat color
messenger_collapsed_text
– Inscription in the chat widget
messenger_collection_lead_type
– What data to request from a user after their first chat message in case the user doesn't have their email added to their lead card
messenger_hide_collapsed
- Hide text in minimized mode. true
or false
messenger_mode
– the mode of the chat: visible
, has_dialogs
(when there is a conversation), hidden
messenger_name
- default name (shown when none of operators responded yet)
messenger_online_message
– Lead will see this status message if they contact you when your chat is online
messenger_offline_message
- Lead will see this status message if they contact you when your chat is offline
messenger_show_offline_message
- Show message that all operators are offline. true
/false
messenger_position
– For the chat widget: left_top
(top left corner), left_bottom
(bottom left corner), right_top
(top right corner), right_bottom
(bottom right corner)
messenger_welcome_message - Inscription that appears in chat when one opens it
status_operators
– Status of your operators: online
or offline
messenger_collapsed_animations: {smile: true, winking_smile: true, vertical_funnel: true, horizontal_funnel: true}
– Choose which widget animations to display and which not to display. true
– animation is on, false
– animation is off
messenger_theme: "default"
or "dark"
chat widget theme
messenger_indent: {vertical: 25, horizontal: 25}
– Chat widget indent from the borders of the website window for desktop website version
messenger_mobile_indent: {vertical: 25, horizontal: 25}
– Chat widget indent from the borders of the website window for mobile website version
messenger_pattern: "pat-6"
– Chat background from the "Settings – Chat" section from "pat-1" to "pat-11"
messenger_show_kb_link_in_welcome_message
– Choose to show or hide link to your Dashly knowledge base in the welcome message. true
or false
messenger_icon_facebook_text: "dashly"
– URL to your Facebook page near the chat widget
messenger_icon_telegram_text: "dashly"
– URL to your Telegram page near the chat widget
messenger_icon_viber_text: "dashly"
– URL to your Viber page near the chat widget
Conversations auto assignment can be set via our public API.
You need to create web-service which will realize operator's assignment logic.
This web-service should be called via Webhook. Learn about calling Webhook in Dashly in this article. Set "Lead initiated a conversation in chat" as a webhook trigger.
As soon as lead initiates a chat conversation, a webhook with all lead attributes and link to the page will be sent.
More information about webhooks can be found here.
Example:
1) Example of assigning operator Andrew (id 24574) to all open conversations (php):
// Your app Token https://dashly.io/developers/webapi/#_1
$token = 'xxx';
// Event object https://dashly.io/developers/objects/event/
$event = json_decode($_POST['event']);
// ConversationId
$conversationId = $event->{'props'}->{'$conversation_id'};
// Operator id. You can find it in Settins - admins
$operator = 24574;
$url = 'https://api.dashly.io/v1/conversations/'.$conversationId.'/assign?auth_token='.$token;
// Post request https://dashly.io/developers/endpoints/conversations/assign/
$result = file_get_contents($url, false, stream_context_create(array(
'http' => array(
'method' => 'POST',
'header' => 'Content-type: application/json',
'content' => '{"admin": "'.$operator.'"}'
)
)));
2) Example of assigning operator Andrew (id 24574) to all conversations from pages containing " /portfolio/”:
// Your app Token https://dashly.io/developers/webapi/#_1
$token = 'app.7.4b3448df1b622483e88f53eec35cf9aca7d6ce0973ea2209';
// Event object https://dashly.io/developers/objects/event/
$event = json_decode($_POST['event']);
// User objest https://dashly.io/developers/objects/user/
$user = json_decode($_POST['user']);
// ConversationId
$conversationId = $event->{'props'}->{'$conversation_id'};
// Operator id. You can find it in Settins - admins
$operator = 24574;
$url = 'https://api.dashly.io/v1/conversations/'.$conversationId.'/assign?auth_token='.$token;
// Post request https://dashly.io/developers/endpoints/conversations/assign/
if (stristr($user->{'presence_details'}->{'url'},'/portfolio/')) {
$result = file_get_contents($url, false, stream_context_create(array(
'http' => array(
'method' => 'POST',
'header' => 'Content-type: application/json',
'content' => '{"admin": "'.$operator.'"}'
)
)));
}