Messenger Javascript API - Methods

Loading the Featurebase JavaScript library provides a Featurebase JavaScript object that responds to a few methods. These allow you to update users without a page refresh and interact with the messenger window.

Written By Bruno from Featurebase

Last updated 12 days ago

This requires you to have our messenger installed, please follow the installation guide first.

Featurebase('show')

This will show the Messenger with the default view.

Featurebase('show');

Featurebase('show', pageName)

This will show the Messenger and navigate to a specific page.

Featurebase('show', 'messages'); // Options: 'home', 'messages', 'changelog', 'help'

Featurebase('hide')

This will hide the Messenger if it's currently open.

Featurebase('hide');

Featurebase('showNewMessage')

This will open the Messenger with a new message composer.

Featurebase('showNewMessage');

Featurebase('showNewMessage', initialText)

This will open the Messenger with a new message composer pre-populated with initial text.

Featurebase('showNewMessage', 'I need help with my account');

Featurebase('showArticle', articleId)

This will open the Messenger and display a specific help article.

Featurebase('showArticle', 'article-id-123');

Featurebase('showChangelog')

This will open the Messenger and navigate to the main changelog view.

Featurebase('showChangelog');

Featurebase('showChangelog', entryId)

This will open the Messenger and navigate to a specific changelog entry.

Featurebase('showChangelog', 'changelog-entry-id-456');

Featurebase('showConversation', conversationId)

This will open the Messenger and display a specific conversation.

Featurebase('showConversation', 'conversation-id-123');

Featurebase('shutdown')

This can be used to fully remove the Featurebase messenger widget instance from your site after it has been loaded in.

Featurebase('shutdown');

Event Handling

Featurebase('onHide', callback)

Register a callback function that will be executed when the Messenger is hidden.

Featurebase('onHide', function() {
  console.log('Messenger was hidden');
  // Do something when messenger is hidden
});

Featurebase('onShow', callback)

Register a callback function that will be executed when the Messenger is shown.

Featurebase('onShow', function() {
  console.log('Messenger was shown');
  // Do something when messenger is shown
});

Featurebase('onUnreadCountChange', callback)

Register a callback function that will be executed whenever the unread message count changes. The callback receives the new count as an argument.

Featurebase('onUnreadCountChange', function(unreadCount) {
  console.log('Unread count changed to:', unreadCount);
  // Update UI to show unread count
  document.getElementById('message-badge').textContent = 
    unreadCount > 0 ? unreadCount : '';
});

Theme and Language Control

Featurebase('setTheme', theme)

Set the Messenger theme to either light or dark mode.

Featurebase('setTheme', 'light'); // 'light' or 'dark'

Featurebase('setLanguage', language)

Set the display language of the Messenger.

Featurebase('setLanguage', 'fr'); // e.g., 'en', 'es', 'fr'