Overview

Conversations are the core of Vocantly messaging. The SDK provides a conversation-scoped API where you join a conversation, get a Conversation instance, and interact with it.

Joining Conversations

Before you can send or receive messages, you must join a conversation:

Getting Conversation Instance

After joining, get the Conversation instance to interact with it:

Conversation API

Properties

Methods

Events

Sending Messages

Message Types

  • text - Regular text message (default)
  • system - System message

Receiving Messages

Listen for incoming messages on the conversation:

Message Object

Typing Indicators

Sending Typing Status

Receiving Typing Status

Typing indicators automatically expire after 5 seconds. The server handles this, so you don’t need to manually call stopTyping() after a timeout.

Read Receipts

Listening for Receipts

Inbox and message history

To list the current user’s EXTERNAL conversations and fetch message history for a conversation, configure apiUrl and REST auth (Bearer token, API keys, or getRestHeaders). Then use:
  • List: client.conversations.list({ limit?, cursor?, externalUserId? })
  • History: conversation.fetchMessages({ limit?, cursor?, externalUserId? })
The SDK calls GET /sdk/conversations and GET /sdk/conversations/:id/messages. When using Bearer token, you can omit externalUserId (backend uses token sub). See Inbox & message history for full details and examples.

Leaving Conversations

When you’re done with a conversation:

Minimal flow

For the full app flow (backend token, start conversation, chat screen, fetch history, typing, dedupe), see the Implementation Guide.

Multiple Conversations

You can join multiple conversations simultaneously:

Error Handling

Next Steps

Implementation Guide

Full backend + frontend flow

Inbox

List conversations and message history

Messaging

Messages in detail

Typing

Typing indicators