Delivered and Seen Receipts

Product deprecation notice

Effective April 30th, 2026, Vonage In-App Messaging will no longer be available. Access for new users will be closed, and the service will be discontinued for all existing users.

If you have any questions regarding this product’s discontinuation, please contact your account manager or our support team.

Overview

This guide covers delivered and seen receipts within a conversation.

Before you begin, make sure you added the SDK to your app and you are able to create a conversation.

NOTE: A step-by-step tutorial to build a chat application is available here.

This guide will make use of the following concepts:

Conversation Events:

  • message:delivered events that fire on a Conversation, after you are a Member
  • message:seen events that fire on a Conversation, after you are a Member

Set Message Status to Delivered

There is a method that will set a Message status to delivered. The following code snippet will set a messages's status to delivered once a message event happens in the conversation.

conversation.on('message', (sender, event) => {
    // Can't set your own message status to delivered
    if (conversation.me.id !== event.from) {
        event.delivered().then(() => {
            console.log("message event status set to delivered");
        }).catch((error)=>{
            console.error("error setting message event status to delivered ", error);
        });
    };
});

Message Delivered Receipt

Given a conversation you are already a member of, message:delivered events will be received when Message events are set to delivered in the context of the current conversation:

conversation.on('message:delivered', (data, event) => {
    console.log(event);
});

Set Message Status to Seen

There is a method that will set a Message status to seen. The following code snippet will set a messages's status to seen once a message event happens in the conversation.

conversation.on('message', (sender, event) => {
    // Can't set your own message status to seen
    if (conversation.me.id !== event.from) {
        event.seen().then(() => {
            console.log("message event status set to seen");
        }).catch((error)=>{
            console.error("error setting message event status to seen ", error);
        });
    };
});

Message Seen Receipt

Given a conversation you are already a member of, message:seen events will be received when Message events are set to seen in the context of the current conversation:

conversation.on('message:seen', (data, event) => {
    console.log(event);
});

Reference