evre sdk
EN

Go SDK

Stdlib HTTP client (Go 1.22+) mirroring @evre/sdk / the Python package.

go get github.com/kerimatak/yougo/packages/sdk-go@latest
# or from the monorepo
cd packages/sdk-go && go test ./...
package main

import (
  "fmt"
  "log"

  evre "github.com/kerimatak/yougo/packages/sdk-go"
)

func main() {
  client, err := evre.New(evre.Options{
    APIToken: "evre_…",
    BaseURL:  "https://api.evre.email",
  })
  if err != nil {
    log.Fatal(err)
  }

  sent, err := client.Emails.Send(evre.SendEmailInput{
    "from":    "Acme <hello@mail.example.com>",
    "to":      "user@example.com",
    "subject": "Hello",
    "html":    "<p>via Go</p>",
  }, "")
  if err != nil {
    log.Fatal(err)
  }
  fmt.Println(sent.ID)

  stats, _ := client.Analytics.Get(7)
  domains, _ := client.Domains.List()
  _, _ = stats, domains
}

Session auth

console, _ := evre.New(evre.Options{
  SessionToken: "…",
  ProjectID:    "proj_…",
})
staging, _ := console.Projects.Create("Staging")
scoped := console.WithProject(staging["id"].(string))
_, _ = scoped.Projects.Update(staging["id"].(string), map[string]any{"trackOpens": true})

Resources

ServiceMethods
EmailsSend, Batch, Get, List, Cancel, Receiving.List/Get
DomainsList, Get, Create, Verify, EnableInbound, Remove
ProjectsList, Create, Update, VerifyTrackingDomain
AnalyticsGet
RoutesList, Create, Get, Update, Remove
APIKeysList, Create, Revoke
WebhooksList, Get, Create, Attempts, Replay, Revoke
SuppressionsList, Create, Remove

Errors are *evre.APIError with Code, StatusCode, and Message.

See also TypeScript and Python.