package main
import (
"context"
"fmt"
"log"
"os"
"github.com/NearIQ/neariq-go/neariq"
)
func main() {
client, err := neariq.NewClient(os.Getenv("NEARIQ_API_KEY"))
if err != nil {
log.Fatal(err)
}
ctx := context.Background()
me, err := client.Me(ctx)
if err != nil {
log.Fatal(err)
}
fmt.Println(value(me.Name), value(me.Rating))
competitors, err := client.Competitors(ctx, nil)
if err != nil {
log.Fatal(err)
}
fmt.Println(competitors)
created, err := client.CreateCompetitor(ctx, neariq.CreateCompetitorRequest{
Name: "Apex Coffee",
})
if err != nil {
log.Fatal(err)
}
fmt.Println(created)
report, err := client.Report(ctx, "report-uuid")
if err != nil {
log.Fatal(err)
}
fmt.Println(value(report.Headline))
csvText, err := client.ExportCSV(ctx, &neariq.ExportParams{
Include: []string{"competitors", "alerts"},
DateRange: "90d",
})
if err != nil {
log.Fatal(err)
}
fmt.Println(csvText)
zipBytes, err := client.ExportAll(ctx, "90d", "")
if err != nil {
log.Fatal(err)
}
fmt.Println(len(zipBytes))
embed, err := client.CreateChartEmbed(ctx, map[string]any{
"metrics": []string{"review_count"},
"range": "30d",
})
if err != nil {
log.Fatal(err)
}
fmt.Println(embed)
}
func value[T any](v *T) T {
if v == nil {
var zero T
return zero
}
return *v
}