Skip to main content
Add quoted_message_id to any send and it goes out as a reply, with the original quoted above it — the same as pressing reply in WhatsApp.

The two fields

string
The message being replied to. Up to 128 characters, made up of letters, digits, _, =, +, / and -.
boolean
default:"false"
true when the quoted message is one you sent from this number. false (the default) when it is one the contact sent you.
quoted_from_me exists because the reply marker has to record who sent the quoted message, and that cannot be worked out from the id alone. It is only valid together with quoted_message_id — sending it on its own returns 400 invalid_request.

Where the id comes from

Every successful send returns one:
Store it against whatever the message was about — an order, a ticket, an invoice. Later you can quote it, or react to it.
Node.js — send, then follow up as a reply
Set quoted_from_me: true for this pattern. Quoting your own earlier send is the common case, because that is the id you actually have — you cannot see the ids of messages your customers send you.

Which types support it

Every send type except reaction, which does not need it — the message key it carries already identifies the conversation. So text, image, video, document, voice note, sticker, location, contact card, poll, list and buttons all accept quoted_message_id.

Limits

  • The quote is attached to the conversation with the to number you send in the same request. Quoting a message from a different conversation will not work.
  • There is no way to look up a message id after the fact. If you did not store the one the API returned, it is gone.
  • Old messages may not quote cleanly if they have aged out of the recipient’s chat history.