late 0.0.1055

API reference for Zernio. Authenticate with a Bearer API key. Base URL: https://zernio.com/api Versioning and deprecation: all endpoints are versioned in the URL path (current version: /v1). Breaking changes only ship in a new path version; existing versions keep working. Deprecated operations are marked 'deprecated: true' in this spec and announced in the changelog (https://zernio.com/changelog) before removal. Errors: every 4xx/5xx response is application/json with a machine-readable 'code' and a human-readable 'error' message (see the ErrorResponse schema). Request ids: responses carry an X-Request-Id header with the id we log the request under. Quote it when reporting a problem. A valid x-request-id you send is reused as that id.
Documentation
# WebhookPayloadMessageMetadata

## Properties

Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**standby** | Option<**bool**> | WhatsApp only. true when this inbound arrived while Meta Business Agent held the conversation: the agent answers it, and Zernio only observes. Sending a reply takes control back. See conversation.control_changed. | [optional]
**quoted_message_id** | Option<**String**> | Raw platform envelope id (WhatsApp `context.id`; Instagram and Facebook Messenger `reply_to.mid`) of the message this one is a quote-reply to, forwarded verbatim. It may not equal the stored id of that message (see `quotedMessage.platformMessageId`). On outgoing messages the same field appears on `message.sent`, but only on some surfaces: see WebhookPayloadMessageSent.metadata.quotedMessageId.  | [optional]
**quoted_message** | Option<[**models::WebhookPayloadMessageMetadataQuotedMessage**]WebhookPayloadMessageMetadataQuotedMessage.md> |  | [optional]
**quick_reply_payload** | Option<**String**> | Payload from a quick reply tap (Facebook/Instagram Messenger). | [optional]
**postback_payload** | Option<**String**> | Payload from a postback button tap (Facebook/Instagram Messenger). | [optional]
**postback_title** | Option<**String**> | Title of the tapped postback button (Facebook/Instagram Messenger). | [optional]
**callback_data** | Option<**String**> | Callback data from an inline keyboard button tap (Telegram). | [optional]
**interactive_type** | Option<**InteractiveType**> | WhatsApp only. Which kind of interactive reply the user sent: `button_reply` (tap on an interactive button), `list_reply` (tap on a list row), or `nfm_reply` (a WhatsApp Flow submission or an `address_message` submission, see `nfmReplyName`).  (enum: button_reply, list_reply, nfm_reply) | [optional]
**interactive_id** | Option<**String**> | WhatsApp only. The `id` of the tapped button or list row, matching the `id` you supplied when the message was sent. Not set for Flow responses.  | [optional]
**button_payload** | Option<**String**> | WhatsApp only. Payload attached to a tapped template button. Template buttons emit a plain `button` webhook (not an interactive reply), so `interactiveType` is empty while this field is populated.  | [optional]
**flow_response_json** | Option<**String**> | WhatsApp only. Raw `nfm_reply.response_json` string returned by a Flow submission. Useful if you need the exact wire payload; for typed access use `flowResponseData` instead.  | [optional]
**flow_response_data** | Option<**std::collections::HashMap<String, serde_json::Value>**> | WhatsApp only. Parsed Flow response JSON. Populated when `flowResponseJson` is valid JSON; otherwise omitted. Keys and value types depend on the specific Flow that was submitted. An `address_message` submission (`nfmReplyName: address_message`) carries the address fields (`name`, `address`, `city`, `state`, `in_pin_code`, ...), either at the top level or nested under `values`; read both.  | [optional]
**nfm_reply_name** | Option<**String**> | WhatsApp only. `nfm_reply.name` as Meta sent it, e.g. `flow` or `address_message`. Address submissions share the `nfm_reply` envelope with Flow submissions and are otherwise indistinguishable in `flowResponseData`; use this field to tell them apart.  | [optional]
**order** | Option<[**models::WebhookPayloadMessageMetadataOrder**]WebhookPayloadMessageMetadataOrder.md> |  | [optional]
**referred_product** | Option<[**models::WebhookPayloadMessageMetadataReferredProduct**]WebhookPayloadMessageMetadataReferredProduct.md> |  | [optional]
**location** | Option<[**models::WebhookPayloadMessageMetadataLocation**]WebhookPayloadMessageMetadataLocation.md> |  | [optional]
**contacts** | Option<**Vec<std::collections::HashMap<String, serde_json::Value>>**> | WhatsApp only. Contact cards the user shared, forwarded verbatim from Meta. Read `contactsOrigin` before treating any number here as the sender's own.  | [optional]
**contacts_origin** | Option<**ContactsOrigin**> | WhatsApp only. How the contact card was shared. `contact_request` means the user tapped a `request_contact_info` button, so the number is their own and consented. `other` means they picked a card from their address book: it may be anyone's, and must NOT be stored as the sender's identity. Omitted when Meta sends no origin.  (enum: contact_request, other) | [optional]
**story_reply** | Option<[**models::WebhookPayloadMessageMetadataStoryReply**]WebhookPayloadMessageMetadataStoryReply.md> |  | [optional]
**is_story_mention** | Option<**bool**> | Instagram only. True when the message was generated by an IG user mentioning the account in their own story (`story_mention` attachment type). Mutually exclusive in practice with `storyReply`.  | [optional]
**referral** | Option<[**models::WebhookPayloadMessageMetadataReferral**]WebhookPayloadMessageMetadataReferral.md> |  | [optional]
**unsupported** | Option<[**models::WebhookPayloadMessageMetadataUnsupported**]WebhookPayloadMessageMetadataUnsupported.md> |  | [optional]
**no_renderable_content** | Option<**bool**> | Instagram / Facebook Messenger only. Set when the message carries nothing an integrator can render (a `template` attachment with no text and no parseable content, or Meta's own `is_unsupported` flag). Sibling of `unsupported` above (WhatsApp only, carries Meta's error code/title/details): this field has no error envelope, only the boolean. Absence means \"not flagged\", never \"checked and renderable\".  | [optional]
**tiktok_message_type** | Option<**String**> | TikTok only. The message type as TikTok reports it, forwarded verbatim (for example image, video, sticker, share_post, emoji, reaction, template). Present on every TikTok DM that is not plain text; those arrive with text empty and, for image, video, share_post, sticker and emoji, an attachment (share_post as type share with the embed url and payload.videoId; sticker/emoji as type sticker, url signed and expiring). | [optional]

[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)