Omnichannel chat

Send messages to conversation channels (Zalo OA, …).

1 endpoints · base /api/v1/comm

POST/api/v1/comm/conversations/{id}/messagesTry it ▶

Send a message into an existing conversation. Not allowed when the conversation is Resolved or handled by a bot.

MCP tool: send_zalo_messageScope: comm.conversations.handleAPI key / app

Parameter

ParameterTypeInRequiredDescription
Idempotency-Key NewstringheadernoA value you generate for EACH write (e.g. a UUID), up to 200 characters. Resending the same value within 24 hours returns the original result instead of creating a second record. Same value with a different body ⇒ 422.
idGUIDpathyesConversation id
typestringbodyyesText, Image, File, Audio, Video, Sticker, Location, Product or Contact
contentstringbodynoContent (when type = Text)
clientIdstringbodynoDeduplication key (idempotency)

Example

curl -X POST https://api.nextx.vn/api/v1/comm/conversations/<id>/messages \
  -H "Authorization: Bearer <ACCESS_TOKEN>" \
  -H "Idempotency-Key: 7f3c2a90-…" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "...",
    "content": "...",
    "clientId": "..."
  }'

Sample response

{
  "id": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
  "direction": "string",
  "senderType": "string",
  "senderName": "string",
  "messageType": "string",
  "content": "string",
  "status": "string",
  "attachments": [
    {
      "id": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
      "fileName": "string",
      "fileSizeBytes": 0,
      "mimeType": "string",
      "storageKey": "string",
      "downloadUrl": "string"
    }
  ],
  "sentAt": "2026-10-27T09:00:00+07:00",
  "failureReason": "string",
  "isInternal": false,
  "productSnapshot": "string",
  "reactions": [
    {
      "emoji": "string",
      "actorType": "string",
      "actorId": "string",
      "createdAt": "2026-10-27T09:00:00+07:00"
    }
  ],
  "visibility": "string",
  "facebookCommentId": "string",
  "facebookParentCommentId": "string",
  "buttons": [
    {
      "title": "string",
      "url": "string"
    }
  ],
  "replyToMessageId": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
  "replyToSnippet": "string",
  "replyToSenderName": "string",
  "senderAvatarUrl": "string",
  "mentions": [
    {
      "uid": "string",
      "offset": 0,
      "length": 0,
      "name": "string"
    }
  ],
  "metadata": "string",
  "isRecalled": false,
  "recalledAt": "2026-10-27T09:00:00+07:00",
  "commentClusterId": "0199a1b2-c3d4-7e5f-8a9b-0c1d2e3f4a5b",
  "senderExternalId": "string",
  "senderHandle": "string"
}