import (
"context"
"errors"
"fmt"
mailrify "github.com/Mailrify/mailrify-go"
)
client := mailrify.New("sk_your_secret_key")
_, err := client.Contacts.Get(context.Background(), "missing-contact-id")
if err != nil {
var notFoundErr *mailrify.NotFoundError
var validationErr *mailrify.ValidationError
var authErr *mailrify.AuthenticationError
var rateLimitErr *mailrify.RateLimitError
var apiErr *mailrify.ApiError
var baseErr *mailrify.MailrifyError
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("Mailrify SDK error", baseErr.StatusCode, baseErr.Type)
default:
panic(err)
}
}