diff --git a/handlers/meta/whataspp_test.go b/handlers/meta/whataspp_test.go index 95dac2e4e..69f67e418 100644 --- a/handlers/meta/whataspp_test.go +++ b/handlers/meta/whataspp_test.go @@ -429,6 +429,7 @@ var whatsappOutgoingTests = []OutgoingTestCase{ MsgMetadata: json.RawMessage(`{ "templating": { "template": { "name": "revive_issue", "uuid": "171f8a4d-f725-46d7-85a6-11aceff0bfe3" },"components": [ { "type": "body", + "name": "body", "params": [ { "type": "text", @@ -442,6 +443,7 @@ var whatsappOutgoingTests = []OutgoingTestCase{ }, { "type": "button/quick_reply", + "name": "button.0", "params": [ { "type": "text", @@ -451,6 +453,7 @@ var whatsappOutgoingTests = []OutgoingTestCase{ }, { "type": "button/url", + "name": "button.1", "params": [ { "type": "url", diff --git a/handlers/meta/whatsapp/templates.go b/handlers/meta/whatsapp/templates.go index ff2a763e6..241339392 100644 --- a/handlers/meta/whatsapp/templates.go +++ b/handlers/meta/whatsapp/templates.go @@ -2,7 +2,6 @@ package whatsapp import ( "encoding/json" - "fmt" "strings" "github.com/nyaruka/courier" @@ -18,6 +17,7 @@ type MsgTemplating struct { Namespace string `json:"namespace"` Components []struct { Type string `json:"type"` + Name string `json:"name"` Params []struct { Type string `json:"type"` Value string `json:"value"` @@ -56,7 +56,6 @@ func GetTemplatePayload(templating *MsgTemplating) *Template { Components: []*Component{}, } - buttonIndex := -1 for _, comp := range templating.Components { var component *Component @@ -87,9 +86,7 @@ func GetTemplatePayload(templating *MsgTemplating) *Template { component.Params = append(component.Params, &Param{Type: p.Type, Text: p.Value}) } } else if strings.HasPrefix(comp.Type, "button/") { - buttonIndex += 1 - - component = &Component{Type: "button", Index: fmt.Sprint(buttonIndex), SubType: strings.TrimPrefix(comp.Type, "button/"), Params: []*Param{}} + component = &Component{Type: "button", Index: strings.TrimPrefix(comp.Name, "button."), SubType: strings.TrimPrefix(comp.Type, "button/"), Params: []*Param{}} for _, p := range comp.Params { if comp.Type == "button/url" {