Requirements of the Messenger API

Introduction to Messenger

Instant messaging applications, such as Messenger, WhatsApp, and Telegram, connect millions of people who share billions of messages daily. These applications utilize the latest technologies to efficiently handle a large number of users and messages via their extensive API. To understand the working of these APIs, let's design an API for Facebook Messenger. We need to determine what services the Messenger API utilizes and how the interaction occurs between them to assist real-time chat. Before we dive deep into the design of the Messenger API, we will identify requirements and focus on the workflow that takes place via the interacting entities.

We’ll start our discussion by identifying the important requirements for the Messenger API.


To design API for Messenger, we will focus on the following functional and non-functional requirements:

Functional requirements

  • Conversation: The Messenger API should allow users to send one-to-one messages, as well as group messages.

  • Sharing of media files: The API should allow the sharing of media files, including audio, images, and videos.

  • Message status: The API should allow users to check the status of a message, such as sent, failed, delivered, and read.

  • A paginated list of chats: The Messenger API should provide a paginated list of messages from a chat. These messages should be able to be viewed without an internet connection, so they should be stored locally on the client side.

Create a free account to view this lesson.

By signing up, you agree to Educative's Terms of Service and Privacy Policy