Text & Media Messages
1. Text
Sends a plain text message. No unread-window restrictions beyond standard WhatsApp session rules.
Method: POST
Endpoint: https://apis.rmlconnect.net/wba/v1/tsp/messages
Sample request body:
{
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "{{phone_no}}",
"type": "text",
"text": {
"body": "hello from avinash"
}
}2. Text with preview_url
Text message with an embedded link; setting preview_url renders a link preview card in WhatsApp.
Method: POST
Endpoint: https://apis.rmlconnect.net/wba/v1/tsp/messages
Sample request body:
{
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "{{phone_no}}",
"type": "text",
"text": {
"body": "30 minutes! Yes, that's right, just keep a few documents handy.\n\n1. Pan card.\n\n2. Address proof.\n\n3. Bank statement.\n\n4. Aadhar number\n\nOpen an account in 30 minutes by clicking here https://kwik.kotaksecurities.com/kwik/Account/Register?ReturnUrl=%2Fkwik%2F\n and start trading today.",
"preview_url": true
}
}Notes:
preview_url must be true and the body must contain a valid http(s) URL for the preview to render.
3. Reaction message
Sends an emoji reaction against a previously delivered message.
Method: POST
Endpoint: https://apis.rmlconnect.net/wba/v1/tsp/messages
Sample request body:
{
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "{{phone_no}}",
"type": "reaction",
"reaction": {
"message_id": "wamid.HBgMOTE5OTMwMTQ0NzYzFQIAERgSRjQyNjExODYyRTI2Rjg0OUNEAA==",
"emoji": "😀"
}
}Notes:
- message_id must be a valid wamid of a prior inbound or outbound message.
- To remove a reaction, send an empty string as emoji (not demonstrated in source collection — verify with team).
4. Image
Sends an image by link (hosted URL). caption is optional.
Method: POST
Endpoint: https://apis.rmlconnect.net/wba/v1/tsp/messages
Sample request body:
{
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "{{phone_no}}",
"type": "image",
"image": {
"link": "https://www.gstatic.com/webp/gallery/1.jpg",
"caption": "This is a test Image https://upload.wikimedia.org/wikipedia/commons/3/3f/JPEG_example_flower.jpg"
}
}Notes:
Use media id instead of link where the asset is uploaded via the Media API (not shown in this collection).
5. Video
Sends a video by link. caption is optional.
Method: POST
Endpoint: https://apis.rmlconnect.net/wba/v1/tsp/messages
Sample request body:
{
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "{{phone_no}}",
"type": "video",
"video": {
"link": "http://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerEscapes.mp4",
"caption": "This is a test video"
}
}6. Audio
Sends an audio clip by link. No caption field supported for audio.
Method: POST
Endpoint: https://apis.rmlconnect.net/wba/v1/tsp/messages
Sample request body:
{
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "{{phone_no}}",
"type": "audio",
"audio": {
"link": "https://www.soundhelix.com/examples/mp3/SoundHelix-Song-1.mp3"
}
}7. Document
Sends a document/file by link, with optional caption and filename.
Method: POST
Endpoint: https://apis.rmlconnect.net/wba/v1/tsp/messages
Sample request body:
{
"messaging_product": "whatsapp",
"recipient_type": "individual",
"to": "{{phone_no}}",
"type": "document",
"document": {
"link": "https://www.antennahouse.com/hubfs/xsl-fo-sample/pdf/basic-link-1.pdf",
"caption": "This is document",
"filename": "demo descriptions"
}
}8. Contact message
Sends one or more vCard-style contact cards (name, org, phones, emails, addresses, urls, birthday).
Method: POST
Endpoint: https://apis.rmlconnect.net/wba/v1/tsp/messages
Sample request body:
{
"messaging_product": "whatsapp",
"to": "{{phone_no}}",
"type": "contacts",
"contacts": [
{
"addresses": [
{
"street": "1 Lucky Shrub Way",
"city": "Menlo Park",
"state": "CA",
"zip": "94025",
"country": "United States",
"country_code": "US",
"type": "Office"
},
{
"street": "1 Hacker Way",
"city": "Menlo Park",
"state": "CA",
"zip": "94025",
"country": "United States",
"country_code": "US",
"type": "Pop-Up"
}
],
"birthday": "1999-01-23",
"emails": [
{
"email": "[email protected]",
"type": "Work"
},
{
"email": "[email protected]",
"type": "Work (old)"
}
],
"name": {
"formatted_name": "Barbara J. Johnson",
"first_name": "Barbara",
"last_name": "Johnson",
"middle_name": "Joana",
"suffix": "Esq.",
"prefix": "Dr."
},
"org": {
"company": "Lucky Shrub",
"department": "Legal",
"title": "Lead Counsel"
},
"phones": [
{
"phone": "+16505559999",
"type": "Landline"
},
{
"phone": "+19175559999",
"type": "Mobile",
"wa_id": "19175559999"
}
],
"urls": [
{
"url": "https://www.luckyshrub.com",
"type": "Company"
},
{
"url": "https://www.facebook.com/luckyshrubplants",
"type": "Company (FB)"
}
]
}
]
}Notes:
contacts is an array — multiple contact cards can be sent in one call.
9. Location message
Sends a pinned location (lat/long) with optional name and address labels.
Method: POST
Endpoint: https://apis.rmlconnect.net/wba/v1/tsp/messages
Sample request body:
{
"messaging_product": "whatsapp",
"to": "{{phone_no}}",
"type": "location",
"location": {
"longitude": "13.34",
"latitude": "13.4",
"name": "Dy patil",
"address": "Nerul"
}
}Updated 10 days ago