mailchimplists

package
v0.0.0-...-bd298a3 Latest Latest
Warning

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

Go to latest
Published: Aug 23, 2024 License: MIT Imports: 11 Imported by: 0

Documentation

Overview

DON'T EDIT; This file is used as a template by tools/generate_plugindata

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type APIError

type APIError struct {
	Status   int    `json:"status"`
	Type     string `json:"type"`
	Title    string `json:"title"`
	Detail   string `json:"detail"`
	Instance string `json:"instance"`
}

func (APIError) Error

func (e APIError) Error() string

type Bounces

type Bounces struct {
	HardBounces  int `json:"hard_bounces"`
	SoftBounces  int `json:"soft_bounces"`
	SyntaxErrors int `json:"syntax_errors"`
}

type ChimpAPI

type ChimpAPI struct {
	Transport http.RoundTripper

	sync.Mutex
	// contains filtered or unexported fields
}

func NewChimpAPI

func NewChimpAPI(apiKey string, log telegraf.Logger) *ChimpAPI

func (*ChimpAPI) GetLists

func (a *ChimpAPI) GetLists() (ListsResponse, error)

type Clicks

type Clicks struct {
	ClicksTotal            int     `json:"clicks_total"`
	UniqueClicks           int     `json:"unique_clicks"`
	UniqueSubscriberClicks int     `json:"unique_subscriber_clicks"`
	ClickRate              float64 `json:"click_rate"`
	LastClick              string  `json:"last_click"`
}

type FacebookLikes

type FacebookLikes struct {
	RecipientLikes int `json:"recipient_likes"`
	UniqueLikes    int `json:"unique_likes"`
	FacebookLikes  int `json:"facebook_likes"`
}

type Forwards

type Forwards struct {
	ForwardsCount int `json:"forwards_count"`
	ForwardsOpens int `json:"forwards_opens"`
}

type IndustryStats

type IndustryStats struct {
	Type       string  `json:"type"`
	OpenRate   float64 `json:"open_rate"`
	ClickRate  float64 `json:"click_rate"`
	BounceRate float64 `json:"bounce_rate"`
	UnopenRate float64 `json:"unopen_rate"`
	UnsubRate  float64 `json:"unsub_rate"`
	AbuseRate  float64 `json:"abuse_rate"`
}

type List

type List struct {
	ID      string `json:"id"`
	WebID   int    `json:"web_id"`
	Name    string `json:"name"`
	Contact struct {
		Company  string `json:"company"`
		Address1 string `json:"address1"`
		Address2 string `json:"address2"`
		City     string `json:"city"`
		State    string `json:"state"`
		Zip      string `json:"zip"`
		Country  string `json:"country"`
		Phone    string `json:"phone"`
	} `json:"contact"`
	PermissionReminder string `json:"permission_reminder"`
	UseArchiveBar      bool   `json:"use_archive_bar"`
	CampaignDefaults   struct {
		FromName  string `json:"from_name"`
		FromEmail string `json:"from_email"`
		Subject   string `json:"subject"`
		Language  string `json:"language"`
	} `json:"campaign_defaults"`
	NotifyOnSubscribe    string        `json:"notify_on_subscribe"`
	NotifyOnUnsubscribe  string        `json:"notify_on_unsubscribe"`
	DateCreated          time.Time     `json:"date_created"`
	ListRating           int           `json:"list_rating"`
	EmailTypeOption      bool          `json:"email_type_option"`
	SubscribeURLShort    string        `json:"subscribe_url_short"`
	SubscribeURLLong     string        `json:"subscribe_url_long"`
	BeamerAddress        string        `json:"beamer_address"`
	Visibility           string        `json:"visibility"`
	DoubleOptin          bool          `json:"double_optin"`
	HasWelcome           bool          `json:"has_welcome"`
	MarketingPermissions bool          `json:"marketing_permissions"`
	Modules              []interface{} `json:"modules"`
	Stats                struct {
		MemberCount               int       `json:"member_count"`
		UnsubscribeCount          int       `json:"unsubscribe_count"`
		CleanedCount              int       `json:"cleaned_count"`
		MemberCountSinceSend      int       `json:"member_count_since_send"`
		UnsubscribeCountSinceSend int       `json:"unsubscribe_count_since_send"`
		CleanedCountSinceSend     int       `json:"cleaned_count_since_send"`
		CampaignCount             int       `json:"campaign_count"`
		CampaignLastSent          time.Time `json:"campaign_last_sent"`
		MergeFieldCount           int       `json:"merge_field_count"`
		AvgSubRate                int       `json:"avg_sub_rate"`
		AvgUnsubRate              int       `json:"avg_unsub_rate"`
		TargetSubRate             int       `json:"target_sub_rate"`
		OpenRate                  float64   `json:"open_rate"`
		ClickRate                 float64   `json:"click_rate"`
		LastSubDate               time.Time `json:"last_sub_date"`
		LastUnsubDate             string    `json:"last_unsub_date"`
	} `json:"stats"`
	Links []struct {
		Rel          string `json:"rel"`
		Href         string `json:"href"`
		Method       string `json:"method"`
		TargetSchema string `json:"targetSchema,omitempty"`
		Schema       string `json:"schema,omitempty"`
	} `json:"_links"`
}

type ListStats

type ListStats struct {
	SubRate   float64 `json:"sub_rate"`
	UnsubRate float64 `json:"unsub_rate"`
	OpenRate  float64 `json:"open_rate"`
	ClickRate float64 `json:"click_rate"`
}

type ListsResponse

type ListsResponse struct {
	Lists       []List `json:"lists"`
	TotalItems  int    `json:"total_items"`
	Constraints struct {
		MayCreate             bool `json:"may_create"`
		MaxInstances          int  `json:"max_instances"`
		CurrentTotalInstances int  `json:"current_total_instances"`
	} `json:"constraints"`
	Links []struct {
		Rel          string `json:"rel"`
		Href         string `json:"href"`
		Method       string `json:"method"`
		TargetSchema string `json:"targetSchema"`
		Schema       string `json:"schema"`
	} `json:"_links"`
}

type MailChimp

type MailChimp struct {
	APIKey     string `toml:"api_key"`
	DaysOld    int    `toml:"days_old"`
	CampaignID string `toml:"campaign_id"`

	Log telegraf.Logger `toml:"-"`
	// contains filtered or unexported fields
}

func (*MailChimp) Description

func (m *MailChimp) Description() string

func (*MailChimp) Gather

func (m *MailChimp) Gather(acc telegraf.Accumulator) error

func (*MailChimp) Init

func (m *MailChimp) Init() error

func (*MailChimp) SampleConfig

func (m *MailChimp) SampleConfig() string

type Opens

type Opens struct {
	OpensTotal  int     `json:"opens_total"`
	UniqueOpens int     `json:"unique_opens"`
	OpenRate    float64 `json:"open_rate"`
	LastOpen    string  `json:"last_open"`
}

type Report

type Report struct {
	ID            string `json:"id"`
	CampaignTitle string `json:"campaign_title"`
	Type          string `json:"type"`
	EmailsSent    int    `json:"emails_sent"`
	AbuseReports  int    `json:"abuse_reports"`
	Unsubscribed  int    `json:"unsubscribed"`
	SendTime      string `json:"send_time"`

	TimeSeries    []TimeSeries
	Bounces       Bounces       `json:"bounces"`
	Forwards      Forwards      `json:"forwards"`
	Opens         Opens         `json:"opens"`
	Clicks        Clicks        `json:"clicks"`
	FacebookLikes FacebookLikes `json:"facebook_likes"`
	IndustryStats IndustryStats `json:"industry_stats"`
	ListStats     ListStats     `json:"list_stats"`
}

type ReportsParams

type ReportsParams struct {
	Count          string
	Offset         string
	SinceSendTime  string
	BeforeSendTime string
}

func (*ReportsParams) String

func (p *ReportsParams) String() string

type ReportsResponse

type ReportsResponse struct {
	Reports    []Report `json:"reports"`
	TotalItems int      `json:"total_items"`
}

type TimeSeries

type TimeSeries struct {
	TimeStamp       string `json:"timestamp"`
	EmailsSent      int    `json:"emails_sent"`
	UniqueOpens     int    `json:"unique_opens"`
	RecipientsClick int    `json:"recipients_click"`
}

Jump to

Keyboard shortcuts

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