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"
  }
}

Did this page help you?