button component. index is the button’s zero-based position on the template, and sub_type is its type.
index counts every button on the template, including the ones you don’t send a component for. On a template with a static URL button at position 0 and a quick reply at position 1, the quick reply component uses "index": "1".Dynamic URL button
Send only the variable part. If the template URL ishttps://example.com/track/{{1}}, sending abc123 opens https://example.com/track/abc123.
Quick reply buttons
Quick reply labels are fixed on the template. At send time you can attach apayload to each button. It comes back in the webhook when the customer taps the button, so you know which message and which option triggered the reply.
type: "button":
Template quick replies arrive as
type: "button". Quick replies from an interactive button message arrive as type: "interactive" with button_reply. Handle both if you use both.Copy code button
The coupon code is set per message, so each customer can get a different code. Maximum 15 characters.Combining buttons
Send one component per button that needs a value, each with its ownindex. Order the components however you like — index decides which button each value belongs to.