Ana içeriğe geç

Withdraw a message we sent from the customer's device

POST 

/api/conversations/:conversationId/messages/:messageId/retract

Take back one of OUR messages — Telegram only, and only inside the 48 hours its deleteMessage allows. Read Conversation.capabilities.unsend before drawing the affordance: outbound says the channel can do it at all, window_hours says for how long, and both must be applied per message against its created_at.

The row is KEPT, with its body blanked and meta.retracted: true — the identical shape a customer's own withdrawal produces, so the thread renders one thing rather than two. meta.retracted_by (agent here, contact for theirs) and meta.retracted_by_user_id record who did it.

NOT a delete of our copy — that is DELETE /api/conversations/\{conversationId\}/messages/\{messageId\}, which does the opposite: removes our record and leaves the customer's.

Our speech only. Telegram would also let a bot erase the customer's own message from a private chat, silently and with no Update to say it happened; this product does not, and asking for it here returns reason: not_ours.

Idempotent: retracting an already-retracted message returns it unchanged. Authorized through the conversation reply ability.

Request​

Responses​

Withdrawn. The message, with an empty body and meta.retracted.