Skip to main content
The reaction.* events announce a reaction added to, or removed from, a message of one of your lines, by the contact or by you. For each of the three event types, this page says when it is sent and when it is not, lists the fields of data, and shows a full event. See Chat features for how to add and remove a reaction.

Common fields

The handle of the author has two names: from_handle on an inbound reaction, actor_handle on an outbound one. The timestamp has one name per event: added_at, received_at or removed_at. A reaction that concerns a message that iSnap has deleted sends no event. The reaction events of a trial are tied to the trial’s pool line. On a line that another account owned before you, you receive the reactions of contacts to the messages of that account: see Lines that change owner. Personal data. from_handle and actor_handle are handles: phone numbers or email addresses. Do not copy them into logs, tickets or other tools. Refer to a contact by an id of your own.

reaction.added

Sent when the line’s device confirms a reaction you added with POST /v1/messages/{id}/reactions. It is not sent when the device reports that it could not place the reaction, nor when the reaction never reaches a device. Adding a reaction of another type replaces yours: reaction.added is sent again with the same reaction_id and the new reaction_type, and no reaction.removed is sent. Keep the latest reaction_type for each reaction_id.
Personal data: actor_handle.

reaction.received

Sent when a contact adds a reaction to a message of the line.
Personal data: from_handle.

reaction.removed

Sent when a reaction is removed, in either direction. Tell the two cases apart with direction.

The contact removes a reaction

data holds the fields of reaction.received, with removed_at in place of received_at.

You remove a reaction

Sent once the line’s device confirms a removal you asked for with DELETE /v1/messages/{id}/reactions. data holds the fields of reaction.added, with removed_at in place of added_at. It is not sent when the line has no paired device, or when its device cannot remove reactions: the API call succeeds and no event follows.
Personal data: from_handle or actor_handle.