Content Types
This page details all supported message types and which channels each one is available on.
Availability by channel
| Type | Messenger | Telegram | SMS | Web 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
contentshape as the examples on this page (WhatsApp-style payloads from Hub). Send withPOST /v1/communication/web-chatt2me/messageandfrom/toas in Web Chatt; this operation is not included in the bundled OpenAPI reference here. The response issentwhen the visitor has an active widget session, orerrorwitherrorCodesession_not_foundotherwise. WhatsApp-only types (template, payment request, order status) are not used; mark-as-seen is supported on WhatsApp, Instagram, Messenger, and Web Chatt.³ For WhatsApp, Instagram, Messenger, Telegram, and SMS,
frommay be the application channel UUID or the channel-specific alternate — see Sending messages overview. Web Chatt accepts only the UUID forfrom.
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"
}
}
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
textfield 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"
}
}
| Field | Required | Description |
|---|---|---|
documentUrl | ✅ | Public URL of the file |
filename | ✅ | Name displayed to the recipient |
mimeType | ❌ | MIME 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"
}
}
}
| Field | Required | Description |
|---|---|---|
latitude | ✅ | Between -90 and 90 |
longitude | ✅ | Between -180 and 180 |
name | ❌ | Location name (WhatsApp) |
address | ❌ | Text 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 (WhatsApp, Instagram, Messenger, and Web Chatt)
{
"content": {
"markSeen": true
}
}
Use this to signal to the user that you have read their message, activating the "seen" indicator (blue ticks on WhatsApp) in the conversation. On WhatsApp, this marks the conversation as read — no need to specify a particular message.
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
- Interactive Messages — buttons, lists, and CTA URL
- WhatsApp Templates — sending outside the 24h window
- Reactions and Reply — react to and reply to messages
- Payment Request & Order Status — payments and order updates