import (
"context"
"errors"
"fmt"
mailglyph "github.com/MailGlyph/mailglyph-go"
)
client := mailglyph.New("sk_your_secret_key")
_, err := client.Contacts.Get(context.Background(), "missing-contact-id")
if err != nil {
var notFoundErr *mailglyph.NotFoundError
var validationErr *mailglyph.ValidationError
var authErr *mailglyph.AuthenticationError
var rateLimitErr *mailglyph.RateLimitError
var apiErr *mailglyph.ApiError
var baseErr *mailglyph.MailGlyphError
switch {
case errors.As(err, ¬FoundErr):
fmt.Println("Contact not found")
case errors.As(err, &validationErr):
fmt.Println("Validation failed", validationErr.Message)
case errors.As(err, &authErr):
fmt.Println("Check API key type or value")
case errors.As(err, &rateLimitErr):
fmt.Println("Rate limited, retry after seconds:", rateLimitErr.RetryAfterSeconds)
case errors.As(err, &apiErr):
fmt.Println("Server/API error", apiErr.StatusCode, apiErr.Message)
case errors.As(err, &baseErr):
fmt.Println("MailGlyph SDK error", baseErr.StatusCode, baseErr.Type)
default:
panic(err)
}
}