type TemplateMessageBodyAndHeaderParameter struct {
Type TemplateMessageParameterType `json:"type" validate:"required"` // e.g., "text", "currency", etc.
ParameterName *string `json:"parameter_name,omitempty"` // Optional: name of the parameter (for named parameters).
Currency *TemplateMessageParameterCurrency `json:"currency,omitempty"` // Currency details (if type is currency).
DateTime *TemplateMessageParameterDateTime `json:"date_time,omitempty"` // Date/time details (if type is date_time).
Document *TemplateMessageParameterMedia `json:"document,omitempty"` // Document details (if type is document).
Image *TemplateMessageParameterMedia `json:"image,omitempty"` // Image details (if type is image).
Text *string `json:"text,omitempty"` // Text content (if type is text).
Video *TemplateMessageParameterMedia `json:"video,omitempty"` // Video details (if type is video).
Location *TemplateMessageParameterLocation `json:"location,omitempty"` // Location details (if type is location).
Product *TemplateMessageParameterProduct `json:"product,omitempty"` // Product details (if type is product).
}