Documentation
¶
Index ¶
- Constants
- Variables
- type APIError
- type BaseResponse
- type CatalogDump
- type Category
- type Client
- func (tcg *Client) Get(ctx context.Context, link string) (*BaseResponse, error)
- func (tcg *Client) GetCategoriesDetails(ctx context.Context, categoryIDs []int) ([]Category, error)
- func (tcg *Client) GetMarketPricesByProducts(ctx context.Context, productIDs []int) ([]ProductPriceSet, error)
- func (tcg *Client) GetMarketPricesBySKUs(ctx context.Context, skuIDs []int) ([]SKUPriceSet, error)
- func (tcg *Client) GetProductsDetails(ctx context.Context, productIDs []int, includeSkus bool) ([]Product, error)
- func (tcg *Client) ListAllCategoryGroups(ctx context.Context, category, offset int) ([]Group, error)
- func (tcg *Client) ListAllProducts(ctx context.Context, category int, productTypes []string, includeSkus bool, ...) ([]Product, error)
- func (tcg *Client) ListCategoryConditions(ctx context.Context, category int) ([]Condition, error)
- func (tcg *Client) ListCategoryLanguages(ctx context.Context, category int) ([]Language, error)
- func (tcg *Client) ListCategoryPrintings(ctx context.Context, category int) ([]Printing, error)
- func (tcg *Client) ListCategoryRarities(ctx context.Context, category int) ([]Rarity, error)
- func (tcg *Client) ListProductSKUs(ctx context.Context, productId int) ([]SKU, error)
- func (tcg *Client) TotalCategories(ctx context.Context) (int, error)
- func (tcg *Client) TotalGroups(ctx context.Context, category int) (int, error)
- func (tcg *Client) TotalProducts(ctx context.Context, category int, productTypes []string) (int, error)
- type Condition
- type Group
- type Language
- type Printing
- type Product
- type ProductPriceSet
- type Rarity
- type SKU
- type SKUPriceSet
Constants ¶
const ( MaxItemsInResponse = 100 MaxIDsInRequest = 250 )
const ( CategoryMagic = iota + 1 CategoryYuGiOh CategoryPokemon CategoryAxisAllies CategoryDDMiniatures CategoryEpic CategoryHeroclix CategoryMonsterpocalypse CategoryRedakai CategoryStarWarsMiniatures CategoryWorldOfWarcraftMiniatures CategoryWoW CategorySupplies CategoryOrganizersStores CategoryChronoClashSystem CategoryForceOfWill CategoryDiceMasters CategoryFutureCardBuddyFight CategoryWeissSchwarz CategoryTCGplayer CategoryDragonBallZ CategoryFinalFantasy CategoryUniVersus CategoryStarWarsDestiny CategoryDragonBallSuper CategoryDragoborne CategoryFunko CategoryMetaX CategoryCardSleeves CategoryDeckBoxes CategoryCardStorageTins CategoryLifeCounters CategoryPlaymats CategoryZombieWorldOrder CategoryTheCasterChronicles CategoryMyLittlePony CategoryWarhammerBooks CategoryWarhammerBigBoxGames CategoryWarhammerBoxSets CategoryWarhammerClampacks CategoryCitadelPaints CategoryCitadelTools CategoryWarhammerGameAccessories CategoryBooks CategoryExodus CategoryLightseekers CategoryProtectivePages CategoryStorageAlbums CategoryCollectibleStorage CategorySupplyBundles CategoryMunchkin CategoryWarhammerAgeOfSigmarChampions CategoryArchitect CategoryBulkLots CategoryTransformers CategoryBakugan CategoryKeyForge CategoryCardfightVanguard CategoryArgentSaga CategoryFleshAndBlood CategoryDigimon CategoryAlternateSouls CategoryGateRuler CategoryMetaZoo CategoryWIXOSS CategoryOnePiece CategoryMarvelComics CategoryDCComics CategoryLorcana CategoryBattleSpiritsSaga CategoryShadowverseEvolve CategoryGrandArchive CategoryAkora CategoryKryptik CategorySorceryContestedRealm CategoryAlphaClash CategoryStarWarsUnlimited CategoryDragonBallSuperFusionWorld CategoryUnionArena CategoryTCGplayerSupplies CategoryElestrals CategoryNeopetsBattledome CategoryPokemonJapan CategoryGundam CategoryHololive CategoryGodzilla CategoryRiftbound CategoryCookieRunBraverse )
All active categories on the platform
Variables ¶
var ( TCGAPITokenURL = "https://api.tcgplayer.com/token" TCGAPICatalogCategoriesURL = "https://api.tcgplayer.com/" + tcgApiVersion + "/catalog/categories" TCGAPICatalogProductsURL = "https://api.tcgplayer.com/" + tcgApiVersion + "/catalog/products" TCGAPICatalogGroupsURL = "https://api.tcgplayer.com/" + tcgApiVersion + "/catalog/groups" TCGAPIPricingProductURL = "https://api.tcgplayer.com/" + tcgApiVersion + "/pricing/product" TCGAPIPricingSkuURL = "https://api.tcgplayer.com/" + tcgApiVersion + "/pricing/sku" )
Endpoint URLs, overridable for testing
var AllProductTypes = []string{
"Cards",
"Booster Box",
"Booster Pack",
"Sealed Products",
"Intro Pack",
"Fat Pack",
"Box Sets",
"Precon/Event Decks",
"Magic Deck Pack",
"Magic Booster Box Case",
"All 5 Intro Packs",
"Intro Pack Display",
"3x Magic Booster Packs",
"Booster Battle Pack",
}
List of all possible product types
var ProductTypesSealed = AllProductTypes[1:]
List of all product types containing Sealed Products
var ProductTypesSingles = []string{AllProductTypes[0]}
List of all product types containing Singles
Functions ¶
This section is empty.
Types ¶
type APIError ¶ added in v0.1.0
APIError is a request the API answered with an error envelope, keeping the http status the message arrived under
type BaseResponse ¶
type BaseResponse struct {
TotalItems int `json:"totalItems"`
Success bool `json:"success"`
Errors []string `json:"errors"`
Results json.RawMessage `json:"results"`
}
type CatalogDump ¶ added in v0.1.0
type CatalogDump struct {
Category Category `json:"category"`
Conditions []Condition `json:"conditions"`
Languages []Language `json:"languages"`
Printings []Printing `json:"printings"`
Rarities []Rarity `json:"rarities"`
Groups []Group `json:"groups"`
Products []Product `json:"products"`
}
CatalogDump is the envelope cmd/tcgdumper writes for a category. Naming it here keeps the program that writes a dump and the programs that read one on a single definition of the format, rather than each carrying its own.
func (*CatalogDump) PrintingNames ¶ added in v0.1.0
func (d *CatalogDump) PrintingNames() map[int][]string
PrintingNames maps each product to the distinct printing names its skus carry, ordered as the dump lists the category's printings. A printing the dump does not list for a product is one that product is not sold in.
type Category ¶
type Category struct {
CategoryID int `json:"categoryId"`
Name string `json:"name"`
ModifiedOn string `json:"modifiedOn"`
DisplayName string `json:"displayName"`
SeoCategoryName string `json:"seoCategoryName"`
SealedLabel string `json:"sealedLabel"`
NonSealedLabel string `json:"nonSealedLabel"`
ConditionGuideURL string `json:"conditionGuideUrl"`
IsScannable bool `json:"isScannable"`
Popularity int `json:"popularity"`
}
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
func (*Client) GetCategoriesDetails ¶
func (*Client) GetMarketPricesByProducts ¶
func (*Client) GetMarketPricesBySKUs ¶
func (*Client) GetProductsDetails ¶
func (*Client) ListAllCategoryGroups ¶
func (*Client) ListAllProducts ¶
func (*Client) ListCategoryConditions ¶ added in v0.0.3
func (*Client) ListCategoryLanguages ¶ added in v0.0.3
func (*Client) ListCategoryPrintings ¶
func (*Client) ListCategoryRarities ¶ added in v0.0.3
func (*Client) ListProductSKUs ¶
func (*Client) TotalCategories ¶
func (*Client) TotalGroups ¶
type Group ¶
type Group struct {
GroupID int `json:"groupId"`
Name string `json:"name"`
Abbreviation string `json:"abbreviation"`
Supplemental bool `json:"supplemental"`
PublishedOn string `json:"publishedOn"`
ModifiedOn string `json:"modifiedOn"`
CategoryID int `json:"categoryId"`
}
func (Group) ReleaseDate ¶ added in v0.1.0
ReleaseDate is the group's publish date without the time of day.
type Product ¶
type Product struct {
ProductID int `json:"productId"`
Name string `json:"name"`
CleanName string `json:"cleanName"`
ImageURL string `json:"imageUrl"`
GroupID int `json:"groupId"`
URL string `json:"url"`
ModifiedOn string `json:"modifiedOn"`
// Never returned by the API, which does not report the product type a
// product is filed under; tcgdumper stamps the type it fetched the
// product by, so it is present in catalog dumps only
ProductType string `json:"productType,omitempty"`
// Only available for catalog API calls
Skus []SKU `json:"skus,omitempty"`
// Only available for catalog API calls
ExtendedData []struct {
Name string `json:"name"`
DisplayName string `json:"displayName"`
Value string `json:"value"`
} `json:"extendedData,omitempty"`
}