Quickblox Blog

Igor Khomenko

REST API updates

Posted by Igor Khomenko on September 18, 2014

Hey guys,

today we released some REST API updates, especially for Chat:

Everyday we process feedback from our clients and release new features.
With you QuickBlox becomes better and better!



Taras Filatov

Live API status / chat server health checker (also Node.js code sample for QuickBlox)

Posted by Taras Filatov on September 10, 2014

So Alex has just finished the 2nd version of this super cool tool which we call live status page or status checker:

node js chat server api status checker

This can be used for external monitoring of QuickBlox server or your own QuickBlox instance in case you have an enterprise dedicated server of QuickBlox running.

It supports:

  • Online / offline API check
  • API response latency check
  • All modules and all main API calls supported (Users, Chat, Location, Content, Custom Objects, Messages)
  • Historical data – last 24h diagram
  • Historical data – any date – click top right to open calendar
  • Easy to add new checkers for multiple instances – simply add to config file

Also this is a great code sample for those who want to use QuickBlox on Node.JS.

Source code available on GitHub:


Live demo:


Andrey Povelichenko

JavaScript SDK 1.3.0

Posted by Andrey Povelichenko on September 3, 2014

Hey guys!

QuickBlox team has released an update of JS SDK.

Starting from version 1.3.0 JS SDK supports Chat 2.0 API which provides a more convenient way to design your own chat application. Also been completely revised the logic of Chat plugin, improved the functionality, fixed bugs. Subsequently, it has been integrated into a separate independent module SDK.

Now, to include chat communication in your application, you do not need to connect additional libraries or plug-ins. Everything is already there in SDK.

You can found new changes here:

Chat 2.0 API instead the chat plugin

Note! The old version of API (chat plugin) is deprecated and will be removed in JS SDK v1.5.0.

Taras Filatov

How QuickBlox (XMPP-based) presence and unread messages alerts mechanism works

Posted by Taras Filatov on August 29, 2014

This is to explain how QuickBlox chat presence and chat message alerts for offline users work as we’ve been receiving quite a few questions on the mechanism of this lately:

1. User logs in and establishes chat session, sends presence with ‘available’ flag
2. Every 30 seconds chat client sends a ‘keep-alive’ presence to the server. This way both server and other users know the person is still online. In chat this can be displayed as a green dot against user pic / name.
3(a) If user logs out manually, chat client sends presence = unavailable flag.
3(b) if app is put into background, QuickBlox recommends doing the same (presence = unavailable, session log out) but you can choose. On iOS system may kill your app. On Android you could keep it alive as much as you want in background but it will consume more battery power this way.
3(c) if app crashes, server will determine that socket connection is closed and soon will set the status to unavailable automatically.
4. While user keeps the chat session alive and status is ‘available’ they won’t receive any alerts about missed messages. Once user is unavailable, server will be sending all the missed messages via push notifications. To ALL devices belonging to the user.
5. Push notification is the default channel. You may also customise template for the alert via admin panel. This includes choosing whether to quote message excerpt, you may also use wildcard variables such as username etc, or you may want to send just a number of new messages such as “you have 5 unread messages from X”. Badge counter and sound alerts can also be adjusted.
6. If needed be, instead or along with push notification alert, QuickBlox chat server can also send alerts via e-mails or dump to external message base / middle man system such as Apache Kafka, Cassandra DB etc. Additionally, QuickBlox dumps all messages by default into own MongoDB (NoSQL) DB where messages also get accessible via REST JSON API for chat history purposes.