Documentation
¶
Index ¶
- Constants
- func Paginate[T any](fetch func(cursor string) ([]T, *Pagination, error)) ([]T, error)
- type APIError
- type APIKeyResponse
- type Attachment
- type Campaign
- type CampaignCreateResponse
- type CampaignListItem
- type Client
- func (c *Client) CheckContactSuppression(email, userID string) (*ContactSuppression, error)
- func (c *Client) CreateCampaign(req CreateCampaignRequest) (*CampaignCreateResponse, error)
- func (c *Client) CreateContact(req CreateContactRequest) (string, error)
- func (c *Client) CreateContactProperty(name, propType string) error
- func (c *Client) DeleteContact(email, userID string) error
- func (c *Client) FindContacts(params FindContactParams) ([]Contact, error)
- func (c *Client) GetAPIKey() (*APIKeyResponse, error)
- func (c *Client) GetCampaign(id string) (*Campaign, error)
- func (c *Client) GetComponent(id string) (*Component, error)
- func (c *Client) GetEmailMessage(id string) (*EmailMessage, error)
- func (c *Client) GetTheme(id string) (*Theme, error)
- func (c *Client) ListCampaigns(params PaginationParams) ([]CampaignListItem, *Pagination, error)
- func (c *Client) ListComponents(params PaginationParams) ([]Component, *Pagination, error)
- func (c *Client) ListContactProperties(customOnly bool) ([]ContactProperty, error)
- func (c *Client) ListMailingLists() ([]MailingList, error)
- func (c *Client) ListThemes(params PaginationParams) ([]Theme, *Pagination, error)
- func (c *Client) ListTransactional(params PaginationParams) ([]TransactionalEmail, *Pagination, error)
- func (c *Client) RemoveContactSuppression(email, userID string) (*ContactSuppressionRemoval, error)
- func (c *Client) SendEvent(req SendEventRequest) error
- func (c *Client) SendTransactional(req SendTransactionalRequest) error
- func (c *Client) UpdateCampaign(id string, req UpdateCampaignRequest) (*Campaign, error)
- func (c *Client) UpdateContact(req UpdateContactRequest) error
- func (c *Client) UpdateEmailMessage(id string, req UpdateEmailMessageRequest) (*EmailMessage, error)
- type Component
- type Contact
- type ContactProperty
- type ContactSuppression
- type ContactSuppressionRemoval
- type CreateCampaignRequest
- type CreateContactRequest
- type EmailMessage
- type EmailMessageFields
- type FindContactParams
- type LmxWarning
- type MailingList
- type Option
- type Pagination
- type PaginationParams
- type SendEventRequest
- type SendTransactionalRequest
- type Theme
- type ThemeStyles
- type TransactionalEmail
- type UpdateCampaignRequest
- type UpdateContactRequest
- type UpdateEmailMessageRequest
Constants ¶
View Source
const (
DefaultBaseURL = "https://app.loops.so/api/v1"
)
View Source
const Version string = "0.1.0"
Variables ¶
This section is empty.
Functions ¶
Types ¶
type APIKeyResponse ¶
type APIKeyResponse struct {
TeamName string `json:"teamName"`
}
type Attachment ¶
type CampaignCreateResponse ¶
type CampaignListItem ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func (*Client) CheckContactSuppression ¶
func (c *Client) CheckContactSuppression(email, userID string) (*ContactSuppression, error)
func (*Client) CreateCampaign ¶
func (c *Client) CreateCampaign(req CreateCampaignRequest) (*CampaignCreateResponse, error)
func (*Client) CreateContact ¶
func (c *Client) CreateContact(req CreateContactRequest) (string, error)
func (*Client) CreateContactProperty ¶
func (*Client) DeleteContact ¶
func (*Client) FindContacts ¶
func (c *Client) FindContacts(params FindContactParams) ([]Contact, error)
func (*Client) GetAPIKey ¶
func (c *Client) GetAPIKey() (*APIKeyResponse, error)
func (*Client) GetComponent ¶ added in v0.1.2
func (*Client) GetEmailMessage ¶
func (c *Client) GetEmailMessage(id string) (*EmailMessage, error)
func (*Client) ListCampaigns ¶
func (c *Client) ListCampaigns(params PaginationParams) ([]CampaignListItem, *Pagination, error)
func (*Client) ListComponents ¶ added in v0.1.2
func (c *Client) ListComponents(params PaginationParams) ([]Component, *Pagination, error)
func (*Client) ListContactProperties ¶
func (c *Client) ListContactProperties(customOnly bool) ([]ContactProperty, error)
func (*Client) ListMailingLists ¶
func (c *Client) ListMailingLists() ([]MailingList, error)
func (*Client) ListThemes ¶ added in v0.1.3
func (c *Client) ListThemes(params PaginationParams) ([]Theme, *Pagination, error)
func (*Client) ListTransactional ¶
func (c *Client) ListTransactional(params PaginationParams) ([]TransactionalEmail, *Pagination, error)
func (*Client) RemoveContactSuppression ¶
func (c *Client) RemoveContactSuppression(email, userID string) (*ContactSuppressionRemoval, error)
func (*Client) SendEvent ¶
func (c *Client) SendEvent(req SendEventRequest) error
func (*Client) SendTransactional ¶
func (c *Client) SendTransactional(req SendTransactionalRequest) error
func (*Client) UpdateCampaign ¶
func (c *Client) UpdateCampaign(id string, req UpdateCampaignRequest) (*Campaign, error)
func (*Client) UpdateContact ¶
func (c *Client) UpdateContact(req UpdateContactRequest) error
func (*Client) UpdateEmailMessage ¶
func (c *Client) UpdateEmailMessage(id string, req UpdateEmailMessageRequest) (*EmailMessage, error)
type Contact ¶
type Contact struct {
ID string `json:"id"`
Email string `json:"email"`
FirstName *string `json:"firstName"`
LastName *string `json:"lastName"`
Source string `json:"source"`
Subscribed bool `json:"subscribed"`
UserGroup string `json:"userGroup"`
UserID *string `json:"userId"`
MailingLists map[string]bool `json:"mailingLists"`
OptInStatus *string `json:"optInStatus"`
Custom map[string]any `json:"-"`
}
func (Contact) MarshalJSON ¶
func (*Contact) UnmarshalJSON ¶
type ContactProperty ¶
type ContactSuppression ¶
type CreateCampaignRequest ¶
type CreateCampaignRequest struct {
Name string `json:"name"`
}
type CreateContactRequest ¶
type EmailMessage ¶
type EmailMessage struct {
EmailMessageID string `json:"emailMessageId"`
CampaignID *string `json:"campaignId"`
Subject string `json:"subject"`
PreviewText string `json:"previewText"`
FromName string `json:"fromName"`
FromEmail string `json:"fromEmail"`
ReplyToEmail string `json:"replyToEmail"`
LMX string `json:"lmx"`
ContentRevisionID *string `json:"contentRevisionId"`
UpdatedAt string `json:"updatedAt"`
Warnings []LmxWarning `json:"warnings,omitempty"`
}
type EmailMessageFields ¶
type EmailMessageFields struct {
Subject string `json:"subject,omitempty"`
PreviewText string `json:"previewText,omitempty"`
FromName string `json:"fromName,omitempty"`
FromEmail string `json:"fromEmail,omitempty"`
ReplyToEmail string `json:"replyToEmail,omitempty"`
LMX string `json:"lmx,omitempty"`
}
type FindContactParams ¶
type LmxWarning ¶
type MailingList ¶
type Option ¶
type Option func(*Client)
func WithBaseURL ¶
func WithHTTPClient ¶
func WithLogger ¶
func WithUserAgent ¶
type Pagination ¶
type PaginationParams ¶
type SendEventRequest ¶
type SendTransactionalRequest ¶
type SendTransactionalRequest struct {
Email string `json:"email"`
TransactionalID string `json:"transactionalId"`
AddToAudience *bool `json:"addToAudience,omitempty"`
DataVariables map[string]any `json:"dataVariables,omitempty"`
Attachments []Attachment `json:"attachments,omitempty"`
IdempotencyKey string `json:"-"`
}
type ThemeStyles ¶ added in v0.1.3
type ThemeStyles struct {
BackgroundColor string `json:"backgroundColor"`
BackgroundXPadding float64 `json:"backgroundXPadding"`
BackgroundYPadding float64 `json:"backgroundYPadding"`
BodyColor string `json:"bodyColor"`
BodyXPadding float64 `json:"bodyXPadding"`
BodyYPadding float64 `json:"bodyYPadding"`
BodyFontFamily string `json:"bodyFontFamily"`
BodyFontCategory string `json:"bodyFontCategory"`
BorderColor string `json:"borderColor"`
BorderWidth float64 `json:"borderWidth"`
BorderRadius float64 `json:"borderRadius"`
ButtonBodyColor string `json:"buttonBodyColor"`
ButtonBodyXPadding float64 `json:"buttonBodyXPadding"`
ButtonBodyYPadding float64 `json:"buttonBodyYPadding"`
ButtonBorderColor string `json:"buttonBorderColor"`
ButtonBorderWidth float64 `json:"buttonBorderWidth"`
ButtonBorderRadius float64 `json:"buttonBorderRadius"`
ButtonTextColor string `json:"buttonTextColor"`
ButtonTextFormat float64 `json:"buttonTextFormat"`
ButtonTextFontSize float64 `json:"buttonTextFontSize"`
DividerColor string `json:"dividerColor"`
DividerBorderWidth float64 `json:"dividerBorderWidth"`
TextBaseColor string `json:"textBaseColor"`
TextBaseFontSize float64 `json:"textBaseFontSize"`
TextBaseLineHeight float64 `json:"textBaseLineHeight"`
TextBaseLetterSpacing float64 `json:"textBaseLetterSpacing"`
TextLinkColor string `json:"textLinkColor"`
Heading1Color string `json:"heading1Color"`
Heading1FontSize float64 `json:"heading1FontSize"`
Heading1LineHeight float64 `json:"heading1LineHeight"`
Heading1LetterSpacing float64 `json:"heading1LetterSpacing"`
Heading2Color string `json:"heading2Color"`
Heading2FontSize float64 `json:"heading2FontSize"`
Heading2LineHeight float64 `json:"heading2LineHeight"`
Heading2LetterSpacing float64 `json:"heading2LetterSpacing"`
Heading3Color string `json:"heading3Color"`
Heading3FontSize float64 `json:"heading3FontSize"`
Heading3LineHeight float64 `json:"heading3LineHeight"`
Heading3LetterSpacing float64 `json:"heading3LetterSpacing"`
}
type TransactionalEmail ¶
type UpdateCampaignRequest ¶
type UpdateCampaignRequest struct {
Name string `json:"name"`
}
type UpdateContactRequest ¶
type UpdateEmailMessageRequest ¶
type UpdateEmailMessageRequest struct {
EmailMessageFields
Set map[string]bool
ExpectedRevisionID string
}
Click to show internal directories.
Click to hide internal directories.