Conversation API

The Conversation API is a low-level API that allows you to create various objects such as Users, Members, and Conversations.

Conversations are the fundamental concept the API revolves around. Conversations are containers of communications exchanged between two or more Users which could be a single interaction or the history of all interactions between them.

The API also allows you to create Events and Legs to enable text, voice and video communications between two Users and store them in Conversations.

Text, voice and video communications can currently flow through various Channels like App, Phone, SIP, and Websocket. To enable the App channel (for in-app messaging, voice and video), you would need to also utilize our Nexmo Client SDK.

Phone, SIP and Websocket Channels are enabled through the Voice API and they all flow into Conversations.

Contents

Beta

This API is currently in Beta.

Nexmo always welcomes your feedback. Your suggestions help us improve the product. If you do need help, please email ea-support@nexmo.com and include Conversation API in the subject line. Please note that during the Beta period support times are limited to Monday to Friday.

Supported features

The Conversation API currently supports a range of communication channels described in this documentation.

As the Conversation API expands to support more and more Nexmo services, the supported Channels will also expand. Conversations would, as a result, become the container for the history of all your communication exchanged via Nexmo Services. This history would then be accessible through the Conversation API.

IMPORTANT: If you are in APAC region there are some limitations. Please contact ea-support@nexmo.com for information on how to obtain APAC LVN support via our Singapore servers.

Concepts

  • How to set up your application
  • Application: A Nexmo Application provides a container for Users and Conversations.
  • How to authenticate users
  • User: A User represents an entity such as a person that wishes to communicate.
  • How to generate JWTs: This topic explains how to generate JWTs for use in your app. JSON Web Tokens (JWTs) and Access Control Lists (ACLs) are a key concept to understand in order to authenticate your apps and users.
  • Conversation: A Conversation connects Users and allows them to communicate.
  • Event flow: This topic provides an overview of a event dispatching flow through the system encompassing the Nexmo Voice and Conversation services.
  • Member: A Member is created when a User joins a Conversation.
  • Call: A Call consists of one or more Legs.
  • Channel: A Channel refers to one of App, Phone, SIP or Websocket.
  • Leg: A Leg connects a User with a Conversation.
  • Media: Media refers to type of communication. It is currently one of text, voice, or video.
  • Event: Conversations are event-driven. Event objects are generated when key activities occur.
  • Session: A Session is a live communication stream created with a Client SDK.

Getting started

Get started with these guides:

Code Snippets

Code snippets provide ready to use samples of code so you can build out your application quickly.

You could start by Creating a Conversation.

Use Cases

There is also a Use Case on how to build your own Contact Center.

Reference