Skip to main content

Converse 2.0 APIs

Converse 2.0 is 8x8's omnichannel conversation platform for contact centres. Its APIs let an external system or bot close and transfer conversations, send and receive messages across WhatsApp, SMS, Email and other channels, react to conversation status changes, and export historical data.

Converse 2.0 was formerly known as Moobidesk Enterprise. Hostnames still use the moobidesk.com domain.

๐Ÿ“˜

To get access to Converse 2.0, please reach out to your account manager (cpaas-sales@8x8.com). Your apiKey and apiSecret are issued by 8x8 โ€” there is no self-service signup.

The APIsโ€‹

APIs you call are documented as an interactive reference. APIs that call you are webhooks, documented as pages like this one.

APIWhat it does
Conversation APIClose a conversation, transfer it, or list a contact's active conversations.
MT Messaging APISend an outbound message to a customer.
Conversation Status Update NotificationBe notified when a conversation opens, is assigned, is read, or closes. Webhook.
Bot integrationConnect a bot as an agent. Webhook plus the Bot Response API.
Reporting APIExport conversation, message and agent data.
Setup APILook up the channel accounts, agents, queues and dispositions the other APIs need.

Start with the Setup APIโ€‹

Nearly every Converse 2.0 operation requires a UUID that only your tenant configuration can supply:

To do thisYou needGet it from
Send a messagechannelAccountUUIDList channel accounts
Close a conversationdispositionUUIDList queues with disposition: true
Transfer a conversationqueueUUID, agentUUIDList queues, List agents

Call the Setup API first and cache what it returns.

Base URLsโ€‹

Converse 2.0 is served from two hosts, and which one an operation uses is not predictable from its path. Each operation's reference page states its host.

https://api18.moobidesk.com
https://e18.moobidesk.com

Authenticationโ€‹

Every API is authenticated with an apiKey / apiSecret pair issued by 8x8. Where they go depends on the API โ€” Converse 2.0 predates 8x8's x-api-key header convention and does not use it.

APIHow credentials are sent
Conversation, Reporting, SetupapiKey and apiSecret as properties of the JSON request body
MT MessagingapiKey as a URL path segment, apiSecret in the request body
Bot ResponseA short-lived {token} in the URL. No key or secret
Notification webhooksConverse 2.0 sends credentials to you, for you to verify

๐Ÿšง

The MT Messaging API carries your apiKey in the request URL, where it can be captured by proxy and server access logs. Restrict who can read logs for systems that call it, and treat both credentials as secrets. Never log apiKey, apiSecret, botApiKey, botApiSecret, or a Bot Response callback URL.

Response envelopeโ€‹

The Conversation, Reporting and Setup APIs share one envelope:

Success
{ "status": "Ok", "message": "Success" }
Failure
{ "status": "Failed", "message": "<error_message>" }

๐Ÿšง

A rejected request is still returned with HTTP 200 and status: "Failed". Check the status property โ€” do not rely on the HTTP status code alone. The Bot Response API is the exception: it uses real HTTP status codes and a success boolean.

Conventionsโ€‹

  • All UUIDs are strings, and all timestamps are ISO 8601.
  • Numeric values are sent as strings where precision matters.
  • Reporting operations page at 100 records per page. The other APIs do not paginate.
  • Outbound APIs describe attachments with contentType and a coarse group โ€” image, video, audio or file. Inbound webhooks use a different field name and a full MIME type, so do not pass an inbound attachment object straight back to an outbound API.