Documentation
¶
Index ¶
- Constants
- Variables
- func Bool(v bool) *bool
- func Int(v int) *int
- func Int64(v int64) *int64
- func String(v string) *string
- func Stringify(message interface{}) string
- type APIError
- type Ad
- type AdAccount
- type AdAccountOwner
- type AdAccountResource
- func (r *AdAccountResource) GetAdAccountAnalytics(adAccountID string, args GetAdAccountAnalyticsOpts) (AnalyticsResponse, *APIError)
- func (r *AdAccountResource) GetAdAnalytics(adAccountID string, args GetAdAnalyticsOpts) (AnalyticsResponse, *APIError)
- func (r *AdAccountResource) GetAdGroupAnalytics(adAccountID string, args GetAdGroupAnalyticsOpts) (AnalyticsResponse, *APIError)
- func (r *AdAccountResource) GetCampaignAnalytics(adAccountID string, args GetCampaignAnalyticsOpts) (AnalyticsResponse, *APIError)
- func (r *AdAccountResource) GetProductGroupAnalytics(adAccountID string, args GetProductGroupAnalyticsOpts) (AnalyticsResponse, *APIError)
- func (r *AdAccountResource) ListAdAccounts(args ListAdAccountsOpts) (*AdAccountsResponse, *APIError)
- func (r *AdAccountResource) ListAdGroups(adAccountID string, args ListAdGroupsOpts) (*AdGroupsResponse, *APIError)
- func (r *AdAccountResource) ListAds(adAccountID string, args ListAdsOpts) (*AdsResponse, *APIError)
- func (r *AdAccountResource) ListCampaigns(adAccountID string, args ListCampaignsOpts) (*CampaignsResponse, *APIError)
- type AdAccountsResponse
- type AdGroup
- type AdGroupsResponse
- type AdsResponse
- type AnalyticsResponse
- type AuthorizationAPP
- func (app *AuthorizationAPP) GenerateAccessToken(code string) (*oauth2.Token, error)
- func (app *AuthorizationAPP) GetAuthorizationURL() string
- func (app *AuthorizationAPP) GetAuthorizedHttpClient() *http.Client
- func (app *AuthorizationAPP) GetUserClient() *Client
- func (app AuthorizationAPP) String() string
- type BCSuite
- type Board
- type BoardOwner
- type BoardResource
- func (r *BoardResource) CreateBoard(args CreateBoardOpts) (*Board, *APIError)
- func (r *BoardResource) CreateBoardSection(boardID string, args CreateBoardSectionOpts) (*BoardSection, *APIError)
- func (r *BoardResource) DeleteBoard(boardID string) *APIError
- func (r *BoardResource) DeleteBoardSection(boardID, sectionID string) *APIError
- func (r *BoardResource) GetBoard(boardID string) (*Board, *APIError)
- func (r *BoardResource) ListBoardSections(boardID string, args ListOptions) (*BoardSectionsResponse, *APIError)
- func (r *BoardResource) ListBoards(args ListBoardOpts) (*BoardsResponse, *APIError)
- func (r *BoardResource) ListPinsOnBoard(boardID string, args ListOptions) (*PinsResponse, *APIError)
- func (r *BoardResource) ListPinsOnBoardSection(boardID, sectionID string, args ListOptions) (*PinsResponse, *APIError)
- func (r *BoardResource) UpdateBoard(boardID string, args UpdateBoardOpts) (*Board, *APIError)
- func (r *BoardResource) UpdateBoardSection(boardID, sectionID string, args CreateBoardSectionOpts) (*BoardSection, *APIError)
- type BoardSection
- type BoardSectionsResponse
- type BoardsResponse
- type Campaign
- type CampaignsResponse
- type Client
- func (r *Client) Do(method, path string, queryParams interface{}, jsonParams interface{}, ...) *APIError
- func (r *Client) DoDelete(path string, d interface{}) *APIError
- func (r *Client) DoGet(path string, queryParams interface{}, d interface{}) *APIError
- func (r *Client) DoPatch(path string, jsonParams interface{}, d interface{}) *APIError
- func (r *Client) DoPost(path string, jsonParams interface{}, d interface{}) *APIError
- type CreateBoardOpts
- type CreateBoardSectionOpts
- type CreatePinMediaSourceOpts
- type CreatePinOpts
- type DailyMetrics
- type GetAdAccountAnalyticsOpts
- type GetAdAnalyticsOpts
- type GetAdGroupAnalyticsOpts
- type GetCampaignAnalyticsOpts
- type GetProductGroupAnalyticsOpts
- type Image
- type ListAdAccountsOpts
- type ListAdGroupsOpts
- type ListAdsOpts
- type ListBoardOpts
- type ListCampaignsOpts
- type ListOptions
- type Media
- type MediaResource
- type MediaUpload
- type MediaUploadsResponse
- type Metrics
- type Pin
- type PinResource
- type PinsResponse
- type RegisterMediaUploadOpts
- type RegisterMediaUploadResponse
- type Resource
- type TrackingURLs
- type UpdateBoardOpts
- type UserAccount
- type UserAccountAnalytics
- type UserAccountAnalyticsMetrics
- type UserAccountAnalyticsOpts
- type UserAccountResource
Constants ¶
const ( Baseurl = "https://api.pinterest.com/v5" HttpGet = resty.MethodGet HttpPost = resty.MethodPost HttpPatch = resty.MethodPatch HttpDelete = resty.MethodDelete OAuthState = "go-pinterest" )
Variables ¶
var Endpoint = oauth2.Endpoint{ AuthURL: "https://www.pinterest.com/oauth/", TokenURL: "https://api.pinterest.com/v5/oauth/token", AuthStyle: oauth2.AuthStyleInHeader, }
Endpoint url for pinterest oauth2
Functions ¶
func Bool ¶
Bool is a helper routine that allocates a new bool value to store v and returns a pointer to it.
func Int ¶
Int is a helper routine that allocates a new int value to store v and returns a pointer to it.
func Int64 ¶
Int64 is a helper routine that allocates a new int64 value to store v and returns a pointer to it.
Types ¶
type APIError ¶
type APIError struct { Code int `json:"code"` Message string `json:"message"` Status string `json:"status,omitempty"` Data string `json:"data,omitempty"` EndpointName string `json:"endpoint_name,omitempty"` }
APIError represents the error response
func ParseDataResponse ¶
func ParseDataResponse(response *resty.Response, d interface{}) *APIError
functions for http requests
type Ad ¶
type Ad struct { ID *string `json:"id"` Type *string `json:"type"` AdAccountID *string `json:"ad_account_id"` AdGroupID *string `json:"ad_group_id"` CampaignID *string `json:"campaign_id"` PinID *string `json:"pin_id"` Name *string `json:"name"` Status *string `json:"status"` AndroidDeepLink *string `json:"android_deep_link"` IOSDeepLink *string `json:"ios_deep_link"` CarouselAndroidDeepLinks []*string `json:"carousel_android_deep_links"` CarouselDestinationURLs []*string `json:"carousel_destination_urls"` CarouselIOSDeepLinks []*string `json:"carousel_ios_deep_links"` ClickTrackingURL *string `json:"click_tracking_url"` CreativeType *string `json:"creative_type"` DestinationURL *string `json:"destination_url"` IsPinDeleted *bool `json:"is_pin_deleted"` IsRemovable *bool `json:"is_removable"` TrackingURLs *TrackingURLs `json:"tracking_urls"` ViewTrackingURL *string `json:"view_tracking_url"` CollectionItemsDestinationURLTemplate *string `json:"collection_items_destination_url_template"` CreatedTime *int `json:"created_time"` UpdatedTime *int `json:"updated_time"` RejectedReasons []*string `json:"rejected_reasons"` RejectionLabels []*string `json:"rejection_labels"` ReviewStatus *string `json:"review_status"` SummaryStatus *string `json:"summary_status"` }
Ad represents the ad info.
type AdAccount ¶
type AdAccount struct { ID *string `json:"id"` Name *string `json:"name"` Owner *AdAccountOwner `json:"owner"` Country *string `json:"country"` Currency *string `json:"currency"` }
AdAccount represents the ad account info.
type AdAccountOwner ¶
type AdAccountOwner struct {
Username *string `json:"username"`
}
type AdAccountResource ¶
type AdAccountResource Resource
func (*AdAccountResource) GetAdAccountAnalytics ¶
func (r *AdAccountResource) GetAdAccountAnalytics(adAccountID string, args GetAdAccountAnalyticsOpts) (AnalyticsResponse, *APIError)
GetAdAccountAnalytics Get analytics for the specified ad_account_id, filtered by the specified options. Refer: https://developers.pinterest.com/docs/api/v5/#operation/ad_account/analytics
func (*AdAccountResource) GetAdAnalytics ¶
func (r *AdAccountResource) GetAdAnalytics(adAccountID string, args GetAdAnalyticsOpts) (AnalyticsResponse, *APIError)
GetAdAnalytics Get analytics for the specified ads in the specified ad_account_id, filtered by the specified options. Refer: https://developers.pinterest.com/docs/api/v5/#operation/ads/analytics
func (*AdAccountResource) GetAdGroupAnalytics ¶
func (r *AdAccountResource) GetAdGroupAnalytics(adAccountID string, args GetAdGroupAnalyticsOpts) (AnalyticsResponse, *APIError)
GetAdGroupAnalytics Get analytics for the specified campaigns in the specified ad_account_id, filtered by the specified options. Refer: https://developers.pinterest.com/docs/api/v5/#operation/ad_groups/analytics
func (*AdAccountResource) GetCampaignAnalytics ¶
func (r *AdAccountResource) GetCampaignAnalytics(adAccountID string, args GetCampaignAnalyticsOpts) (AnalyticsResponse, *APIError)
GetCampaignAnalytics Get analytics for the specified campaigns in the specified ad_account_id, filtered by the specified options. Refer: https://developers.pinterest.com/docs/api/v5/#operation/campaigns/analytics
func (*AdAccountResource) GetProductGroupAnalytics ¶
func (r *AdAccountResource) GetProductGroupAnalytics(adAccountID string, args GetProductGroupAnalyticsOpts) (AnalyticsResponse, *APIError)
GetProductGroupAnalytics Get analytics for the specified product groups in the specified ad_account_id, filtered by the specified options. Refer: https://developers.pinterest.com/docs/api/v5/#operation/product_groups/analytics
func (*AdAccountResource) ListAdAccounts ¶
func (r *AdAccountResource) ListAdAccounts(args ListAdAccountsOpts) (*AdAccountsResponse, *APIError)
ListAdAccounts Get a list of the ad_accounts that the "operation user_account" has access to. Refer: https://developers.pinterest.com/docs/api/v5/#operation/ad_accounts/list
func (*AdAccountResource) ListAdGroups ¶
func (r *AdAccountResource) ListAdGroups(adAccountID string, args ListAdGroupsOpts) (*AdGroupsResponse, *APIError)
ListAdGroups Get a list of the ad groups in the specified ad_account_id, filtered by the specified options. Refer: https://developers.pinterest.com/docs/api/v5/#operation/ad_groups/list
func (*AdAccountResource) ListAds ¶
func (r *AdAccountResource) ListAds(adAccountID string, args ListAdsOpts) (*AdsResponse, *APIError)
ListAds Get a list of the ads in the specified ad_account_id, filtered by the specified options. Refer: https://developers.pinterest.com/docs/api/v5/#operation/ads/list
func (*AdAccountResource) ListCampaigns ¶
func (r *AdAccountResource) ListCampaigns(adAccountID string, args ListCampaignsOpts) (*CampaignsResponse, *APIError)
ListCampaigns Get a list of the campaigns in the specified ad_account_id, filtered by the specified options. Refer: https://developers.pinterest.com/docs/api/v5/#operation/campaigns/list
type AdAccountsResponse ¶
type AdAccountsResponse struct { Items []*AdAccount `json:"items"` Bookmark *string `json:"bookmark"` }
AdAccountsResponse represents the response for list ad accounts.
func (AdAccountsResponse) String ¶
func (ar AdAccountsResponse) String() string
type AdGroup ¶
type AdGroup struct { ID *string `json:"id"` Type *string `json:"type"` AdAccountID *string `json:"ad_account_id"` Name *string `json:"name"` Status *string `json:"status"` BudgetInMicroCurrency *int `json:"budget_in_micro_currency"` BidInMicroCurrency *int `json:"bid_in_micro_currency"` BudgetType *string `json:"budget_type"` StartTime *int `json:"start_time"` EndTime *int `json:"end_time"` TargetingSpec *map[string][]string `json:"targeting_spec"` LifetimeFrequencyCap *int `json:"lifetime_frequency_cap"` TrackingURLs *TrackingURLs `json:"tracking_urls"` AutoTargetingEnabled *bool `json:"auto_targeting_enabled"` PlacementGroup *string `json:"placement_group"` PacingDeliveryType *string `json:"pacing_delivery_type"` ConversionLearningModeType *string `json:"conversion_learning_mode_type"` SummaryStatus *string `json:"summary_status"` FeedProfileID *string `json:"feed_profile_id"` CampaignID *string `json:"campaign_id"` BillableEvent *string `json:"billable_event"` CreatedTime *int `json:"created_time"` UpdatedTime *int `json:"updated_time"` }
AdGroup represents the ad group info.
type AdGroupsResponse ¶
AdGroupsResponse represents the response for list ad groups.
func (AdGroupsResponse) String ¶
func (c AdGroupsResponse) String() string
type AdsResponse ¶
AdsResponse represents the response for list ads.
func (AdsResponse) String ¶
func (a AdsResponse) String() string
type AnalyticsResponse ¶
type AnalyticsResponse []map[string]interface{}
AnalyticsResponse represents the analytics response.
type AuthorizationAPP ¶
type AuthorizationAPP struct { ClientID string `json:"client_id"` ClientSecret string `json:"client_secret"` RedirectURI string `json:"redirect_uri,omitempty"` Scope string `json:"scope,omitempty"` Token *oauth2.Token `json:"access_token,omitempty"` Config *oauth2.Config `json:"config,omitempty"` }
AuthorizationAPP Pinterest OAuth2 app config
func NewAuthorizationAPP ¶
func NewAuthorizationAPP(app AuthorizationAPP) *AuthorizationAPP
NewAuthorizationAPP Return app for oauth2 authorization
func (*AuthorizationAPP) GenerateAccessToken ¶
func (app *AuthorizationAPP) GenerateAccessToken(code string) (*oauth2.Token, error)
GenerateAccessToken Generate user access token for the app
func (*AuthorizationAPP) GetAuthorizationURL ¶
func (app *AuthorizationAPP) GetAuthorizationURL() string
GetAuthorizationURL Return authorization url for user
func (*AuthorizationAPP) GetAuthorizedHttpClient ¶
func (app *AuthorizationAPP) GetAuthorizedHttpClient() *http.Client
GetAuthorizedHttpClient Get user authorized http client
func (*AuthorizationAPP) GetUserClient ¶
func (app *AuthorizationAPP) GetUserClient() *Client
GetUserClient get library client with user authorization
func (AuthorizationAPP) String ¶
func (app AuthorizationAPP) String() string
type BCSuite ¶
BCSuite For the tests with app context
func (*BCSuite) SetupSuite ¶
func (bc *BCSuite) SetupSuite()
func (*BCSuite) TearDownTest ¶
func (bc *BCSuite) TearDownTest()
type Board ¶
type Board struct { ID *string `json:"id"` Name *string `json:"name"` Description *string `json:"description"` Owner *BoardOwner `json:"owner"` Privacy *string `json:"privacy"` }
Board represents the board info Refer: https://developers.pinterest.com/docs/api/v5/#operation/boards/get
type BoardOwner ¶
type BoardOwner struct {
Username *string `json:"username"`
}
BoardOwner represents the owner for board
func (BoardOwner) String ¶
func (b BoardOwner) String() string
type BoardResource ¶
type BoardResource Resource
func (*BoardResource) CreateBoard ¶
func (r *BoardResource) CreateBoard(args CreateBoardOpts) (*Board, *APIError)
CreateBoard Create a board owned by the "operation user_account". Refer: https://developers.pinterest.com/docs/api/v5/#operation/boards/create
func (*BoardResource) CreateBoardSection ¶
func (r *BoardResource) CreateBoardSection(boardID string, args CreateBoardSectionOpts) (*BoardSection, *APIError)
CreateBoardSection Create a board section on a board owned by the "operation user_account" - or on a group board that has been shared with this account. Refer: https://developers.pinterest.com/docs/api/v5/#operation/board_sections/create
func (*BoardResource) DeleteBoard ¶
func (r *BoardResource) DeleteBoard(boardID string) *APIError
DeleteBoard Delete a board owned by the "operation user_account". Refer: https://developers.pinterest.com/docs/api/v5/#operation/boards/delete
func (*BoardResource) DeleteBoardSection ¶
func (r *BoardResource) DeleteBoardSection(boardID, sectionID string) *APIError
DeleteBoardSection Delete a board section on a board owned by the "operation user_account" - or on a group board that has been shared with this account. Refer: https://developers.pinterest.com/docs/api/v5/#operation/board_sections/delete
func (*BoardResource) GetBoard ¶
func (r *BoardResource) GetBoard(boardID string) (*Board, *APIError)
GetBoard Get a board owned by the operation user_account - or a group board that has been shared with this account. Refer: https://developers.pinterest.com/docs/api/v5/#operation/boards/get
func (*BoardResource) ListBoardSections ¶
func (r *BoardResource) ListBoardSections(boardID string, args ListOptions) (*BoardSectionsResponse, *APIError)
ListBoardSections Get a list of all board sections from a board owned by the "operation user_account" - or a group board that has been shared with this account. Refer: https://developers.pinterest.com/docs/api/v5/#operation/board_sections/list
func (*BoardResource) ListBoards ¶
func (r *BoardResource) ListBoards(args ListBoardOpts) (*BoardsResponse, *APIError)
ListBoards Get a list of the boards owned by the "operation user_account" + group boards where this account is a collaborator Refer: https://developers.pinterest.com/docs/api/v5/#operation/boards/list
func (*BoardResource) ListPinsOnBoard ¶
func (r *BoardResource) ListPinsOnBoard(boardID string, args ListOptions) (*PinsResponse, *APIError)
ListPinsOnBoard Get a list of the Pins on a board owned by the "operation user_account" - or on a group board that has been shared with this account. Refer: https://developers.pinterest.com/docs/api/v5/#operation/boards/list_pins
func (*BoardResource) ListPinsOnBoardSection ¶
func (r *BoardResource) ListPinsOnBoardSection(boardID, sectionID string, args ListOptions) (*PinsResponse, *APIError)
ListPinsOnBoardSection Get a list of the Pins on a board section of a board owned by the "operation user_account" - or on a group board that has been shared with this account. Refer: https://developers.pinterest.com/docs/api/v5/#operation/board_sections/list_pins
func (*BoardResource) UpdateBoard ¶
func (r *BoardResource) UpdateBoard(boardID string, args UpdateBoardOpts) (*Board, *APIError)
UpdateBoard Update a board owned by the "operating user_account". Refer: https://developers.pinterest.com/docs/api/v5/#operation/boards/update
func (*BoardResource) UpdateBoardSection ¶
func (r *BoardResource) UpdateBoardSection(boardID, sectionID string, args CreateBoardSectionOpts) (*BoardSection, *APIError)
UpdateBoardSection Update a board section on a board owned by the "operation user_account" - or on a group board that has been shared with this account. Refer: https://developers.pinterest.com/docs/api/v5/#operation/board_sections/update
type BoardSection ¶
BoardSection represents the board section info
func (BoardSection) String ¶
func (b BoardSection) String() string
type BoardSectionsResponse ¶
type BoardSectionsResponse struct { Items []*BoardSection `json:"items"` Bookmark *string `json:"bookmark"` }
BoardSectionsResponse represents the response for list board sections
func (BoardSectionsResponse) String ¶
func (b BoardSectionsResponse) String() string
type BoardsResponse ¶
BoardsResponse represents the response for list boards
func (BoardsResponse) String ¶
func (b BoardsResponse) String() string
type Campaign ¶
type Campaign struct { ID *string `json:"id"` Type *string `json:"type"` AdAccountID *string `json:"ad_account_id"` Name *string `json:"name"` Status *string `json:"status"` LifetimeSpendCap *int `json:"lifetime_spend_cap"` DailySpendCap *int `json:"daily_spend_cap"` OrderLineID *string `json:"order_line_id"` TrackingURLs *TrackingURLs `json:"tracking_urls"` StartTime *int `json:"start_time"` EndTime *int `json:"end_time"` ObjectiveType *string `json:"objective_type"` CreatedTime *int `json:"created_time"` UpdatedTime *int `json:"updated_time"` }
Campaign represents the campaign info.
type CampaignsResponse ¶
type CampaignsResponse struct { Items []*Campaign `json:"items"` Bookmark *string `json:"bookmark"` }
CampaignsResponse represents the response for list campaigns.
func (CampaignsResponse) String ¶
func (c CampaignsResponse) String() string
type Client ¶
type Client struct { Cli *resty.Client // API Resource UserAccount *UserAccountResource Board *BoardResource Pin *PinResource Media *MediaResource AdAccount *AdAccountResource }
func NewBearerClient ¶
func NewUserClint ¶
type CreateBoardOpts ¶
type CreateBoardOpts struct { Name string `json:"name"` Description string `json:"description,omitempty"` Privacy string `json:"privacy,omitempty"` }
CreateBoardOpts represents the parameters for create a board
type CreateBoardSectionOpts ¶
type CreateBoardSectionOpts struct {
Name string `json:"name"`
}
CreateBoardSectionOpts represents the parameter for create or update board section.
type CreatePinMediaSourceOpts ¶
type CreatePinMediaSourceOpts struct { SourceType string `json:"source_type"` ContentType string `json:"content_type,omitempty"` Data string `json:"data,omitempty,omitempty"` Url string `json:"url,omitempty"` CoverImageURL string `json:"cover_image_url,omitempty"` MediaID string `json:"media_id,omitempty"` }
CreatePinMediaSourceOpts represents the parameters for pin media resource
type CreatePinOpts ¶
type CreatePinOpts struct { Link string `json:"link,omitempty"` Title string `json:"title,omitempty"` Description string `json:"description,omitempty"` AltText string `json:"alt_text,omitempty"` BoardID string `json:"board_id"` BoardSectionID string `json:"board_section_id,omitempty"` MediaSource CreatePinMediaSourceOpts `json:"media_source"` }
CreatePinOpts represents the parameters for create a pin
type DailyMetrics ¶
type DailyMetrics struct { DataStatus *string `json:"data_status"` Date *string `json:"date"` Metrics *Metrics `json:"metrics"` }
DailyMetrics represents the metrics info for a date.
func (DailyMetrics) String ¶
func (dm DailyMetrics) String() string
type GetAdAccountAnalyticsOpts ¶
type GetAdAccountAnalyticsOpts struct { StartDate string `url:"start_date"` EndDate string `url:"end_date"` Columns []string `url:"columns"` Granularity string `url:"granularity"` ClickWindowDays int `url:"click_window_days,omitempty"` EngagementWindowDays int `url:"engagement_window_days,omitempty"` ViewWindowDays int `url:"view_window_days,omitempty"` ConversionReportTime string `url:"conversion_report_time,omitempty"` }
GetAdAccountAnalyticsOpts represents the parameters for Get ad account analytics.
type GetAdAnalyticsOpts ¶
type GetAdAnalyticsOpts struct { StartDate string `url:"start_date"` EndDate string `url:"end_date"` AdIDs []string `url:"ad_ids"` Columns []string `url:"columns"` Granularity string `url:"granularity"` ClickWindowDays int `url:"click_window_days,omitempty"` EngagementWindowDays int `url:"engagement_window_days,omitempty"` ViewWindowDays int `url:"view_window_days,omitempty"` ConversionReportTime string `url:"conversion_report_time,omitempty"` }
GetAdAnalyticsOpts represents the parameters for Get ad analytics.
type GetAdGroupAnalyticsOpts ¶
type GetAdGroupAnalyticsOpts struct { StartDate string `url:"start_date"` EndDate string `url:"end_date"` AdGroupIDs []string `url:"ad_group_ids"` Columns []string `url:"columns"` Granularity string `url:"granularity"` ClickWindowDays int `url:"click_window_days,omitempty"` EngagementWindowDays int `url:"engagement_window_days,omitempty"` ViewWindowDays int `url:"view_window_days,omitempty"` ConversionReportTime string `url:"conversion_report_time,omitempty"` }
GetAdGroupAnalyticsOpts represents the parameters for Get ad group analytics.
type GetCampaignAnalyticsOpts ¶
type GetCampaignAnalyticsOpts struct { StartDate string `url:"start_date"` EndDate string `url:"end_date"` CampaignIDs []string `url:"campaign_ids"` Columns []string `url:"columns"` Granularity string `url:"granularity"` ClickWindowDays int `url:"click_window_days,omitempty"` EngagementWindowDays int `url:"engagement_window_days,omitempty"` ViewWindowDays int `url:"view_window_days,omitempty"` ConversionReportTime string `url:"conversion_report_time,omitempty"` }
GetCampaignAnalyticsOpts represents the parameters for Get campaign analytics.
type GetProductGroupAnalyticsOpts ¶
type GetProductGroupAnalyticsOpts struct { StartDate string `url:"start_date"` EndDate string `url:"end_date"` ProductGroupIDs []string `url:"product_group_ids"` Columns []string `url:"columns"` Granularity string `url:"granularity"` ClickWindowDays int `url:"click_window_days,omitempty"` EngagementWindowDays int `url:"engagement_window_days,omitempty"` ViewWindowDays int `url:"view_window_days,omitempty"` ConversionReportTime string `url:"conversion_report_time,omitempty"` }
GetProductGroupAnalyticsOpts represents the parameters for Get product group analytics.
type Image ¶
type Image struct { Width *int `json:"width"` Height *int `json:"height"` Url *string `json:"url"` }
Image represents the image info
type ListAdAccountsOpts ¶
type ListAdAccountsOpts struct { ListOptions }
ListAdAccountsOpts represents the parameters for list ad accounts.
type ListAdGroupsOpts ¶
type ListAdGroupsOpts struct { CampaignIDs []string `url:"campaign_ids"` AdGroupIDs []string `url:"ad_group_ids"` EntityStatuses []string `url:"entity_statuses"` Order string `url:"order"` TranslateInterestsToNames bool `url:"translate_interests_to_names"` ListOptions }
ListAdGroupsOpts represents the parameters for list ad groups.
type ListAdsOpts ¶
type ListAdsOpts struct { CampaignIDs []string `url:"campaign_ids"` AdGroupIDs []string `url:"ad_group_ids"` AdIDs []string `url:"ad_ids"` EntityStatuses []string `url:"entity_statuses"` Order string `url:"order"` TranslateInterestsToNames bool `url:"translate_interests_to_names"` ListOptions }
ListAdsOpts represents the parameters for list ads.
type ListBoardOpts ¶
type ListBoardOpts struct { ListOptions Privacy string `url:"privacy,omitempty"` }
ListBoardOpts represents the parameters for list boards
type ListCampaignsOpts ¶
type ListCampaignsOpts struct { CampaignIDs []string `url:"campaign_ids"` EntityStatuses []string `url:"entity_statuses"` Order string `url:"order"` ListOptions }
ListCampaignsOpts represents the parameters for list campaigns.
type ListOptions ¶
type ListOptions struct { Bookmark string `url:"bookmark,omitempty"` PageSize int `url:"page_size,omitempty"` }
ListOptions specifies the optional parameters to various List methods that support offset pagination.
type Media ¶
type Media struct { Images map[string]*Image `json:"images"` MediaType *string `json:"media_type"` }
Media represents the media info
type MediaResource ¶
type MediaResource Resource
func (*MediaResource) GetMediaUploadDetail ¶
func (r *MediaResource) GetMediaUploadDetail(mediaID string) (*MediaUpload, *APIError)
GetMediaUploadDetail Get details for a registered media upload, including its current status. Refer: https://developers.pinterest.com/docs/api/v5/#operation/media/get
func (*MediaResource) ListMediaUploads ¶
func (r *MediaResource) ListMediaUploads(args ListOptions) (*MediaUploadsResponse, *APIError)
ListMediaUploads List media uploads filtered by given parameters. Refer: https://developers.pinterest.com/docs/api/v5/#operation/media/list
func (*MediaResource) RegisterMediaUpload ¶
func (r *MediaResource) RegisterMediaUpload(args RegisterMediaUploadOpts) (*RegisterMediaUploadResponse, *APIError)
RegisterMediaUpload Register your intent to upload media. Refer: https://developers.pinterest.com/docs/api/v5/#operation/media/create
type MediaUpload ¶
type MediaUpload struct { MediaID *string `json:"media_id"` MediaType *string `json:"media_type"` Status *string `json:"status"` }
MediaUpload represents the media upload info.
func (MediaUpload) String ¶
func (m MediaUpload) String() string
type MediaUploadsResponse ¶
type MediaUploadsResponse struct { Items []*MediaUpload `json:"items"` Bookmark *string `json:"bookmark"` }
MediaUploadsResponse represents the response for list media uploads.
func (MediaUploadsResponse) String ¶
func (m MediaUploadsResponse) String() string
type Metrics ¶
type Metrics struct { Engagement *int64 `json:"ENGAGEMENT"` EngagementRate *float64 `json:"ENGAGEMENT_RATE"` ClickThrough *int64 `json:"CLICKTHROUGH"` ClickThroughRate *float64 `json:"CLICKTHROUGH_RATE"` CloseUp *int64 `json:"CLOSEUP"` CloseUpRate *float64 `json:"CLOSEUP_RATE"` Save *int64 `json:"SAVE"` SaveRate *float64 `json:"SAVE_RATE"` Impression *int64 `json:"IMPRESSION"` OutboundClick *int64 `json:"OUTBOUND_CLICK"` OutboundClickRate *float64 `json:"OUTBOUND_CLICK_RATE"` PinClick *int64 `json:"PIN_CLICK"` PinClickRate *float64 `json:"PIN_CLICK_RATE"` }
Metrics represents the metrics info.
type Pin ¶
type Pin struct { ID *string `json:"id"` CreatedAt *string `json:"created_at"` Link *string `json:"link"` Title *string `json:"title"` Description *string `json:"description"` AltText *string `json:"alt_text"` BoardID *string `json:"board_id"` BoardSectionID *string `json:"board_section_id"` BoardOwner *BoardOwner `json:"board_owner"` Media *Media `json:"media"` }
Pin represents the pin info.
type PinResource ¶
type PinResource Resource
func (*PinResource) CreatePin ¶
func (r *PinResource) CreatePin(args CreatePinOpts) (*Pin, *APIError)
CreatePin Create a Pin on a board or board section owned by the "operation user_account". Refer: https://developers.pinterest.com/docs/api/v5/#operation/pins/get
func (*PinResource) DeletePin ¶
func (r *PinResource) DeletePin(pinID string) *APIError
DeletePin Delete a Pins owned by the "operation user_account" - or on a group board that has been shared with this account. Refer: https://developers.pinterest.com/docs/api/v5/#operation/pins/delete
func (*PinResource) GetPin ¶
func (r *PinResource) GetPin(pinID, adAccountID string) (*Pin, *APIError)
GetPin Get a Pin owned by the "operation user_account" - or on a group board that has been shared with this account. Refer: https://developers.pinterest.com/docs/api/v5/#operation/pins/get
type PinsResponse ¶
PinsResponse represents the response for list pins
func (PinsResponse) String ¶
func (p PinsResponse) String() string
type RegisterMediaUploadOpts ¶
type RegisterMediaUploadOpts struct {
MediaType string `json:"media_type"`
}
RegisterMediaUploadOpts represents the parameters for register media upload.
type RegisterMediaUploadResponse ¶
type RegisterMediaUploadResponse struct { MediaID *string `json:"media_id"` MediaType *string `json:"media_type"` UploadURL *string `json:"upload_url"` UploadParameters map[string]string `json:"upload_parameters"` }
RegisterMediaUploadResponse The response for register media upload.
func (RegisterMediaUploadResponse) String ¶
func (m RegisterMediaUploadResponse) String() string
type TrackingURLs ¶
type TrackingURLs struct { Impression []*string `json:"impression"` Click []*string `json:"click"` Engagement []*string `json:"engagement"` BuyableButton []*string `json:"buyable_button"` AudienceVerification []*string `json:"audience_verification"` }
TrackingURLs represents the Third-party tracking URLs.
func (TrackingURLs) String ¶
func (t TrackingURLs) String() string
type UpdateBoardOpts ¶
type UpdateBoardOpts struct { Name string `json:"name,omitempty"` Description string `json:"description,omitempty"` Privacy string `json:"privacy,omitempty"` }
UpdateBoardOpts represents the parameters for update board
type UserAccount ¶
type UserAccount struct { AccountType *string `json:"account_type"` ProfileImage *string `json:"profile_image"` WebsiteURL *string `json:"website_url"` Username *string `json:"username"` }
UserAccount represent a Pinterest user account Refer: https://developers.pinterest.com/docs/api/v5/#tag/user_account
func (UserAccount) String ¶
func (u UserAccount) String() string
type UserAccountAnalytics ¶
type UserAccountAnalytics struct {
All *UserAccountAnalyticsMetrics `json:"all"`
}
UserAccountAnalytics represents the reponse for the user account analytics.
func (UserAccountAnalytics) String ¶
func (m UserAccountAnalytics) String() string
type UserAccountAnalyticsMetrics ¶
type UserAccountAnalyticsMetrics struct { DailyMetrics []*DailyMetrics `json:"daily_metrics"` SummaryMetrics *Metrics `json:"summary_metrics"` }
UserAccountAnalyticsMetrics represents the metrics info for days.
func (UserAccountAnalyticsMetrics) String ¶
func (m UserAccountAnalyticsMetrics) String() string
type UserAccountAnalyticsOpts ¶
type UserAccountAnalyticsOpts struct { StartDate string `url:"start_date"` EndDate string `url:"end_date"` FromClaimedContent string `url:"from_claimed_content,omitempty"` PinFormat string `url:"pin_format,omitempty"` AppTypes string `url:"app_types,omitempty"` MetricTypes string `url:"metric_types,omitempty"` SplitField string `url:"split_field,omitempty"` AdAccountID string `url:"ad_account_id,omitempty"` }
UserAccountAnalyticsOpts the parameters for the user account analytics.
type UserAccountResource ¶
type UserAccountResource Resource
func (*UserAccountResource) GetUserAccount ¶
func (r *UserAccountResource) GetUserAccount(adAccountID string) (*UserAccount, *APIError)
GetUserAccount Get account information for the user account Refer: https://developers.pinterest.com/docs/api/v5/#operation/user_account/get
func (*UserAccountResource) GetUserAccountAnalytics ¶
func (r *UserAccountResource) GetUserAccountAnalytics(args UserAccountAnalyticsOpts) (*UserAccountAnalytics, *APIError)
GetUserAccountAnalytics Get analytics for the user account.