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 applies to Meta channels, not the web widget.³ 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 (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
- 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