Skip to main content
Version: Latest

Content Types

This page details all supported message types and which channels each one is available on.

Availability by channel

TypeWhatsAppInstagramMessengerTelegramSMSWeb Chatt
Text
Image
Video
Audio
Document
Sticker
Location
Contact(s)
Interactive
Template
Reaction
Reply
Mark as seen
Payment Request
Order Status

¹ SMS with image is sent as MMS — sent via Twilio as an MMS message; additional carrier costs may apply

² Web Chatt uses the same content shape as the examples on this page (WhatsApp-style payloads from Hub). Send with POST /v1/communication/web-chatt2me/message and from / to as in Web Chatt; this operation is not included in the bundled OpenAPI reference here. The response is sent when the visitor has an active widget session, or error with errorCode session_not_found otherwise. WhatsApp-only types (template, payment request, order status) are not used; mark-as-seen applies to Meta channels, not the web widget.

³ For WhatsApp, Instagram, Messenger, Telegram, and SMS, from may be the application channel UUID or the channel-specific alternate — see Sending messages overview. Web Chatt accepts only the UUID for from.


Text

The simplest type. Available on all channels.

{
"from": "channel-uuid",
"to": "5511993986082",
"content": {
"text": "Hello! How can I help you?"
}
}

Image

Send an image via public URL. The caption (text) is optional.

{
"content": {
"imageUrl": "https://example.com/image.jpg",
"text": "Optional caption"
}
}
tip

The URL must be publicly accessible and return the correct content-type (image/jpeg, image/png, etc.).


Video

{
"content": {
"videoUrl": "https://example.com/video.mp4",
"text": "Optional video description"
}
}

Audio

{
"content": {
"audioUrl": "https://example.com/audio.mp3"
}
}

For WhatsApp only, set voice to true to send a voice note (PTT). Omit or set false for a normal audio file. Voice notes should use Ogg with Opus encoding per Meta.

{
"content": {
"audioUrl": "https://example.com/voice.ogg",
"voice": true
}
}

On Telegram, the text field can be used as audio caption.


Document (WhatsApp and Telegram)

Send files such as PDFs, spreadsheets, presentations, etc.

{
"content": {
"documentUrl": "https://example.com/file.pdf",
"filename": "Commercial Proposal.pdf",
"mimeType": "application/pdf"
}
}
FieldRequiredDescription
documentUrlPublic URL of the file
filenameName displayed to the recipient
mimeTypeMIME type of the file (e.g. application/pdf)

Sticker

WhatsApp

{
"content": {
"stickerUrl": "https://example.com/sticker.webp"
}
}

Instagram

Use the platform sticker identifier:

{
"content": {
"stickerUrl": "like_heart"
}
}

Telegram

{
"content": {
"stickerUrl": "https://example.com/sticker.webp"
}
}

Location (WhatsApp and Telegram)

{
"content": {
"location": {
"latitude": -23.5505,
"longitude": -46.6333,
"name": "Chatt2.me HQ",
"address": "Av. Paulista, 1000, São Paulo, SP"
}
}
}
FieldRequiredDescription
latitudeBetween -90 and 90
longitudeBetween -180 and 180
nameLocation name (WhatsApp)
addressText address (WhatsApp)

Contact(s) (WhatsApp and Telegram)

Single contact

{
"content": {
"contact": {
"name": {
"formatted_name": "John Smith",
"first_name": "John",
"last_name": "Smith"
},
"phones": [
{ "phone": "5511999999999", "type": "CELL" }
]
}
}
}

Multiple contacts

{
"content": {
"contacts": [
{
"name": { "formatted_name": "John Smith", "first_name": "John" },
"phones": [{ "phone": "5511999999999", "type": "CELL" }]
},
{
"name": { "formatted_name": "Jane Smith", "first_name": "Jane" },
"phones": [{ "phone": "5511988888888", "type": "CELL" }]
}
]
}
}

Mark as seen (Instagram and Messenger)

{
"content": {
"markSeen": true
}
}

Use this to signal to the user that you have read their message, activating the "seen" indicator in the conversation.


Reply

Replying to a specific message creates a visual thread — the recipient sees the original message quoted above your reply. Available on WhatsApp and Telegram.

See Reactions and Reply for the context.messageId field reference and examples.


Next steps