status: open or done. read: true marks every message read.
Requires the write scope.
bearerAuthorizationBearer <token>An API key (tb_live_...) from the dashboard, or an OAuth access token.
id*stringuuidmulaichat-workspace?stringLimits an owner key to one profile (id or external_id). Unknown: 404 profile_not_found.
application/json- body
status?string"open""done"read?booleanThe conversation.
application/json- response
id*stringuuidprofile_id*stringuuidaccount*contact*status*string"open""done"unread_count*integerlast_message_at*stringdate-timelast_message_preview*string|nulllast_message_unsent*booleanThe newest message was unsent (preview is null).
last_message_direction*|nullwindow_expires_at*|Until when a normal reply is allowed: 24 hours after the customer's last message.
human_agent_expires_at*|Reserved for a feature not available yet.
held_by_other_app*booleanAnother app holds the conversation (conversation routing): replies are refused until it lets go.
curl -X PATCH 'https://api.mulaichat.com/v1/inbox/conversations/497f6eca-6276-4993-bfeb-53cbbbba6f08' \ -H 'Content-Type: application/json' \ -d '{}'{ "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "profile_id": "bfcb6779-b1f9-41fc-92d7-88f8bc1d12e8", "account": { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "platform": "threads", "username": "string", "display_name": "string" }, "contact": { "platform_id": "string", "username": "string", "name": "string", "avatar_url": "string", "follower_count": 0, "follows_you": true, "verified": true }, "status": "open", "unread_count": 0, "last_message_at": "2019-08-24T14:15:22Z", "last_message_preview": "string", "last_message_unsent": true, "last_message_direction": "in", "window_expires_at": "2019-08-24T14:15:22Z", "human_agent_expires_at": "2019-08-24T14:15:22Z", "held_by_other_app": true}Send a DM POST
Queued and sent by Mulaichat within seconds; the messages come back pending, and GET …/messages shows them sent, failed or unknown. Instagram allows replies only within 24 hours of the customer's last message (422 messaging_window_closed). text: up to 1,000 bytes. media_ids from the media library: JPG/PNG up to 8 MB (up to 10 go as one message), MP4/MOV up to 25 MB (one message each); they go before the text (422 attachment_unsupported, attachment_too_large). buttons (1-3, text up to 640 characters; Instagram's button template) or quick_replies (1-13, shown on phones only), not both, and only with text. A tap on a postback button or a quick reply comes back as a message of kind postback or quick_reply with postback { title, payload }, and in the message.received webhook. cards (1-10, Instagram's generic template; one card alone, 2-10 as a carousel scrolled sideways): each a title (up to 80 characters) and at least one of subtitle (80), media_id (JPG/PNG from the media library) or image_url (public https), default_action { url } and 1-3 buttons. Sent after the media and the text as a message of kind cards; not with buttons or quick_replies. Shown in the Instagram phone app only. An image Instagram cannot fetch gives no error: the card goes out without it (400 invalid_image_url for a private or non-https address). Also 422 messaging_permission_missing. At most 60 a minute per user. Requires the write scope.
Change a saved reply PUT
Requires the write scope.