Status feature provides APIs for posting text, image, and video status updates, reacting to statuses (e.g. the “like” heart), and revoking previously sent statuses.
Access
Access status operations through the client:Methods
send_text
Send a text status update with background color and font style.text- Status text contentbackground_argb- Background color as ARGB (e.g.,0xFF1E6E4F)font- Font style index (0-4)recipients- Slice of recipient JIDsoptions- Privacy and delivery options
SendResultcontaining themessage_idandtoJID. Useresult.message_key()to get awa::MessageKeyfor revocation or other follow-up operations.
send_image
Send an image status update.upload- Upload response fromclient.upload()(takes ownership)thumbnail- JPEG thumbnail bytescaption- Optional caption textrecipients- Slice of recipient JIDsoptions- Privacy options
send_video
Send a video status update.upload- Upload response fromclient.upload()(takes ownership)thumbnail- JPEG thumbnail bytesduration_seconds- Video durationcaption- Optional caption textrecipients- Slice of recipient JIDsoptions- Privacy options
send_raw
Send a custom message type as a status update.revoke
Delete a previously sent status update.message_id- ID of the status to revokerecipients- Same recipients the status was sent tooptions- Privacy options
send_reaction
React to someone’s status update (e.g. the “like” heart on WhatsApp). Pass an empty string to remove a previous reaction.status_owner- JID of the person whose status you are reacting toserver_id- Server-assigned ID of the status messagereaction- Emoji to send (e.g."💚"). Pass""to remove the reaction
The
server_id is the server-assigned numeric ID of the status message, not the client-generated message ID. You can obtain it from the status message event payload.Types
StatusPrivacySetting
Privacy setting for status delivery.StatusPrivacySetting is #[non_exhaustive], so match statements should include a wildcard arm to handle future variants.
StatusSendOptions
Options for sending status updates.Font styles
WhatsApp Web supports 5 font styles (0-4):Background colors
Background colors use ARGB format (0xAARRGGBB):
Recipient management
Recipients should be JIDs of users who can see the status. You can pass any&[Jid] — an array literal, a slice of a Vec, or a fixed-size array:
The
recipients list should match your privacy settings. When revoking a status, use the same recipients list that was used when posting.Phash validation
After sending a status update, the library validates the participant hash (phash) from the server’s acknowledgment against the locally computed value. On mismatch, the sender key device cache is invalidated so the next status send re-fetches current device lists. This runs in the background and does not affect the send result. See Signal Protocol — Phash validation for details.