Como enviar e receber eventos de mensagem

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.

Este guia explica como enviar e receber eventos de mensagem com o Vonage Client SDK. Antes de começar, certifique-se de ter adicionado o Client SDK ao seu aplicativo e criado uma sessão (Android, iOS, JS), e participou de uma conversa.

Envio de eventos de texto de mensagem

Com um ID de conversa, você pode enviar um evento de mensagem de texto.

client.sendMessageTextEvent(conversationId, "Hi Vonage!")
    .then(timestamp => {
        console.log("Successfully sent text message at ", timestamp);
    }).catch(error => {
        console.error("Error sending text message: ", error);
    });

Envio de eventos de imagem de mensagem

Com um ID de conversa e uma URL de uma imagem, você pode enviar um evento de mensagem com imagem.

client.sendMessageImageEvent(conversationId, imageURL)
    .then(timestamp => {
        console.log("Successfully sent image message at ", timestamp);
    }).catch(error => {
        console.error("Error sending image message: ", error);
    });

Eventos personalizados de envio de mensagens

Além de um ID de conversa, você pode enviar uma carga totalmente personalizada como um Evento de Mensagem Personalizado. Isso é útil caso você queira um tipo de Evento de Mensagem específico para o seu aplicativo.

const attachmentPayload = {
    key1: "value 1",
    key2: "value 2"
};
      
client.sendMessageCustomEvent(conversationId, attachmentPayload)
    .then(timestamp => {
        console.log("Successfully sent custom message at ", timestamp);
    }).catch(error => {
        console.error("Error sending custom message: ", error);
    });

Eventos de recepção de mensagens

Você pode receber todos os eventos de mensagens de conversa em seu aplicativo configurando um ouvinte de eventos ou uma função delegada. Os eventos de mensagens recebidos por meio desse ouvinte ou dessa função delegada serão automaticamente atualizados no delivered estado. Aqui você pode verificar o tipo de evento de mensagem recebida.

client.on("conversationEvent", event => {
    switch (event.kind) {
        case "message:text":
            handleTextMessage(event);
            break;
        case "message:image":
            handleImageMessage(event);
            break;
        case "message:custom":
            handleCustomMessage(event);
            break;
    };
});

Marcar eventos de mensagens como “vistos”

Depois de receber uma notificação de mensagem, você pode marcá-la como lida.

client.sendMessageSeenEvent(eventId, conversationId)
    .then(timestamp => {
        console.log("Successfully sent seen event at ", timestamp);
    }).catch(error => {
        console.error("Error sending seen event: ", error);
    });