loops

package
v0.33.13 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 28, 2026 License: MIT Imports: 7 Imported by: 0

Documentation

Overview

Package loops provides a client for the Loops.so email API. See https://loops.so/docs/api-reference for full documentation.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type APIError

type APIError struct {
	StatusCode int
	Message    string
}

func (*APIError) Error

func (e *APIError) Error() string

type Client

type Client struct {
	// contains filtered or unexported fields
}

func New

func New(apiKey string) *Client

func (*Client) CreateContact

func (c *Client) CreateContact(ctx context.Context, req *ContactRequest) error

func (*Client) SendEvent

func (c *Client) SendEvent(ctx context.Context, req *EventRequest) error

func (*Client) SendTransactional

func (c *Client) SendTransactional(ctx context.Context, req *TransactionalRequest) error

func (*Client) UpdateContact

func (c *Client) UpdateContact(ctx context.Context, req *ContactRequest) error

type ContactRequest

type ContactRequest struct {
	Email      string         `json:"email"`
	UserID     string         `json:"userId,omitempty"`
	FirstName  string         `json:"firstName,omitempty"`
	LastName   string         `json:"lastName,omitempty"`
	Properties map[string]any `json:"properties,omitempty"`
}

type EventRequest

type EventRequest struct {
	Email           string         `json:"email,omitempty"`
	UserID          string         `json:"userId,omitempty"`
	EventName       string         `json:"eventName"`
	EventProperties map[string]any `json:"eventProperties,omitempty"`
}

One of Email or UserID is required.

type TransactionalRequest

type TransactionalRequest struct {
	Email           string         `json:"email"`
	TransactionalID string         `json:"transactionalId"`
	DataVariables   map[string]any `json:"dataVariables,omitempty"`
	AddToAudience   bool           `json:"addToAudience,omitempty"`
	IdempotencyKey  string         `json:"-"` // dedupes within 24h on the Loops side
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL