Documentation
¶
Index ¶
- Constants
- Variables
- type API
- func (api *API) CreateAuthorizedApp(ctx context.Context, body *AuthorizedAppRequest) (*AuthorizedAppCreateResponse, error)
- func (api *API) CreateAutomationEmailQueue(ctx context.Context, workflowID, emailID, emailAddress string) (*AutomationQueue, error)
- func (api *API) CreateAutomationRemovedSubscribers(ctx context.Context, workflowID, emailAddress string) (*RemovedSubscriber, error)
- func (api *API) CreateBatchOperation(ctx context.Context, body *BatchOperationCreationRequest) (*BatchOperationResponse, error)
- func (api *API) CreateCampaign(ctx context.Context, body *CampaignCreationRequest) (*CampaignResponse, error)
- func (api *API) CreateCampaignFolder(ctx context.Context, body *CampaignFolderCreationRequest) (*CampaignFolder, error)
- func (api *API) CreateList(ctx context.Context, body *ListCreationRequest) (*ListResponse, error)
- func (api *API) CreateStore(ctx context.Context, req *Store) (*Store, error)
- func (api *API) CreateTemplate(ctx context.Context, body *TemplateCreationRequest) (*TemplateResponse, error)
- func (api *API) CreateTemplateFolder(ctx context.Context, body *TemplateFolderCreationRequest) (*TemplateFolder, error)
- func (api *API) DeleteCampaign(ctx context.Context, id string) (bool, error)
- func (api *API) DeleteList(ctx context.Context, id string) (bool, error)
- func (api *API) DeleteStore(ctx context.Context, id string) (bool, error)
- func (api *API) DeleteTemplate(ctx context.Context, id string) (bool, error)
- func (api *API) GetAuthorizedApp(ctx context.Context, id string, params *BasicQueryParams) (*AuthorizedApp, error)
- func (api *API) GetAuthorizedApps(ctx context.Context, params *ExtendedQueryParams) (*ListOfAuthorizedApps, error)
- func (api *API) GetAutomation(ctx context.Context, id string) (*Automation, error)
- func (api *API) GetAutomationEmail(ctx context.Context, automationID, emailID string) (*AutomationEmail, error)
- func (api *API) GetAutomationEmails(ctx context.Context, automationID string) (*ListOfEmails, error)
- func (api *API) GetAutomationQueue(ctx context.Context, workflowID, emailID, subsID string) (*AutomationQueue, error)
- func (api *API) GetAutomationQueues(ctx context.Context, workflowID, emailID string) (*ListOfAutomationQueues, error)
- func (api *API) GetAutomationRemovedSubscribers(ctx context.Context, workflowID string) (*ListOfRemovedSubscribers, error)
- func (api *API) GetAutomations(ctx context.Context, params *BasicQueryParams) (*ListOfAutomations, error)
- func (api *API) GetBatchOperation(ctx context.Context, id string, params *BasicQueryParams) (*BatchOperationResponse, error)
- func (api *API) GetBatchOperations(ctx context.Context, params *ListQueryParams) (*ListOfBatchOperations, error)
- func (api *API) GetCampaign(ctx context.Context, id string, params *BasicQueryParams) (*CampaignResponse, error)
- func (api *API) GetCampaignContent(ctx context.Context, id string, params *BasicQueryParams) (*CampaignContentResponse, error)
- func (api *API) GetCampaignFolders(ctx context.Context, params *CampaignFolderQueryParams) (*ListOfCampaignFolders, error)
- func (api *API) GetCampaigns(ctx context.Context, params *CampaignQueryParams) (*ListOfCampaigns, error)
- func (api *API) GetList(ctx context.Context, id string, params *BasicQueryParams) (*ListResponse, error)
- func (api *API) GetLists(ctx context.Context, params *ListQueryParams) (*ListOfLists, error)
- func (api *API) GetRoot(ctx context.Context, params *BasicQueryParams) (*RootResponse, error)
- func (api *API) GetStore(ctx context.Context, id string, params QueryParams) (*Store, error)
- func (api *API) GetStores(ctx context.Context, params *ExtendedQueryParams) (*StoreList, error)
- func (api *API) GetTemplate(ctx context.Context, id string, params *BasicQueryParams) (*TemplateResponse, error)
- func (api *API) GetTemplateDefaultContent(ctx context.Context, id string, params *BasicQueryParams) (*TemplateDefaultContentResponse, error)
- func (api *API) GetTemplateFolders(ctx context.Context, params *TemplateFolderQueryParams) (*ListOfTemplateFolders, error)
- func (api *API) GetTemplates(ctx context.Context, params *TemplateQueryParams) (*ListOfTemplates, error)
- func (api *API) NewListResponse(id string) *ListResponse
- func (api *API) PauseSending(ctx context.Context, workflowID, emailID string) (bool, error)
- func (api *API) PauseSendingAll(ctx context.Context, id string) (bool, error)
- func (api *API) Request(ctx context.Context, method, path string, params QueryParams, ...) error
- func (api *API) RequestOk(ctx context.Context, method, path string) (bool, error)
- func (api *API) SendCampaign(ctx context.Context, id string, body *SendCampaignRequest) (bool, error)
- func (api *API) SendTestEmail(ctx context.Context, id string, body *TestEmailRequest) (bool, error)
- func (api *API) StartSending(ctx context.Context, workflowID, emailID string) (bool, error)
- func (api *API) StartSendingAll(ctx context.Context, id string) (bool, error)
- func (api *API) UpdateCampaign(ctx context.Context, id string, body *CampaignCreationRequest) (*CampaignResponse, error)
- func (api *API) UpdateCampaignContent(ctx context.Context, id string, body *CampaignContentUpdateRequest) (*CampaignContentResponse, error)
- func (api *API) UpdateList(ctx context.Context, id string, body *ListCreationRequest) (*ListResponse, error)
- func (api *API) UpdateStore(ctx context.Context, req *Store) (*Store, error)
- func (api *API) UpdateTemplate(ctx context.Context, id string, body *TemplateCreationRequest) (*TemplateResponse, error)
- type APIError
- type AbuseReport
- type AccountContact
- type Activity
- type Address
- type AuthorizedApp
- type AuthorizedAppCreateResponse
- type AuthorizedAppRequest
- type Automation
- func (auto *Automation) CanMakeRequest() error
- func (auto *Automation) CreateRemovedSubscribers(ctx context.Context, emailAddress string) (*RemovedSubscriber, error)
- func (auto *Automation) GetEmail(ctx context.Context, id string) (*AutomationEmail, error)
- func (auto *Automation) GetEmails(ctx context.Context) (*ListOfEmails, error)
- func (auto *Automation) GetRemovedSubscribers(ctx context.Context) (*ListOfRemovedSubscribers, error)
- func (auto *Automation) PauseSendingAll(ctx context.Context) (bool, error)
- func (auto *Automation) StartSendingAll(ctx context.Context) (bool, error)
- type AutomationDelay
- type AutomationEmail
- func (email *AutomationEmail) CanMakeRequest() error
- func (email *AutomationEmail) CreateQueue(ctx context.Context, emailAddress string) (*AutomationQueue, error)
- func (email *AutomationEmail) GetQueue(ctx context.Context, id string) (*AutomationQueue, error)
- func (email *AutomationEmail) GetQueues(ctx context.Context) (*ListOfAutomationQueues, error)
- func (email *AutomationEmail) PauseSending(ctx context.Context) (bool, error)
- func (email *AutomationEmail) StartSending(ctx context.Context) (bool, error)
- type AutomationOptions
- type AutomationQueue
- type AutomationQueueRequest
- type AutomationRecipient
- type AutomationSettingsLong
- type AutomationSettingsShort
- type AutomationTracking
- type BasicQueryParams
- type BatchOperation
- type BatchOperationCreationRequest
- type BatchOperationResponse
- type BatchSubscribeMembersError
- type BatchSubscribeMembersRequest
- type BatchSubscribeMembersResponse
- type CampaignContentResponse
- type CampaignContentTemplateRequest
- type CampaignContentUpdateRequest
- type CampaignCreationRecipients
- type CampaignCreationRequest
- type CampaignCreationSegmentOptions
- type CampaignCreationSettings
- type CampaignDefaults
- type CampaignDeliveryStatus
- type CampaignEcommerce
- type CampaignFolder
- type CampaignFolderCreationRequest
- type CampaignFolderQueryParams
- type CampaignQueryParams
- type CampaignReportSummary
- type CampaignResponse
- type CampaignResponseRecipients
- type CampaignResponseSettings
- type CampaignTracking
- type Capsule
- type Cart
- type CartList
- type Client
- type Contact
- type Customer
- type CustomerList
- type ExtendedQueryParams
- type GrowthHistory
- type Highrise
- type HookEvents
- type HookSources
- type IndustryStats
- type Interest
- type InterestCategoriesQueryParams
- type InterestCategory
- type InterestCategoryRequest
- type InterestRequest
- type InterestsCondition
- type LineItem
- type Link
- type ListCreationRequest
- type ListOfAbuseReports
- type ListOfActivity
- type ListOfAuthorizedApps
- type ListOfAutomationQueues
- type ListOfAutomations
- type ListOfBatchOperations
- type ListOfCampaignFolders
- type ListOfCampaigns
- type ListOfClients
- type ListOfEmails
- type ListOfGrownHistory
- type ListOfInterestCategories
- type ListOfInterests
- type ListOfLists
- type ListOfMemberActivity
- type ListOfMemberGoals
- type ListOfMemberNotes
- type ListOfMemberTags
- type ListOfMembers
- type ListOfMergeFields
- type ListOfRemovedSubscribers
- type ListOfSegments
- type ListOfTemplateFolders
- type ListOfTemplates
- type ListOfWebHooks
- type ListQueryParams
- type ListResponse
- func (list *ListResponse) AddOrUpdateMember(ctx context.Context, id string, body *MemberRequest) (*Member, error)
- func (list *ListResponse) BatchModifySegment(ctx context.Context, id string, body *SegmentBatchRequest) (*SegmentBatchResponse, error)
- func (list *ListResponse) BatchSubscribeMembers(ctx context.Context, body *BatchSubscribeMembersRequest) (*BatchSubscribeMembersResponse, error)
- func (list *ListResponse) CanMakeRequest() error
- func (list *ListResponse) CreateInterestCategory(ctx context.Context, body *InterestCategoryRequest) (*InterestCategory, error)
- func (list *ListResponse) CreateMember(ctx context.Context, body *MemberRequest) (*Member, error)
- func (list *ListResponse) CreateMergeField(ctx context.Context, body *MergeFieldRequest) (*MergeField, error)
- func (list *ListResponse) CreateSegment(ctx context.Context, body *SegmentRequest) (*Segment, error)
- func (list *ListResponse) CreateWebHooks(ctx context.Context, body *WebHookRequest) (*WebHook, error)
- func (list *ListResponse) DeleteInterestCategory(ctx context.Context, id string) (bool, error)
- func (list *ListResponse) DeleteMember(ctx context.Context, id string) (bool, error)
- func (list *ListResponse) DeleteMemberPermanent(ctx context.Context, id string) (bool, error)
- func (list *ListResponse) DeleteSegment(ctx context.Context, id string) (bool, error)
- func (list *ListResponse) DeleteWebHook(ctx context.Context, id string) (bool, error)
- func (list *ListResponse) GetAbuseReport(ctx context.Context, id string, params *ExtendedQueryParams) (*AbuseReport, error)
- func (list *ListResponse) GetAbuseReports(ctx context.Context, params *ExtendedQueryParams) (*ListOfAbuseReports, error)
- func (list *ListResponse) GetActivity(ctx context.Context, params *BasicQueryParams) (*ListOfActivity, error)
- func (list *ListResponse) GetClients(ctx context.Context, params *BasicQueryParams) (*ListOfClients, error)
- func (list *ListResponse) GetGrowthHistory(ctx context.Context, params *ExtendedQueryParams) (*ListOfGrownHistory, error)
- func (list *ListResponse) GetGrowthHistoryForMonth(ctx context.Context, month string, params *BasicQueryParams) (*GrowthHistory, error)
- func (list *ListResponse) GetInterest(ctx context.Context, interestCategoryID, interestID string, ...) (*Interest, error)
- func (list *ListResponse) GetInterestCategories(ctx context.Context, params *InterestCategoriesQueryParams) (*ListOfInterestCategories, error)
- func (list *ListResponse) GetInterestCategory(ctx context.Context, id string, params *BasicQueryParams) (*InterestCategory, error)
- func (list *ListResponse) GetInterests(ctx context.Context, interestCategoryID string, params *ExtendedQueryParams) (*ListOfInterests, error)
- func (list *ListResponse) GetMember(ctx context.Context, id string, params *BasicQueryParams) (*Member, error)
- func (list *ListResponse) GetMembers(ctx context.Context, params *InterestCategoriesQueryParams) (*ListOfMembers, error)
- func (list *ListResponse) GetMergeField(ctx context.Context, params *MergeFieldParams) (*MergeField, error)
- func (list *ListResponse) GetMergeFields(ctx context.Context, params *MergeFieldsParams) (*ListOfMergeFields, error)
- func (list *ListResponse) GetSegment(ctx context.Context, id string, params *BasicQueryParams) (*Segment, error)
- func (list *ListResponse) GetSegments(ctx context.Context, params *SegmentQueryParams) (*ListOfSegments, error)
- func (list *ListResponse) GetWebHook(ctx context.Context, id string) (*WebHook, error)
- func (list *ListResponse) GetWebHooks(ctx context.Context) (*ListOfWebHooks, error)
- func (list *ListResponse) SearchMembers(ctx context.Context, params *SearchMembersQueryParams) (*SearchMembersResponse, error)
- func (list *ListResponse) UpdateInterestCategory(ctx context.Context, id string, body *InterestCategoryRequest) (*InterestCategory, error)
- func (list *ListResponse) UpdateMember(ctx context.Context, id string, body *MemberRequest) (*Member, error)
- func (list *ListResponse) UpdateSegment(ctx context.Context, id string, body *SegmentRequest) (*Segment, error)
- func (list *ListResponse) UpdateWebHook(ctx context.Context, id string, body *WebHookRequest) (*WebHook, error)
- type MarketingPermission
- type MarketingPermissions
- type Matches
- type Member
- func (mem *Member) CanMakeRequest() error
- func (mem *Member) CreateNote(ctx context.Context, msg string) (*MemberNoteLong, error)
- func (mem *Member) DeleteNote(ctx context.Context, id string) (bool, error)
- func (mem *Member) GetActivity(ctx context.Context, params *BasicQueryParams) (*ListOfMemberActivity, error)
- func (mem *Member) GetGoals(ctx context.Context, params *BasicQueryParams) (*ListOfMemberGoals, error)
- func (mem *Member) GetNote(ctx context.Context, id string, params *BasicQueryParams) (*MemberNoteLong, error)
- func (mem *Member) GetNotes(ctx context.Context, params *ExtendedQueryParams) (*ListOfMemberNotes, error)
- func (mem *Member) GetTags(ctx context.Context, params *ExtendedQueryParams) (*ListOfMemberTags, error)
- func (mem *Member) UpdateNote(ctx context.Context, id, msg string) (*MemberNoteLong, error)
- func (mem *Member) UpdateTags(ctx context.Context, tags []UpdateMemberTag) (*ListOfMemberTags, error)
- type MemberActivity
- type MemberGoal
- type MemberLocation
- type MemberNoteLong
- type MemberNoteShort
- type MemberRequest
- type MemberResponse
- type MemberStats
- type MemberTag
- type MemberTagLong
- type MergeField
- type MergeFieldOptions
- type MergeFieldParams
- type MergeFieldRequest
- type MergeFieldsParams
- type Order
- type OrderList
- type Product
- func (product *Product) CreateVariant(ctx context.Context, req *Variant) (*Variant, error)
- func (product *Product) DeleteVariant(ctx context.Context, id string) (bool, error)
- func (product *Product) HasID() error
- func (product *Product) MarshalJSON() ([]byte, error)
- func (product *Product) UpdateVariant(ctx context.Context, req *Variant) (*Variant, error)
- type ProductList
- type QueryParams
- type RemovedSubscriber
- type RemovedSubscriberRequest
- type ReportSummary
- type RootResponse
- type Salesforce
- type SearchMembersQueryParams
- type SearchMembersResponse
- type Segment
- type SegmentBatchError
- type SegmentBatchRequest
- type SegmentBatchResponse
- type SegmentConditional
- type SegmentOptions
- type SegmentQueryParams
- type SegmentRequest
- type SendCampaignRequest
- type SocialCard
- type Stats
- type Store
- func (store *Store) CreateCart(ctx context.Context, req *Cart) (*Cart, error)
- func (store *Store) CreateCustomer(ctx context.Context, req *Customer) (*Customer, error)
- func (store *Store) CreateOrder(ctx context.Context, req *Order) (*Order, error)
- func (store *Store) CreateProduct(ctx context.Context, req *Product) (*Product, error)
- func (store *Store) DeleteCart(ctx context.Context, id string) (bool, error)
- func (store *Store) DeleteCustomer(ctx context.Context, id string) (bool, error)
- func (store *Store) DeleteOrder(ctx context.Context, id string) (bool, error)
- func (store *Store) DeleteProduct(ctx context.Context, id string) (bool, error)
- func (store *Store) GetCart(ctx context.Context, id string, params *BasicQueryParams) (*Cart, error)
- func (store *Store) GetCarts(ctx context.Context, params *ExtendedQueryParams) (*CartList, error)
- func (store *Store) GetCustomer(ctx context.Context, id string, params *BasicQueryParams) (*Customer, error)
- func (store *Store) GetCustomers(ctx context.Context, params *ExtendedQueryParams) (*CustomerList, error)
- func (store *Store) GetOrder(ctx context.Context, id string, params *BasicQueryParams) (*Order, error)
- func (store *Store) GetOrders(ctx context.Context, params *ExtendedQueryParams) (*OrderList, error)
- func (store *Store) GetProduct(ctx context.Context, id string, params *BasicQueryParams) (*Product, error)
- func (store *Store) GetProducts(ctx context.Context, params *ExtendedQueryParams) (*ProductList, error)
- func (store *Store) HasID() error
- func (store *Store) MarshalJSON() ([]byte, error)
- func (store *Store) UpdateCart(ctx context.Context, req *Cart) (*Cart, error)
- func (store *Store) UpdateCustomer(ctx context.Context, req *Customer) (*Customer, error)
- func (store *Store) UpdateOrder(ctx context.Context, req *Order) (*Order, error)
- func (store *Store) UpdateProduct(ctx context.Context, req *Product) (*Product, error)
- type StoreList
- type TemplateCreationRequest
- type TemplateDefaultContentResponse
- type TemplateFolder
- type TemplateFolderCreationRequest
- type TemplateFolderQueryParams
- type TemplateQueryParams
- type TemplateResponse
- type TestEmailRequest
- type TimeToRun
- type UpdateMemberTag
- type Variant
- type VariantList
- type WebHook
- type WebHookRequest
- type WorkflowType
- func WorkflowAPI(emailCount int, runtime TimeToRun) *WorkflowType
- func WorkflowBestCustomer(emailCount int, sendImmediately bool, lifetimePurchaseValue float64, ...) *WorkflowType
- func WorkflowCategoryFollowup(emailCount int, sendImmediately bool, categoryName string, runtime TimeToRun) *WorkflowType
- func WorkflowDateAdded(emailCount int, runtime TimeToRun) *WorkflowType
- func WorkflowEmailFollowup(emailCount int, triggerOnImport, sendImmediately bool, runtime TimeToRun) *WorkflowType
- func WorkflowEmailSeries(emailCount int, triggerOnImport, sendImmediately bool, runtime TimeToRun) *WorkflowType
- func WorkflowGroupAdd(emailCount int, sendImmediately bool, groupID int, runtime TimeToRun) *WorkflowType
- func WorkflowGroupRemove(emailCount int, sendImmediately bool, groupID int, runtime TimeToRun) *WorkflowType
- func WorkflowMandrill(emailCount int, sendImmediately bool, mandrillTags []string, runtime TimeToRun) *WorkflowType
- func WorkflowProductFollowup(emailCount int, sendImmediately bool, productName string, runtime TimeToRun) *WorkflowType
- func WorkflowPurchaseFollowup(emailCount int, sendImmediately bool, runtime TimeToRun) *WorkflowType
- func WorkflowRecurringEvent(emailCount int, mergeFieldTrigger string, runtime TimeToRun) *WorkflowType
- func WorkflowSpecialEvent(emailCount int, mergeFieldTrigger string, runtime TimeToRun) *WorkflowType
- func WorkflowVisitURL(emailCount int, sendImmediately bool, goalURL string, runtime TimeToRun) *WorkflowType
- func WorkflowWelcomeSeries(emailCount int, triggerOnImport, sendImmediately bool, runtime TimeToRun) *WorkflowType
Constants ¶
const ( CampaignTypeRegular = "regular" CampaignTypePlaintext = "plaintext" CampaignTypeAbsplit = "absplit" // deprecated by mailchimp CampaignTypeRss = "rss" CampaignTypeVariate = "variate" CampaignSendTypeHtml = "html" CampaignSendTypePlaintext = "plaintext" ConditionMatchAny = "any" ConditionMatchAll = "all" ConditionTypeInterests = "Interests" ConditionOpContains = "interestcontains" )
const URIFormat string = "%s.api.mailchimp.com"
URIFormat defines the endpoint for a single app
const Version string = "/3.0"
Version the latest API version
Variables ¶
var DatacenterRegex = regexp.MustCompile("[^-]\\w+$")
DatacenterRegex defines which datacenter to hit
Functions ¶
This section is empty.
Types ¶
type API ¶
type API struct {
Key string
Timeout time.Duration
Transport http.RoundTripper
User string
Debug bool
// contains filtered or unexported fields
}
API represents the origin of the API
func (*API) CreateAuthorizedApp ¶
func (api *API) CreateAuthorizedApp(ctx context.Context, body *AuthorizedAppRequest) (*AuthorizedAppCreateResponse, error)
func (*API) CreateAutomationEmailQueue ¶
func (*API) CreateAutomationRemovedSubscribers ¶
func (*API) CreateBatchOperation ¶
func (api *API) CreateBatchOperation(ctx context.Context, body *BatchOperationCreationRequest) (*BatchOperationResponse, error)
func (*API) CreateCampaign ¶
func (api *API) CreateCampaign(ctx context.Context, body *CampaignCreationRequest) (*CampaignResponse, error)
func (*API) CreateCampaignFolder ¶
func (api *API) CreateCampaignFolder(ctx context.Context, body *CampaignFolderCreationRequest) (*CampaignFolder, error)
func (*API) CreateList ¶
func (api *API) CreateList(ctx context.Context, body *ListCreationRequest) (*ListResponse, error)
func (*API) CreateStore ¶
func (*API) CreateTemplate ¶
func (api *API) CreateTemplate(ctx context.Context, body *TemplateCreationRequest) (*TemplateResponse, error)
func (*API) CreateTemplateFolder ¶
func (api *API) CreateTemplateFolder(ctx context.Context, body *TemplateFolderCreationRequest) (*TemplateFolder, error)
func (*API) DeleteCampaign ¶
func (*API) DeleteTemplate ¶
func (*API) GetAuthorizedApp ¶ added in v1.1.0
func (api *API) GetAuthorizedApp(ctx context.Context, id string, params *BasicQueryParams) (*AuthorizedApp, error)
func (*API) GetAuthorizedApps ¶
func (api *API) GetAuthorizedApps(ctx context.Context, params *ExtendedQueryParams) (*ListOfAuthorizedApps, error)
func (*API) GetAutomation ¶
TODO query params?
func (*API) GetAutomationEmail ¶
func (*API) GetAutomationEmails ¶
func (*API) GetAutomationQueue ¶
func (*API) GetAutomationQueues ¶
func (*API) GetAutomationRemovedSubscribers ¶
func (*API) GetAutomations ¶
func (api *API) GetAutomations(ctx context.Context, params *BasicQueryParams) (*ListOfAutomations, error)
func (*API) GetBatchOperation ¶
func (api *API) GetBatchOperation(ctx context.Context, id string, params *BasicQueryParams) (*BatchOperationResponse, error)
func (*API) GetBatchOperations ¶
func (api *API) GetBatchOperations(ctx context.Context, params *ListQueryParams) (*ListOfBatchOperations, error)
func (*API) GetCampaign ¶
func (api *API) GetCampaign(ctx context.Context, id string, params *BasicQueryParams) (*CampaignResponse, error)
func (*API) GetCampaignContent ¶
func (api *API) GetCampaignContent(ctx context.Context, id string, params *BasicQueryParams) (*CampaignContentResponse, error)
func (*API) GetCampaignFolders ¶
func (api *API) GetCampaignFolders(ctx context.Context, params *CampaignFolderQueryParams) (*ListOfCampaignFolders, error)
func (*API) GetCampaigns ¶
func (api *API) GetCampaigns(ctx context.Context, params *CampaignQueryParams) (*ListOfCampaigns, error)
func (*API) GetList ¶
func (api *API) GetList(ctx context.Context, id string, params *BasicQueryParams) (*ListResponse, error)
func (*API) GetLists ¶
func (api *API) GetLists(ctx context.Context, params *ListQueryParams) (*ListOfLists, error)
func (*API) GetRoot ¶
func (api *API) GetRoot(ctx context.Context, params *BasicQueryParams) (*RootResponse, error)
GetRoot queries the root of the API for stats
func (*API) GetTemplate ¶
func (api *API) GetTemplate(ctx context.Context, id string, params *BasicQueryParams) (*TemplateResponse, error)
func (*API) GetTemplateDefaultContent ¶
func (api *API) GetTemplateDefaultContent(ctx context.Context, id string, params *BasicQueryParams) (*TemplateDefaultContentResponse, error)
func (*API) GetTemplateFolders ¶
func (api *API) GetTemplateFolders(ctx context.Context, params *TemplateFolderQueryParams) (*ListOfTemplateFolders, error)
func (*API) GetTemplates ¶
func (api *API) GetTemplates(ctx context.Context, params *TemplateQueryParams) (*ListOfTemplates, error)
func (*API) NewListResponse ¶
func (api *API) NewListResponse(id string) *ListResponse
NewListResponse returns a *ListResponse that is minimally viable for making API requests. This is useful for such API requests that depend on a ListResponse for its ID (e.g. CreateMember) without having to make a second network request to get the list itself.
func (*API) PauseSending ¶
func (*API) PauseSendingAll ¶
func (*API) Request ¶
func (api *API) Request(ctx context.Context, method, path string, params QueryParams, body, response any) error
Request will make a call to the actual API.
func (*API) RequestOk ¶
RequestOk Make Request ignoring body and return true if HTTP status code is 2xx.
func (*API) SendCampaign ¶
func (*API) SendTestEmail ¶
func (*API) StartSending ¶
func (*API) StartSendingAll ¶
func (*API) UpdateCampaign ¶
func (api *API) UpdateCampaign(ctx context.Context, id string, body *CampaignCreationRequest) (*CampaignResponse, error)
func (*API) UpdateCampaignContent ¶
func (api *API) UpdateCampaignContent(ctx context.Context, id string, body *CampaignContentUpdateRequest) (*CampaignContentResponse, error)
func (*API) UpdateList ¶
func (api *API) UpdateList(ctx context.Context, id string, body *ListCreationRequest) (*ListResponse, error)
func (*API) UpdateStore ¶
func (*API) UpdateTemplate ¶
func (api *API) UpdateTemplate(ctx context.Context, id string, body *TemplateCreationRequest) (*TemplateResponse, error)
type APIError ¶
type APIError struct {
Type string `json:"type,omitempty"`
Title string `json:"title,omitempty"`
Status int `json:"status,omitempty"`
Detail string `json:"detail,omitempty"`
Instance string `json:"instance,omitempty"`
Errors []struct {
Field string `json:"field"`
Message string `json:"message"`
} `json:"errors,omitempty"`
}
APIError is what the api returns on error
type AbuseReport ¶
type AccountContact ¶
type Activity ¶
type Activity struct {
Day string `json:"day"`
EmailsSent int `json:"emails_sent"`
UniqueOpens int `json:"unique_opens"`
RecipientClicks int `json:"recipient_clicks"`
HardBounce int `json:"hard_bounce"`
SoftBounce int `json:"soft_bounce"`
Subs int `json:"subs"`
Unsubs int `json:"unsubs"`
OtherAdds int `json:"other_adds"`
OtherRemoves int `json:"other_removes"`
// contains filtered or unexported fields
}
type Address ¶
type Address struct {
Address1 string `json:"address1"`
Address2 string `json:"address2"`
City string `json:"city"`
Province string `json:"province"`
ProvinceCode string `json:"province_code"`
PostalCode string `json:"postal_code"`
Country string `json:"country"`
CountryCode string `json:"country_code"`
Longitude float64 `json:"longitude"`
Latitude float64 `json:"latitude"`
}
Address represents what it says
func (*Address) MarshalJSON ¶
type AuthorizedApp ¶
type AuthorizedAppRequest ¶
type Automation ¶
type Automation struct {
ID string `json:"id"`
CreateTime string `json:"create_time"`
StartTime string `json:"start_time"`
Status string `json:"status"`
EmailsSent int `json:"emails_sent"`
Recipients AutomationRecipient `json:"recipients"`
Settings AutomationSettingsShort `json:"settings"`
Tracking AutomationTracking `json:"tracking"`
TriggerSettings WorkflowType `json:"trigger_settings"`
ReportSummary ReportSummary `json:"report_summary"`
// contains filtered or unexported fields
}
func (*Automation) CanMakeRequest ¶
func (auto *Automation) CanMakeRequest() error
func (*Automation) CreateRemovedSubscribers ¶
func (auto *Automation) CreateRemovedSubscribers(ctx context.Context, emailAddress string) (*RemovedSubscriber, error)
func (*Automation) GetEmail ¶
func (auto *Automation) GetEmail(ctx context.Context, id string) (*AutomationEmail, error)
func (*Automation) GetEmails ¶
func (auto *Automation) GetEmails(ctx context.Context) (*ListOfEmails, error)
func (*Automation) GetRemovedSubscribers ¶
func (auto *Automation) GetRemovedSubscribers(ctx context.Context) (*ListOfRemovedSubscribers, error)
func (*Automation) PauseSendingAll ¶
func (auto *Automation) PauseSendingAll(ctx context.Context) (bool, error)
func (*Automation) StartSendingAll ¶
func (auto *Automation) StartSendingAll(ctx context.Context) (bool, error)
type AutomationDelay ¶
type AutomationEmail ¶
type AutomationEmail struct {
ID string `json:"id"`
WorkflowID string `json:"workflow_id"`
Position int `json:"position"`
Delay AutomationDelay `json:"delay"`
CreateTime string `json:"create_time"`
StartTime string `json:"start_time"`
ArchiveURL string `json:"archive_url"`
Status string `json:"status"`
EmailsSent int `json:"emails_sent"`
SendTime string `json:"send_time"`
ContentType string `json:"content_type"`
Recipients AutomationRecipient `json:"recipients"`
Settings AutomationSettingsLong `json:"settings"`
Tracking AutomationTracking `json:"tracking"`
SocialCard SocialCard `json:"social_card"`
TriggerSettings WorkflowType `json:"trigger_settings"`
ReportSummary ReportSummary `json:"report_summary"`
// contains filtered or unexported fields
}
func (*AutomationEmail) CanMakeRequest ¶
func (email *AutomationEmail) CanMakeRequest() error
func (*AutomationEmail) CreateQueue ¶
func (email *AutomationEmail) CreateQueue(ctx context.Context, emailAddress string) (*AutomationQueue, error)
func (*AutomationEmail) GetQueue ¶
func (email *AutomationEmail) GetQueue(ctx context.Context, id string) (*AutomationQueue, error)
func (*AutomationEmail) GetQueues ¶
func (email *AutomationEmail) GetQueues(ctx context.Context) (*ListOfAutomationQueues, error)
func (*AutomationEmail) PauseSending ¶
func (email *AutomationEmail) PauseSending(ctx context.Context) (bool, error)
func (*AutomationEmail) StartSending ¶
func (email *AutomationEmail) StartSending(ctx context.Context) (bool, error)
type AutomationOptions ¶
type AutomationOptions struct {
SavedSegmentID int `json:"saved_segment_id"`
Match string `json:"match"`
Conditions []SegmentConditional `json:"conditions"`
}
type AutomationQueue ¶
type AutomationQueueRequest ¶
type AutomationQueueRequest struct {
EmailAddress string `json:"email_address"`
}
type AutomationRecipient ¶
type AutomationRecipient struct {
ListID string `json:"list_id"`
SegmentOptions AutomationOptions `json:"segment_options"`
}
type AutomationSettingsLong ¶
type AutomationSettingsLong struct {
Title string `json:"title"`
FromName string `json:"from_name"`
ReplyTo string `json:"reply_to"`
Authenticate bool `json:"authenticate"`
InlineCSS bool `json:"inline_css"`
SubjectLine string `json:"subject_line"`
AutoTweet bool `json:"auto_tweet"`
AutoFBPost []string `json:"auto_fb_post"`
FBComments bool `json:"fb_comments"`
TemplateID int `json:"template_id"`
DragAndDrop bool `json:"drag_and_drop"`
}
type AutomationSettingsShort ¶
type AutomationTracking ¶
type AutomationTracking struct {
Opens bool `json:"opens"`
HTMLClicks bool `json:"html_clicks"`
TextClicks bool `json:"text_clicks"`
GoalTracking bool `json:"goal_tracking"`
Ecomm360 bool `json:"ecomm360"`
GoogleAnalytics string `json:"google_analytics"`
Clicktale string `json:"clicktale"`
Salesforce Salesforce `json:"salesforce"`
Highrise Highrise `json:"highrise"`
Capsule Capsule `json:"capsule"`
}
type BasicQueryParams ¶
type BasicQueryParams struct {
Status string
SortField string
SortDirection string
Fields []string
ExcludeFields []string
}
BasicQueryParams basic filter queries
func (*BasicQueryParams) Params ¶
func (q *BasicQueryParams) Params() map[string]string
type BatchOperation ¶
type BatchOperationCreationRequest ¶
type BatchOperationCreationRequest struct {
Operations []BatchOperation `json:"operations"`
}
type BatchOperationResponse ¶
type BatchOperationResponse struct {
Links []Link `json:"_links,omitempty"`
ID string `json:"id"`
Status string `json:"status"`
TotalOperations int `json:"total_operations"`
FinishedOperations int `json:"finished_operations"`
ErroredOperations int `json:"errored_operations"`
SubmittedAt string `json:"submitted_at,omitempty"`
CompletedAt string `json:"completed_at,omitempty"`
ResponseBodyUrl string `json:"response_body_url"`
// contains filtered or unexported fields
}
type BatchSubscribeMembersError ¶
type BatchSubscribeMembersError struct {
EmailAddress string `json:"email_address"`
ErrorMessage string ` json:"error"`
}
------------------------------------------------------------------------------------------------ Batch subscribe list members ------------------------------------------------------------------------------------------------
type BatchSubscribeMembersRequest ¶
type BatchSubscribeMembersRequest struct {
Members []MemberRequest `json:"members"`
UpdateExisting bool `json:"update_existing"`
}
type BatchSubscribeMembersResponse ¶
type BatchSubscribeMembersResponse struct {
NewMembers []ListOfMembers `json:"new_members"`
UpdatedMembers []ListOfMembers `json:"updated_members"`
ErrorMessages []BatchSubscribeMembersError `json:"errors"`
TotalCreated int `json:"total_created"`
TotalUpdated int `json:"total_updated"`
ErrorCount int `json:"error_count"`
// contains filtered or unexported fields
}
type CampaignContentResponse ¶
type CampaignContentUpdateRequest ¶
type CampaignContentUpdateRequest struct {
PlainText string `json:"plain_text"`
Html string `json:"html"`
Url string `json:"url"`
Template *CampaignContentTemplateRequest `json:"template,omitempty"`
}
type CampaignCreationRecipients ¶
type CampaignCreationRecipients struct {
ListId string `json:"list_id"`
SegmentOptions CampaignCreationSegmentOptions `json:"segment_opts"`
}
type CampaignCreationRequest ¶
type CampaignCreationRequest struct {
Type string `json:"type"` // must be one of the CAMPAIGN_TYPE_* consts
Recipients CampaignCreationRecipients `json:"recipients"`
Settings CampaignCreationSettings `json:"settings"`
// variate_settings not implemented
Tracking CampaignTracking `json:"tracking"`
}
type CampaignCreationSegmentOptions ¶
type CampaignCreationSegmentOptions struct {
SavedSegmentId int `json:"saved_segment_id"`
Match string `json:"match"` // one of CONDITION_MATCH_*
// this accepts various payloads. See http://developer.mailchimp.com/documentation/mailchimp/reference/campaigns/#create-post_campaigns
Conditions any `json:"conditions"`
}
type CampaignCreationSettings ¶
type CampaignCreationSettings struct {
SubjectLine string `json:"subject_line"`
PreviewText string `json:"preview_text"`
Title string `json:"title"`
FromName string `json:"from_name"`
ReplyTo string `json:"reply_to"`
UseConversation bool `json:"use_conversation"`
ToName string `json:"to_name"`
FolderId string `json:"folder_id"`
Authenticate bool `json:"authenticate"`
InlineCss bool `json:"inline_css"`
AutoTweet bool `json:"auto_tweet"`
FbComments bool `json:"fb_comments"`
TemplateId uint `json:"template_id"`
}
type CampaignDefaults ¶
type CampaignDeliveryStatus ¶
type CampaignDeliveryStatus struct {
Enabled bool `json:"enabled"`
}
type CampaignEcommerce ¶
type CampaignFolder ¶
type CampaignFolderCreationRequest ¶
type CampaignFolderCreationRequest struct {
Name string `json:"name"`
}
type CampaignFolderQueryParams ¶
type CampaignFolderQueryParams struct {
ExtendedQueryParams
}
type CampaignQueryParams ¶
type CampaignQueryParams struct {
ExtendedQueryParams
Type string
Status string
BeforeSendTime string
SinceSendTime string
BeforeCreateTime string
SinceCreateTime string
ListId string
FolderId string
SortField string
SortDir string
}
func (CampaignQueryParams) Params ¶
func (q CampaignQueryParams) Params() map[string]string
type CampaignReportSummary ¶
type CampaignResponse ¶
type CampaignResponse struct {
ID string `json:"id"`
WebID uint `json:"web_id"`
Type string `json:"type"`
CreateTime string `json:"create_time"`
ArchiveUrl string `json:"archive_url"`
LongArchiveUrl string `json:"long_archive_url"`
Status string `json:"status"`
EmailsSent uint `json:"emails_sent"`
SendTime string `json:"send_time"`
ContentType string `json:"content_type"`
NeedsBlockRefresh bool `json:"needs_block_refresh"`
Recipients CampaignResponseRecipients `json:"recipients"`
Settings CampaignResponseSettings `json:"settings"`
Tracking CampaignTracking `json:"tracking"`
ReportSummary CampaignReportSummary `json:"report_summary"`
DeliveryStatus CampaignDeliveryStatus `json:"delivery_status"`
// contains filtered or unexported fields
}
func (CampaignResponse) CanMakeRequest ¶
func (campaign CampaignResponse) CanMakeRequest() error
type CampaignResponseSettings ¶
type CampaignResponseSettings struct {
SubjectLine string `json:"subject_line"`
PreviewText string `json:"preview_text"`
Title string `json:"title"`
FromName string `json:"from_name"`
ReplyTo string `json:"reply_to"`
UseConversation bool `json:"use_conversation"`
ToName string `json:"to_name"`
FolderId string `json:"folder_id"`
Authenticate bool `json:"authenticate"`
InlineCss bool `json:"inline_css"`
AutoTweet bool `json:"auto_tweet"`
FbComments bool `json:"fb_comments"`
Timewarp bool `json:"timewarp"`
TemplateId uint `json:"template_id"`
DragAndDrop bool `json:"drag_and_drop"`
}
type CampaignTracking ¶
type Cart ¶
type Cart struct {
APIError
// Required
Customer Customer `json:"customer"`
CurrencyCode string `json:"currency_code"`
OrderTotal float64 `json:"order_total"`
Lines []LineItem `json:"lines"`
// Optional
ID string `json:"id,omitempty"`
CampaignID string `json:"campaign_id,omitempty"`
CheckoutURL string `json:"checkout_url,omitempty"`
TaxTotal float64 `json:"tax_total,omitempty"`
// Response only
CreatedAt time.Time `json:"created_at,omitempty"`
UpdatedAt time.Time `json:"updated_at,omitempty"`
Links []Link `json:"_links,omitempty"`
}
func (*Cart) MarshalJSON ¶
type Contact ¶
type 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"`
PhoneNumber string `json:"phone"`
}
Contact defines a single contact
type Customer ¶
type Customer struct {
// Required
ID string `json:"id"`
// Optional
EmailAddress string `json:"email_address,omitempty"`
OptInStatus bool `json:"opt_in_status,omitempty"`
Company string `json:"company,omitempty"`
FirstName string `json:"first_name,omitempty"`
LastName string `json:"last_name,omitempty"`
OrdersCount int `json:"orders_count,omitempty"`
TotalSpent float64 `json:"total_spent,omitempty"`
Address *Address `json:"address,omitempty"`
// Response
CreatedAt string `json:"created_at,omitempty"`
UpdatedAt string `json:"updated_at,omitempty"`
Links []Link `json:"_links,omitempty"`
}
Customer defines a mailchimp customer
type CustomerList ¶
type ExtendedQueryParams ¶
type ExtendedQueryParams struct {
BasicQueryParams
Count int
Offset int
}
ExtendedQueryParams includes a count and offset
func (*ExtendedQueryParams) Params ¶
func (q *ExtendedQueryParams) Params() map[string]string
type GrowthHistory ¶
type HookEvents ¶
type HookSources ¶
type IndustryStats ¶
type InterestCategoriesQueryParams ¶
type InterestCategoriesQueryParams struct {
ExtendedQueryParams
Type string `json:"type"`
}
func (*InterestCategoriesQueryParams) Params ¶
func (q *InterestCategoriesQueryParams) Params() map[string]string
type InterestCategory ¶
type InterestCategory struct {
InterestCategoryRequest
ListID string `json:"list_id"`
ID string `json:"id"`
// contains filtered or unexported fields
}
func (*InterestCategory) CanMakeRequest ¶
func (ic *InterestCategory) CanMakeRequest() error
func (*InterestCategory) CreateInterest ¶
func (ic *InterestCategory) CreateInterest(ctx context.Context, body *InterestRequest) (*Interest, error)
type InterestCategoryRequest ¶
type InterestRequest ¶
type InterestsCondition ¶
type LineItem ¶
type LineItem struct {
// Required
ID string `json:"id"`
ProductID string `json:"product_id"`
ProductVariantID string `json:"product_variant_id"`
Quantity int `json:"quantity"`
Price float64 `json:"price"`
// Optional
ProductTitle string `json:"product_title,omitempty"`
ProductVariantTitle string `json:"product_variant_title,omitempty"`
}
LineItem defines a mailchimp cart or order line item
type Link ¶
type Link struct {
Rel string `json:"re"`
Href string `json:"href"`
Method string `json:"method"`
TargetSchema string `json:"targetSchema"`
Schema string `json:"schema"`
}
Link refereneces another object
type ListCreationRequest ¶
type ListCreationRequest struct {
Name string `json:"name"`
Contact Contact `json:"contact"`
PermissionReminder string `json:"permission_reminder"`
UseArchiveBar bool `json:"use_archive_bar"`
CampaignDefaults CampaignDefaults `json:"campaign_defaults"`
NotifyOnSubscribe string `json:"notify_on_subscribe"`
NotifyOnUnsubscribe string `json:"notify_on_unsubscribe"`
EmailTypeOption bool `json:"email_type_option"`
Visibility string `json:"visibility"`
}
type ListOfAbuseReports ¶
type ListOfAbuseReports struct {
ListID string `json:"list_id"`
Reports []AbuseReport `json:"abuse_reports"`
// contains filtered or unexported fields
}
type ListOfActivity ¶
type ListOfAuthorizedApps ¶
type ListOfAuthorizedApps struct {
Apps []AuthorizedApp `json:""`
// contains filtered or unexported fields
}
type ListOfAutomationQueues ¶
type ListOfAutomationQueues struct {
WorkflowID string `json:"workflow_id"`
EmailID string `json:"email_id"`
Queues []AutomationQueue `json:"queue"`
// contains filtered or unexported fields
}
type ListOfAutomations ¶
type ListOfAutomations struct {
Automations []Automation `json:"automations"`
// contains filtered or unexported fields
}
type ListOfBatchOperations ¶
type ListOfBatchOperations struct {
BatchOperations []BatchOperationResponse `json:"batches"`
// contains filtered or unexported fields
}
type ListOfCampaignFolders ¶
type ListOfCampaignFolders struct {
Folders []CampaignFolder `json:"folders"`
// contains filtered or unexported fields
}
type ListOfCampaigns ¶
type ListOfCampaigns struct {
Campaigns []CampaignResponse `json:"campaigns"`
// contains filtered or unexported fields
}
type ListOfClients ¶
type ListOfEmails ¶
type ListOfEmails struct {
Emails []AutomationEmail `json:"emails"`
// contains filtered or unexported fields
}
type ListOfGrownHistory ¶
type ListOfGrownHistory struct {
ListID string `json:"list_id"`
History []GrowthHistory `json:"history"`
// contains filtered or unexported fields
}
type ListOfInterestCategories ¶
type ListOfInterestCategories struct {
ListID string `json:"list_id"`
Categories []InterestCategory `json:"categories"`
// contains filtered or unexported fields
}
type ListOfInterests ¶
type ListOfLists ¶
type ListOfLists struct {
Lists []ListResponse `json:"lists"`
// contains filtered or unexported fields
}
type ListOfMemberActivity ¶
type ListOfMemberGoals ¶
type ListOfMemberGoals struct {
EmailID string `json:"email_id"`
ListID string `json:"list_id"`
Goals []MemberGoal `json:"goals"`
// contains filtered or unexported fields
}
type ListOfMemberNotes ¶
type ListOfMemberNotes struct {
EmailID string `json:"email_id"`
ListID string `json:"list_id"`
Notes []MemberNoteLong `json:"notes"`
// contains filtered or unexported fields
}
type ListOfMemberTags ¶
type ListOfMemberTags struct {
Tags []MemberTagLong `json:"tags"`
// contains filtered or unexported fields
}
type ListOfMembers ¶
type ListOfMergeFields ¶
type ListOfMergeFields struct {
ListID string `json:"list_id"`
MergeFields []MergeField `json:"merge_fields"`
// contains filtered or unexported fields
}
type ListOfRemovedSubscribers ¶
type ListOfRemovedSubscribers struct {
WorkflowID string `json:"workflow_id"`
Subscribers []RemovedSubscriber `json:"subscribers"`
// contains filtered or unexported fields
}
type ListOfSegments ¶
type ListOfTemplateFolders ¶
type ListOfTemplateFolders struct {
Folders []TemplateFolder `json:"folders"`
// contains filtered or unexported fields
}
type ListOfTemplates ¶
type ListOfTemplates struct {
Templates []TemplateResponse `json:"templates"`
// contains filtered or unexported fields
}
type ListOfWebHooks ¶
type ListQueryParams ¶
type ListQueryParams struct {
ExtendedQueryParams
BeforeDateCreated string
SinceDateCreated string
BeforeCampaignLastSent string
SinceCampaignLastSent string
Email string
}
func (ListQueryParams) Params ¶
func (q ListQueryParams) Params() map[string]string
type ListResponse ¶
type ListResponse struct {
ListCreationRequest
ID string `json:"id"`
DateCreated string `json:"date_created"`
ListRating int `json:"list_rating"`
SubscribeURLShort string `json:"subscribe_url_short"`
SubscribeURLLong string `json:"subscribe_url_long"`
BeamerAddress string `json:"beamer_address"`
Modules []string `json:"modules"`
Stats Stats `json:"stats"`
// contains filtered or unexported fields
}
func (*ListResponse) AddOrUpdateMember ¶
func (list *ListResponse) AddOrUpdateMember(ctx context.Context, id string, body *MemberRequest) (*Member, error)
func (*ListResponse) BatchModifySegment ¶
func (list *ListResponse) BatchModifySegment(ctx context.Context, id string, body *SegmentBatchRequest) (*SegmentBatchResponse, error)
BatchModifySegment adds and/or removes one or more emails from a static segment using POST /lists/{list_id}/segments/{segment_id}. NOTE: You MUST check SegmentBatchResponse for errors, as there may be multiple errors (i.e. multiple failures to add/remove), and err may still be nil.
func (*ListResponse) BatchSubscribeMembers ¶
func (list *ListResponse) BatchSubscribeMembers(ctx context.Context, body *BatchSubscribeMembersRequest) (*BatchSubscribeMembersResponse, error)
func (*ListResponse) CanMakeRequest ¶
func (list *ListResponse) CanMakeRequest() error
func (*ListResponse) CreateInterestCategory ¶
func (list *ListResponse) CreateInterestCategory(ctx context.Context, body *InterestCategoryRequest) (*InterestCategory, error)
func (*ListResponse) CreateMember ¶
func (list *ListResponse) CreateMember(ctx context.Context, body *MemberRequest) (*Member, error)
func (*ListResponse) CreateMergeField ¶
func (list *ListResponse) CreateMergeField(ctx context.Context, body *MergeFieldRequest) (*MergeField, error)
func (*ListResponse) CreateSegment ¶
func (list *ListResponse) CreateSegment(ctx context.Context, body *SegmentRequest) (*Segment, error)
func (*ListResponse) CreateWebHooks ¶
func (list *ListResponse) CreateWebHooks(ctx context.Context, body *WebHookRequest) (*WebHook, error)
func (*ListResponse) DeleteInterestCategory ¶
func (*ListResponse) DeleteMember ¶
func (*ListResponse) DeleteMemberPermanent ¶
func (*ListResponse) DeleteSegment ¶
func (*ListResponse) DeleteWebHook ¶
func (*ListResponse) GetAbuseReport ¶
func (list *ListResponse) GetAbuseReport(ctx context.Context, id string, params *ExtendedQueryParams) (*AbuseReport, error)
func (*ListResponse) GetAbuseReports ¶
func (list *ListResponse) GetAbuseReports(ctx context.Context, params *ExtendedQueryParams) (*ListOfAbuseReports, error)
func (*ListResponse) GetActivity ¶
func (list *ListResponse) GetActivity(ctx context.Context, params *BasicQueryParams) (*ListOfActivity, error)
func (*ListResponse) GetClients ¶
func (list *ListResponse) GetClients(ctx context.Context, params *BasicQueryParams) (*ListOfClients, error)
func (*ListResponse) GetGrowthHistory ¶
func (list *ListResponse) GetGrowthHistory(ctx context.Context, params *ExtendedQueryParams) (*ListOfGrownHistory, error)
func (*ListResponse) GetGrowthHistoryForMonth ¶
func (list *ListResponse) GetGrowthHistoryForMonth(ctx context.Context, month string, params *BasicQueryParams) (*GrowthHistory, error)
func (*ListResponse) GetInterest ¶
func (list *ListResponse) GetInterest(ctx context.Context, interestCategoryID, interestID string, params *BasicQueryParams) (*Interest, error)
func (*ListResponse) GetInterestCategories ¶
func (list *ListResponse) GetInterestCategories(ctx context.Context, params *InterestCategoriesQueryParams) (*ListOfInterestCategories, error)
func (*ListResponse) GetInterestCategory ¶
func (list *ListResponse) GetInterestCategory(ctx context.Context, id string, params *BasicQueryParams) (*InterestCategory, error)
func (*ListResponse) GetInterests ¶
func (list *ListResponse) GetInterests(ctx context.Context, interestCategoryID string, params *ExtendedQueryParams) (*ListOfInterests, error)
func (*ListResponse) GetMember ¶
func (list *ListResponse) GetMember(ctx context.Context, id string, params *BasicQueryParams) (*Member, error)
func (*ListResponse) GetMembers ¶
func (list *ListResponse) GetMembers(ctx context.Context, params *InterestCategoriesQueryParams) (*ListOfMembers, error)
func (*ListResponse) GetMergeField ¶
func (list *ListResponse) GetMergeField(ctx context.Context, params *MergeFieldParams) (*MergeField, error)
func (*ListResponse) GetMergeFields ¶
func (list *ListResponse) GetMergeFields(ctx context.Context, params *MergeFieldsParams) (*ListOfMergeFields, error)
func (*ListResponse) GetSegment ¶
func (list *ListResponse) GetSegment(ctx context.Context, id string, params *BasicQueryParams) (*Segment, error)
func (*ListResponse) GetSegments ¶
func (list *ListResponse) GetSegments(ctx context.Context, params *SegmentQueryParams) (*ListOfSegments, error)
func (*ListResponse) GetWebHook ¶
func (*ListResponse) GetWebHooks ¶
func (list *ListResponse) GetWebHooks(ctx context.Context) (*ListOfWebHooks, error)
func (*ListResponse) SearchMembers ¶
func (list *ListResponse) SearchMembers(ctx context.Context, params *SearchMembersQueryParams) (*SearchMembersResponse, error)
func (*ListResponse) UpdateInterestCategory ¶
func (list *ListResponse) UpdateInterestCategory(ctx context.Context, id string, body *InterestCategoryRequest) (*InterestCategory, error)
func (*ListResponse) UpdateMember ¶
func (list *ListResponse) UpdateMember(ctx context.Context, id string, body *MemberRequest) (*Member, error)
func (*ListResponse) UpdateSegment ¶
func (list *ListResponse) UpdateSegment(ctx context.Context, id string, body *SegmentRequest) (*Segment, error)
func (*ListResponse) UpdateWebHook ¶
func (list *ListResponse) UpdateWebHook(ctx context.Context, id string, body *WebHookRequest) (*WebHook, error)
type MarketingPermission ¶
type MarketingPermissions ¶
type MarketingPermissions []MarketingPermission
type Member ¶
type Member struct {
MemberResponse
ID string `json:"id"`
ListID string `json:"list_id"`
UniqueEmailID string `json:"unique_email_id"`
EmailType string `json:"email_type"`
Stats MemberStats `json:"stats"`
MemberRating int `json:"member_rating"`
LastChanged string `json:"last_changed"`
EmailClient string `json:"email_client"`
LastNote MemberNoteShort `json:"last_note"`
// contains filtered or unexported fields
}
func (*Member) CanMakeRequest ¶
func (*Member) CreateNote ¶
func (*Member) DeleteNote ¶
func (*Member) GetActivity ¶
func (mem *Member) GetActivity(ctx context.Context, params *BasicQueryParams) (*ListOfMemberActivity, error)
func (*Member) GetGoals ¶
func (mem *Member) GetGoals(ctx context.Context, params *BasicQueryParams) (*ListOfMemberGoals, error)
func (*Member) GetNote ¶
func (mem *Member) GetNote(ctx context.Context, id string, params *BasicQueryParams) (*MemberNoteLong, error)
func (*Member) GetNotes ¶
func (mem *Member) GetNotes(ctx context.Context, params *ExtendedQueryParams) (*ListOfMemberNotes, error)
func (*Member) GetTags ¶
func (mem *Member) GetTags(ctx context.Context, params *ExtendedQueryParams) (*ListOfMemberTags, error)
func (*Member) UpdateNote ¶
func (*Member) UpdateTags ¶
func (mem *Member) UpdateTags(ctx context.Context, tags []UpdateMemberTag) (*ListOfMemberTags, error)
type MemberActivity ¶
type MemberGoal ¶
type MemberLocation ¶
type MemberLocation struct {
Latitude float64 `json:"latitude"`
Longitude float64 `json:"longitude"`
GMTOffset int `json:"gmtoff"`
DSTOffset int `json:"dstoff"`
CountryCode string `json:"country_code"`
Timezone string `json:"timezone"`
}
func (*MemberLocation) MarshalJSON ¶
func (loc *MemberLocation) MarshalJSON() ([]byte, error)
type MemberNoteLong ¶
type MemberNoteShort ¶
type MemberRequest ¶
type MemberRequest struct {
EmailAddress string `json:"email_address"`
EmailType string `json:"email_type,omitempty"`
Status string `json:"status"`
StatusIfNew string `json:"status_if_new,omitempty"`
MergeFields map[string]any `json:"merge_fields,omitempty"`
Interests map[string]bool `json:"interests,omitempty"`
Language string `json:"language"`
VIP bool `json:"vip"`
Location *MemberLocation `json:"location,omitempty"`
MarketingPermissions *MarketingPermissions `json:"marketing_permissions,omitempty"`
IPOpt string `json:"ip_opt,omitempty"`
IPSignup string `json:"ip_signup,omitempty"`
Tags []string `json:"tags,omitempty"`
TimestampSignup string `json:"timestamp_signup,omitempty"`
TimestampOpt string `json:"timestamp_opt,omitempty"`
}
type MemberResponse ¶
type MemberResponse struct {
EmailAddress string `json:"email_address"`
EmailType string `json:"email_type,omitempty"`
Status string `json:"status"`
StatusIfNew string `json:"status_if_new,omitempty"`
MergeFields map[string]any `json:"merge_fields,omitempty"`
Interests map[string]bool `json:"interests,omitempty"`
Language string `json:"language"`
VIP bool `json:"vip"`
Location *MemberLocation `json:"location,omitempty"`
IPOpt string `json:"ip_opt,omitempty"`
IPSignup string `json:"ip_signup,omitempty"`
Tags []MemberTag `json:"tags,omitempty"`
TimestampSignup string `json:"timestamp_signup,omitempty"`
TimestampOpt string `json:"timestamp_opt,omitempty"`
}
type MemberStats ¶
type MemberTagLong ¶
type MergeField ¶
type MergeField struct {
MergeID int `json:"merge_id"`
Tag string `json:"tag"`
Name string `json:"name"`
Type string `json:"type"`
Required bool `json:"required"`
DefaultValue string `json:"default_value"`
Public bool `json:"public"`
DisplayOrder int `json:"display_order"`
Options MergeFieldOptions `json:"options"`
HelpText string `json:"help_text"`
ListID string `json:"list_id"`
// contains filtered or unexported fields
}
type MergeFieldOptions ¶
type MergeFieldParams ¶
type MergeFieldParams struct {
BasicQueryParams
MergeID string `json:"_"`
}
type MergeFieldRequest ¶
type MergeFieldRequest struct {
// The tag used in MailChimp campaigns and for the /members endpoint.
Tag string `json:"tag"`
// The name of the merge field.
Name string `json:"name"`
// The type for the merge field.
// Possible Values: text, number, address, phone, date, url, image, url, radio, dropdown, birthday, zip
Type string `json:"type"`
// The boolean value if the merge field is required.
Required bool `json:"required"`
// The default value for the merge field if null.
DefaultValue string `json:"default_value"`
// Whether the merge field is displayed on the signup form.
Public bool `json:"public"`
// The order that the merge field displays on the list signup form.
DisplayOrder int `json:"display_order"`
// The order that the merge field displays on the list signup form.
Options MergeFieldOptions `json:"options"`
// Extra text to help the subscriber fill out the form.
HelpText string `json:"help_text"`
}
type MergeFieldsParams ¶
type MergeFieldsParams struct {
ExtendedQueryParams
Type string `json:"type"`
Required bool `json:"required"`
}
type Order ¶
type Order struct {
APIError
// Required
ID string `json:"id"`
Customer Customer `json:"customer"`
Lines []LineItem `json:"lines"`
CurrencyCode string `json:"currency_code"`
OrderTotal float64 `json:"order_total"`
// Optional
TaxTotal float64 `json:"tax_total,omitempty"`
ShippingTotal float64 `json:"shipping_total,omitempty"`
TrackingCode string `json:"tracking_code,omitempty"`
ProcessedAtForeign time.Time `json:"processed_at_foreign"`
CancelledAtForeign time.Time `json:"cancelled_at_foreign"`
UpdatedAtForeign time.Time `json:"updated_at_foreign"`
CampaignID string `json:"campaign_id,omitempty"`
FinancialStatus string `json:"financial_status,omitempty"`
FulfillmentStatus string `json:"fulfillment_status,omitempty"`
BillingAddress *Address `json:"billing_address,omitempty"`
ShippingAddress *Address `json:"shipping_address,omitempty"`
// Response only
CreatedAt time.Time `json:"created_at,omitempty"`
UpdatedAt time.Time `json:"updated_at,omitempty"`
Links []Link `json:"_links,omitempty"`
}
func (*Order) MarshalJSON ¶
type Product ¶
type Product struct {
APIError
StoreID string `json:"-"`
// Required
ID string `json:"id"`
Title string `json:"title"`
Variants []Variant `json:"variants"`
// Optional
Handle string `json:"handle,omitempty"`
URL string `json:"url,omitempty"`
Description string `json:"description,omitempty"`
Type string `json:"type,omitempty"`
Vendor string `json:"vendor,omitempty"`
ImageURL string `json:"image_url,omitempty"`
PublishedAtForeign time.Time `json:"published_at_foreign,omitempty"`
// Response only
Links []Link `json:"_links,omitempty"`
// contains filtered or unexported fields
}
Product ---------------------------------------------------------------------------------------------
func (*Product) CreateVariant ¶
func (*Product) DeleteVariant ¶
func (*Product) MarshalJSON ¶
type ProductList ¶
type QueryParams ¶
QueryParams defines the different params
type RemovedSubscriber ¶
type RemovedSubscriberRequest ¶
type RemovedSubscriberRequest struct {
EmailAddress string `json:"email_address"`
}
type ReportSummary ¶
type RootResponse ¶
type RootResponse struct {
AccountID string `json:"account_id"`
AccountName string `json:"account_name"`
Email string `json:"email"`
Role string `json:"role"`
Contact AccountContact `json:"contact"`
ProEnabled bool `json:"pro_enabled"`
LastLogin string `json:"last_login"`
TotalSubscribers int `json:"total_subscribers"`
IndustryStats IndustryStats `json:"industry_stats"`
Links []Link `json:"_links"`
}
RootResponse - https://developer.mailchimp.com/documentation/mailchimp/reference/root/#read-get_root
type Salesforce ¶
type SearchMembersQueryParams ¶
type SearchMembersQueryParams struct {
BasicQueryParams
Query string
// contains filtered or unexported fields
}
func (*SearchMembersQueryParams) Params ¶
func (q *SearchMembersQueryParams) Params() map[string]string
type SearchMembersResponse ¶
type SegmentBatchError ¶
type SegmentBatchError struct {
EmailAddresses []string `json:"email_addresses"`
Error string `json:"error"`
}
SegmentBatchError contains errors returned from batch modifying a static segment
type SegmentBatchRequest ¶
type SegmentBatchRequest struct {
MembersToAdd []string `json:"members_to_add"`
MembersToRemove []string `json:"members_to_remove"`
}
SegmentBatchRequest represents arguments for bach modifying a static segment. Note that both options must be provided, even if empty slice, and cannot be nil, or mailchimp will return a 400.
type SegmentBatchResponse ¶
type SegmentBatchResponse struct {
MembersAdded []Member `json:"members_added"`
MembersRemoved []Member `json:"members_removed"`
Errors []SegmentBatchError `json:"errors"`
TotalAdded int `json:"total_added"`
TotalRemoved int `json:"total_removed"`
ErrorCount int `json:"error_count"`
// contains filtered or unexported fields
}
SegmentBatchResponse is the object returned by MailChimp from a request to batch modify a static segment
type SegmentConditional ¶
type SegmentConditional struct {
Field string `json:"field"`
OP string `json:"op"`
Value any `json:"value"`
}
SegmentConditional represents parameters to filter by
type SegmentOptions ¶
type SegmentOptions struct {
Match string `json:"match"`
Conditions []SegmentConditional `json:"conditions"`
}
type SegmentQueryParams ¶
type SegmentQueryParams struct {
ExtendedQueryParams
Type string
SinceCreatedAt string
BeforeCreatedAt string
SinceUpdatedAt string
BeforeUpdatedAt string
}
func (*SegmentQueryParams) Params ¶
func (q *SegmentQueryParams) Params() map[string]string
type SegmentRequest ¶
type SegmentRequest struct {
Name string `json:"name"`
StaticSegment []string `json:"static_segment"`
Options *SegmentOptions `json:"options,omitempty"`
}
type SendCampaignRequest ¶
type SendCampaignRequest struct {
CampaignId string `json:"campaign_id"`
}
type SocialCard ¶
type Stats ¶
type 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 string `json:"campaign_last_sent"`
MergeFieldCount int `json:"merge_field_count"`
AvgSubRate float64 `json:"avg_sub_rate"`
AvgUnsubRate float64 `json:"avg_unsub_rate"`
TargetSubRate float64 `json:"target_sub_rate"`
OpenRate float64 `json:"open_rate"`
ClickRate float64 `json:"click_rate"`
LastSubDate string `json:"last_sub_date"`
LastUnsubDate string `json:"last_unsub_date"`
}
type Store ¶
type Store struct {
APIError
// Required
ID string `json:"id"`
ListID string `json:"list_id"`
CurrencyCode string `json:"currency_code"`
Name string `json:"name"`
// Optional
Platform string `json:"platform,omitempty"`
Domain string `json:"domain,omitempty"`
EmailAddress string `json:"email_address,omitempty"`
MoneyFormat string `json:"money_format,omitempty"`
PrimaryLocale string `json:"primary_locale,omitempty"`
Timezone string `json:"timezone,omitempty"`
Phone string `json:"phone,omitempty"`
Address *Address `json:"address,omitempty"`
// Response
CreatedAt time.Time `json:"created_at,omitempty"`
UpdatedAt time.Time `json:"updated_at,omitempty"`
Links []Link `json:"_links,omitempty"`
// contains filtered or unexported fields
}
func (*Store) CreateCart ¶
func (*Store) CreateCustomer ¶
func (*Store) CreateOrder ¶
func (*Store) CreateProduct ¶
func (*Store) DeleteCart ¶
func (*Store) DeleteCustomer ¶
func (*Store) DeleteOrder ¶
func (*Store) DeleteProduct ¶
func (*Store) GetCustomer ¶
func (*Store) GetCustomers ¶
func (store *Store) GetCustomers(ctx context.Context, params *ExtendedQueryParams) (*CustomerList, error)
func (*Store) GetProduct ¶
func (*Store) GetProducts ¶
func (store *Store) GetProducts(ctx context.Context, params *ExtendedQueryParams) (*ProductList, error)
func (*Store) MarshalJSON ¶
func (*Store) UpdateCart ¶
func (*Store) UpdateCustomer ¶
func (*Store) UpdateOrder ¶
type TemplateCreationRequest ¶
type TemplateFolder ¶
type TemplateFolderCreationRequest ¶
type TemplateFolderCreationRequest struct {
Name string `json:"name"`
}
type TemplateFolderQueryParams ¶
type TemplateFolderQueryParams struct {
ExtendedQueryParams
}
type TemplateQueryParams ¶
type TemplateQueryParams struct {
ExtendedQueryParams
CreatedBy string
SinceCreatedAt string
BeforeCreatedAt string
Type string
FolderId string
}
func (*TemplateQueryParams) Params ¶
func (q *TemplateQueryParams) Params() map[string]string
type TemplateResponse ¶
type TemplateResponse struct {
ID uint `json:"id"`
Type string `json:"type"`
Name string `json:"name"`
DragAndDrop bool `json:"drag_and_drop"`
Responsive bool `json:"responsive"`
Category string `json:"category"`
DateCreated string `json:"date_created"`
CreatedBy string `json:"created_by"`
Active bool `json:"activer"`
FolderId string `json:"folder_id"`
Thumbnail string `json:"thumbnail"`
// contains filtered or unexported fields
}
func (*TemplateResponse) CanMakeRequest ¶
func (template *TemplateResponse) CanMakeRequest() error
type TestEmailRequest ¶
type UpdateMemberTag ¶
type Variant ¶
type Variant struct {
APIError
StoreID string `json:"-"`
ProductID string `json:"-"`
// Required
ID string `json:"id"`
Title string `json:"title"`
// Optional
URL string `json:"url,omitempty"`
SKU string `json:"sku,omitempty"`
Price float64 `json:"price,omitempty"`
InventoryQuantity int `json:"inventory_quantity,omitempty"`
ImageURL string `json:"image_url,omitempty"`
Backorders string `json:"backorders,omitempty"`
Visibility string `json:"visibility,omitempty"`
// contains filtered or unexported fields
}
Variant ------------------------------------------------------------------------------------------------
type VariantList ¶
type WebHook ¶
type WebHook struct {
WebHookRequest
ID string `json:"id"`
ListID string `json:"list_id"`
// contains filtered or unexported fields
}
type WebHookRequest ¶
type WebHookRequest struct {
URL string `json:"url"`
Events HookEvents `json:"events"`
Sources HookSources `json:"sources"`
}
type WorkflowType ¶
func WorkflowAPI ¶
func WorkflowAPI(emailCount int, runtime TimeToRun) *WorkflowType
func WorkflowBestCustomer ¶
func WorkflowCategoryFollowup ¶
func WorkflowCategoryFollowup(emailCount int, sendImmediately bool, categoryName string, runtime TimeToRun) *WorkflowType
func WorkflowDateAdded ¶
func WorkflowDateAdded(emailCount int, runtime TimeToRun) *WorkflowType
func WorkflowEmailFollowup ¶
func WorkflowEmailFollowup(emailCount int, triggerOnImport, sendImmediately bool, runtime TimeToRun) *WorkflowType
func WorkflowEmailSeries ¶
func WorkflowEmailSeries(emailCount int, triggerOnImport, sendImmediately bool, runtime TimeToRun) *WorkflowType
func WorkflowGroupAdd ¶
func WorkflowGroupAdd(emailCount int, sendImmediately bool, groupID int, runtime TimeToRun) *WorkflowType
func WorkflowGroupRemove ¶
func WorkflowGroupRemove(emailCount int, sendImmediately bool, groupID int, runtime TimeToRun) *WorkflowType
func WorkflowMandrill ¶
func WorkflowMandrill(emailCount int, sendImmediately bool, mandrillTags []string, runtime TimeToRun) *WorkflowType
func WorkflowProductFollowup ¶
func WorkflowProductFollowup(emailCount int, sendImmediately bool, productName string, runtime TimeToRun) *WorkflowType
func WorkflowPurchaseFollowup ¶
func WorkflowPurchaseFollowup(emailCount int, sendImmediately bool, runtime TimeToRun) *WorkflowType
func WorkflowRecurringEvent ¶
func WorkflowRecurringEvent(emailCount int, mergeFieldTrigger string, runtime TimeToRun) *WorkflowType
func WorkflowSpecialEvent ¶
func WorkflowSpecialEvent(emailCount int, mergeFieldTrigger string, runtime TimeToRun) *WorkflowType
func WorkflowVisitURL ¶
func WorkflowVisitURL(emailCount int, sendImmediately bool, goalURL string, runtime TimeToRun) *WorkflowType
func WorkflowWelcomeSeries ¶
func WorkflowWelcomeSeries(emailCount int, triggerOnImport, sendImmediately bool, runtime TimeToRun) *WorkflowType