Skip to main content
Use a public key for tracking events, and a secret key for listing event names.

Track an event (Events.Track)

import (
  "context"

  mailrify "github.com/Mailrify/mailrify-go"
)

ctx := context.Background()
tracker := mailrify.New("pk_your_public_key")
subscribed := true

result, err := tracker.Events.Track(ctx, &mailrify.TrackEventParams{
  Email: "[email protected]",
  Event: "purchase",
  Subscribed: &subscribed,
  Data: map[string]interface{}{
    "product": "premium",
    "amount": 99,
  },
})
if err != nil {
  panic(err)
}

println(result.Success, result.Data.Event, result.Data.Timestamp)

List event names (Events.GetNames)

client := mailrify.New("sk_your_secret_key")

names, err := client.Events.GetNames(ctx)
if err != nil {
  panic(err)
}

println(len(names.EventNames))

List event names with alias (Events.ListNames)

ListNames() is an alias for GetNames():
names, err := client.Events.ListNames(ctx)
if err != nil {
  panic(err)
}

println(len(names.EventNames))
See endpoint details in the Track event API reference and List event names API reference.