Documentation
¶
Overview ¶
Package itunes_search_go provides client for access to iTunes API. See https://affiliate.itunes.apple.com/resources/documentation/itunes-store-web-service-search-api
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( // ErrNoResults returned when itunes api response contains no results. ErrNoResults = errors.New("no results") // ErrImpreciseResults returned when itunes api response contains more than 1 result for exact app id. ErrImpreciseResults = errors.New("imprecise results") )
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client interface {
// Lookup returns LookupResponse for application by it's id.
Lookup(ctx context.Context, id int, opts ...option.LookupOption) (LookupResponse, error)
}
Client is an contract for itunes api.
type LookupResponse ¶
type LookupResponse struct {
// ResultCount contains info about total found results number.
ResultCount int64 `json:"resultCount"`
// Results is an array with all found results.
Results []Result `json:"results"`
}
LookupResponse represents response of itunes api lookup endpoint.
func UnmarshalLookupResponse ¶
func UnmarshalLookupResponse(data []byte) (LookupResponse, error)
func (*LookupResponse) Marshal ¶
func (l *LookupResponse) Marshal() ([]byte, error)
func (LookupResponse) Result ¶
func (l LookupResponse) Result() (Result, error)
Result takes care of check the results count and shortcut to get the first result from array (lookup always contains 1 result in array).
type Result ¶
type Result struct {
ScreenshotURLs []string `json:"screenshotUrls"`
IpadScreenshotURLs []string `json:"ipadScreenshotUrls"`
AppletvScreenshotURLs []interface{} `json:"appletvScreenshotUrls"`
ArtworkURL60 string `json:"artworkUrl60"`
ArtworkURL512 string `json:"artworkUrl512"`
ArtworkURL100 string `json:"artworkUrl100"`
ArtistViewURL string `json:"artistViewUrl"`
SupportedDevices []string `json:"supportedDevices"`
Advisories []string `json:"advisories"`
IsGameCenterEnabled bool `json:"isGameCenterEnabled"`
Kind string `json:"kind"`
Features []string `json:"features"`
TrackCensoredName string `json:"trackCensoredName"`
LanguageCodesISO2A []string `json:"languageCodesISO2A"`
FileSizeBytes string `json:"fileSizeBytes"`
SellerURL string `json:"sellerUrl"`
ContentAdvisoryRating string `json:"contentAdvisoryRating"`
AverageUserRatingForCurrentVersion float64 `json:"averageUserRatingForCurrentVersion"`
UserRatingCountForCurrentVersion int64 `json:"userRatingCountForCurrentVersion"`
AverageUserRating float64 `json:"averageUserRating"`
TrackViewURL string `json:"trackViewUrl"`
TrackContentRating string `json:"trackContentRating"`
TrackID int64 `json:"trackId"`
TrackName string `json:"trackName"`
ReleaseDate string `json:"releaseDate"`
GenreIDS []string `json:"genreIds"`
FormattedPrice string `json:"formattedPrice"`
PrimaryGenreName string `json:"primaryGenreName"`
IsVppDeviceBasedLicensingEnabled bool `json:"isVppDeviceBasedLicensingEnabled"`
MinimumOSVersion string `json:"minimumOsVersion"`
SellerName string `json:"sellerName"`
CurrentVersionReleaseDate string `json:"currentVersionReleaseDate"`
ReleaseNotes string `json:"releaseNotes"`
PrimaryGenreID int64 `json:"primaryGenreId"`
Version string `json:"version"`
WrapperType string `json:"wrapperType"`
Currency string `json:"currency"`
Description string `json:"description"`
ArtistID int64 `json:"artistId"`
ArtistName string `json:"artistName"`
Genres []string `json:"genres"`
Price float64 `json:"price"`
BundleID string `json:"bundleId"`
UserRatingCount int64 `json:"userRatingCount"`
}
Result represents result entity from itunes api lookup.
Click to show internal directories.
Click to hide internal directories.