Meta Tech Provider

Message reactions: sending and receiving emoji

A reaction attaches a single emoji to an existing message. Sending one means referencing the message id and the emoji, and removing one means sending the same reaction with an empty emoji string rather than calling a delete.

1

Reactions one sender can have on one message at a time.

0

Cost of a reaction. It does not open a billable conversation.

131047

The error returned if you react outside the service window.

Sending a reaction

A message of type reaction, carrying the id of the message being reacted to and a single emoji. Sending a second reaction to the same message replaces the first rather than adding to it, because a sender can hold only one reaction per message.

The message id must be one your number can see: an inbound message from that customer, or one you sent them.

Removing a reaction

The part that surprises people. There is no delete call. You send the same reaction message with the emoji field set to an empty string, and that clears it.

A handler written to expect a removal event will wait forever. What arrives is a reaction with an empty emoji, which is the same shape as a new one and has to be read as a removal by checking the field.

Receiving reactions

Inbound reactions arrive on the messages webhook as a message of type reaction, naming the message id they attach to and the emoji.

  • Subscribe to the messages field; there is no separate reactions field.
  • An empty emoji means the customer removed their reaction.
  • The referenced message id is one you sent or received earlier.
  • Reactions do not reopen the 24 hour service window.

The window still applies

A reaction is a message, so sending one requires the 24 hour customer service window to be open. Reacting to a customer's message from three days ago returns error 131047 exactly as a text message would.

Receiving a reaction from a customer does reopen the window, because any inbound message does. That is worth knowing for automations: a thumbs up on your last message is a valid signal that you may now reply freely.

Common mistakes

  • Looking for a delete endpoint. Removal is the same call with an empty emoji.
  • Treating an empty emoji as malformed. It is how a removal is expressed.
  • Sending a reaction outside the service window. It fails like any other message.
Doing this with EasyCoexistence

EasyCoexistence delivers reaction events to your endpoint on the same webhook as every other message, so a removed reaction reaches your system with the empty emoji intact.

Frequently asked questions

How do I remove a reaction?

Send the same reaction message with an empty emoji string. There is no delete call.

Do reactions cost anything?

No. They do not open a billable conversation.

Can I react to any message?

Only to messages your number sent or received, and only inside the 24 hour service window.

Does a customer's reaction reopen the window?

Yes. Any inbound message from them does, including a reaction.

Keep reading

Ready to get started?

Set up WhatsApp Coexistence in minutes, not months. The app keeps working on the phone.

Start Free Trial

Verified on

WhatsApp Message Reactions