novuhq / go-novu

GO SDK for Novu - The open-source notification infrastructure for engineers. 🚀
MIT License
57 stars 45 forks source link

SubscriberApi.GetNotificationFeed: JSON unmarshal error #69

Open stonymahony opened 10 months ago

stonymahony commented 10 months ago

I get the following error when using the SubscriberApi.GetNotificationFeed API with novu cloud and this sdk@0.1.2:

unable to unmarshal response body: json: cannot unmarshal array into Go struct field .data.cta.Action.buttons of type struct { Type string "json:\"type\""; Content string "json:\"content\""; ResultContent string "json:\"resultContent\"" }

There seems to be something wrong with the types.

The model for CTA of the SDK:

type CTA struct {
    Type   string `json:"type"`
    Action struct {
        Status  string `json:"status"`
        Buttons struct {
            Type          string `json:"type"`
            Content       string `json:"content"`
            ResultContent string `json:"resultContent"`
        } `json:"buttons"`
        Result struct {
            Payload map[string]interface{} `json:"payload"`
            Type    string                 `json:"type"`
        } `json:"result"`
    }
}

Example response from the novu API which caused the error:

"cta": {
        "action": {
          "status": "pending",
          "buttons": [
            {
              "type": "primary",
              "content": "Primary",
              "_id": "6544fb84010788e821cdaeb7",
              "id": "6544fb84010788e821cdaeb7"
            }
          ]
        },
        "type": "redirect",
        "data": {
          "url": "[object Object]"
        }
      }

Is the SDK not compatible with the current novu version?