shopping

package module
v0.4.1 Latest Latest
Warning

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

Go to latest
Published: Jan 28, 2022 License: GPL-3.0 Imports: 6 Imported by: 0

README

example workflow

ebay-shopping-api

Golang client for eBay Shopping API

For using eBay shopping API you need to get Application Token. You can make it using this repo.

Example
package main

import (
	"fmt"
	"github.com/hotafrika/ebay-common/auth"
	"github.com/hotafrika/ebay-shopping-api"
)

func main() {
	authService := auth.NewService().WithScopes(auth.ScopeCredentialCommon).
		WithCredentials("myAppID", "myAppSecret")

	token, err := authService.GetAppToken()
	if err != nil {
		panic(err)
	}
	shoppingService := shopping.NewService(token.Token)
	r := shoppingService.NewGetSingleItemRequest()
	r.WithItemID("123")
	r.WithVariationSpecifics("param1", "one", "two")
	r.WithVariationSpecifics("param2", "one2", "two2")
	
	res, err := r.Execute()
	if err != nil {
		fmt.Println(err)
	}
	fmt.Println(res)
}

Documentation

Index

Constants

View Source
const (
	// EbayEndpointProduction is a production endpoint for Shopping API
	EbayEndpointProduction = "https://open.api.ebay.com/shopping"
	// EbayEndpointSandbox is a sandbox endpoint for Shopping API
	EbayEndpointSandbox = "https://open.api.sandbox.ebay.com/shopping"
)
View Source
const DefaultItemsPerPage = 100
View Source
const EbayRequestDataFormat = "XML"
View Source
const EbayResponseDataFormat = "XML"
View Source
const EbayShoppingAPIVersion = "1199"

Variables

View Source
var UTC, _ = time.LoadLocation("UTC")

Functions

func FromEbayDateTime

func FromEbayDateTime(ebayDT string) (time.Time, error)

FromEbayDateTime converts eBay datetime format to time.Time By default eBay date-time values are recorded in Universal Coordinated Time (UTC)

func FromEbayDuration

func FromEbayDuration(ebayDuration string) time.Duration

FromEbayDuration converts eBay duration to Golang duration eBay format is PnYnMnDTnHnMnS (e.g., P2DT23H32M51S)

func ToEbayDateTime

func ToEbayDateTime(datetime time.Time) string

ToEbayDateTime converts given time to eBay format Given datetime has to be casted to UTC location.

Types

type Address

type Address struct {
	CityName        string `xml:"CityName"`
	CompanyName     string `xml:"CompanyName"`
	CountryName     string `xml:"CountryName"`
	FirstName       string `xml:"FirstName"`
	LastName        string `xml:"LastName"`
	Name            string `xml:"Name"`
	Phone           string `xml:"Phone"`
	PostalCode      string `xml:"PostalCode"`
	StateOrProvince string `xml:"StateOrProvince"`
	Street1         string `xml:"Street1"`
	Street2         string `xml:"Street2"`
}

Address is used to provide details about a Business Seller's address.

type AverageRatingDetail

type AverageRatingDetail struct {
	Rating       float64 `xml:"Rating"`
	RatingCount  int64   `xml:"RatingCount"`
	RatingDetail string  `xml:"RatingDetail"`
}

AverageRatingDetail shows the seller's current rating for the Detailed Seller Rating type (specified in the RatingDetail field), as well as the total count that this seller has been rated for this particular Detailed Seller Rating type.

type BasicUser

type BasicUser struct {
	FeedbackPrivate    bool   `xml:"FeedbackPrivate"`
	FeedbackRatingStar string `xml:"FeedbackRatingStar"`
	FeedbackScore      int    `xml:"FeedbackScore"`
	UserID             string `xml:"UserID"`
}

BasicUser is used to express the details for one eBay user.

type BusinessSellerDetails

type BusinessSellerDetails struct {
	AdditionalContactInformation string     `xml:"AdditionalContactInformation"`
	Address                      Address    `xml:"Address"`
	Email                        string     `xml:"Email"`
	Fax                          string     `xml:"Fax"`
	LegalInvoice                 bool       `xml:"LegalInvoice"`
	TermsAndConditions           string     `xml:"TermsAndConditions"`
	TradeRegistrationNumber      string     `xml:"TradeRegistrationNumber"`
	VATDetails                   VATDetails `xml:"VATDetails"`
}

BusinessSellerDetails is returned if the seller of the item is registered on the eBay listing site as a Business Seller. This container consists of information related to the Business Seller's account. Not all eBay sites support Business Sellers.

type Category

type Category struct {
	CategoryID       string `xml:"CategoryID"`
	CategoryIDPath   string `xml:"CategoryIDPath"`
	CategoryLevel    int    `xml:"CategoryLevel"`
	CategoryName     string `xml:"CategoryName"`
	CategoryNamePath string `xml:"CategoryNamePath"`
	CategoryParentID string `xml:"CategoryParentID"`
	LeafCategory     bool   `xml:"LeafCategory"`
}

Category consists of high-level details of a category, including its category ID value, full category path (by name and by category ID), its level in the eBay site's category hierarchy, category ID of its parent category, and a boolean value to indicate if it is a listing (leaf) category.

type Charity

type Charity struct {
	CharityID       string  `xml:"CharityID"`
	CharityName     string  `xml:"CharityName"`
	CharityNumber   int     `xml:"CharityNumber"`
	DonationPercent float64 `xml:"DonationPercent"`
	LogoURL         string  `xml:"LogoURL"`
	Mission         string  `xml:"Mission"`
	Status          string  `xml:"Status"`
}

Charity is returned if any percentage of the sales proceeds is going to a nonprofit organization that is registered with eBay for Charity. This container consists of details related to the nonprofit charity organization, including the name, mission, and unique identifier of the charity, as well as the percentage rate of the sale proceeds that will go to the charity for each sale.

type Compatibility

type Compatibility struct {
	CompatibilityNotes string `xml:"CompatibilityNotes"`
	NameValueLists     []NameValueList
}

Compatibility is returned for each motor vehicle that is compatible with the motor vehicle part or accessory.

type DiscountPriceInfo

type DiscountPriceInfo struct {
	MinimumAdvertisedPrice         Price  `xml:"MinimumAdvertisedPrice"`
	MinimumAdvertisedPriceExposure string `xml:"MinimumAdvertisedPriceExposure"`
	OriginalRetailPrice            Price  `xml:"OriginalRetailPrice"`
	PricingTreatment               string `xml:"PricingTreatment"`
	SoldOffeBay                    bool   `xml:"SoldOffeBay"`
	SoldOneBay                     bool   `xml:"SoldOneBay"`
}

DiscountPriceInfo provides information for an item that has a Strikethrough Price (STP) or a Minimum Advertised Price (MAP) discount pricing treatment. STP and MAP apply only to fixed-price listings. STP is available on the US, eBay Motors, UK, Germany, Canada (English and French), France, Italy, and Spain sites, while MAP is available only on the US site.

type EbayEndpoint

type EbayEndpoint string

type EbayOperation

type EbayOperation string
const (
	OperationFindProducts     EbayOperation = "FindProducts"
	OperationGetCategoryInfo  EbayOperation = "GetCategoryInfo"
	OperationGeteBayTime      EbayOperation = "GeteBayTime"
	OperationGetItemStatus    EbayOperation = "GetItemStatus"
	OperationGetMultipleItems EbayOperation = "GetMultipleItems"
	OperationGetShippingCosts EbayOperation = "GetShippingCosts"
	OperationGetSingleItem    EbayOperation = "GetSingleItem"
	OperationGetUserProfile   EbayOperation = "GetUserProfile"
)

type Error

type Error struct {
	// ErrorClassification. Look here
	// https://developer.ebay.com/Devzone/shopping/docs/CallRef/types/ErrorClassificationCodeType.html
	ErrorClassification string           `xml:"ErrorClassification"`
	ErrorCode           string           `xml:"ErrorCode"`
	ErrorParameters     []ErrorParameter `xml:"ErrorParameters"`
	LongMessage         string           `xml:"LongMessage"`
	// SeverityCode. Look here https://developer.ebay.com/Devzone/shopping/docs/CallRef/types/SeverityCodeType.html
	SeverityCode string `xml:"SeverityCode"`
	ShortMessage string `xml:"ShortMessage"`
}

Error is request errors (as opposed to system errors) that occur due to problems with business-level data (e.g., an invalid combination of arguments) that the application passed in.

type ErrorParameter

type ErrorParameter struct {
	ParamID string `xml:"ParamID,attr"`
	Value   string `xml:"Value"`
}

ErrorParameter is used by the ErrorParameters container if one or more errors or warnings occur with the call, and if a specific request parameter has been pinpointed as the reason why the error or warning was triggered.

type FeedbackDetail

type FeedbackDetail struct {
	CommentingUser      string  `xml:"CommentingUser"`
	CommentingUserScore int     `xml:"CommentingUserScore"`
	CommentText         string  `xml:"CommentText"`
	CommentTime         string  `xml:"CommentTime"`
	CommentType         string  `xml:"CommentType"`
	FeedbackID          string  `xml:"FeedbackID"`
	FeedbackRatingStar  string  `xml:"FeedbackRatingStar"`
	FeedbackResponse    string  `xml:"FeedbackResponse"`
	FollowUp            string  `xml:"FollowUp"`
	ItemID              string  `xml:"ItemID"`
	ItemPrice           float64 `xml:"ItemPrice"`
	ItemTitle           string  `xml:"ItemTitle"`
	Role                string  `xml:"Role"`
	TransactionID       string  `xml:"TransactionID"`
	CommentReplaced     bool    `xml:"CommentReplaced"`
	Countable           bool    `xml:"Countable"`
	FollowUpReplaced    bool    `xml:"FollowUpReplaced"`
	ResponseReplaced    bool    `xml:"ResponseReplaced"`
}

FeedbackDetail consists of detailed information about one Feedback entry for the specified eBay user.

type FeedbackHistory

type FeedbackHistory struct {
	AverageRatingDetails                  []AverageRatingDetail `xml:"AverageRatingDetails"`
	BidRetractionFeedbackPeriods          []FeedbackPeriod      `xml:"BidRetractionFeedbackPeriods"`
	NegativeFeedbackPeriods               []FeedbackPeriod      `xml:"NegativeFeedbackPeriods"`
	NeutralCommentCountFromSuspendedUsers int64                 `xml:"NeutralCommentCountFromSuspendedUsers"`
	NeutralFeedbackPeriods                []FeedbackPeriod      `xml:"NeutralFeedbackPeriods"`
	PositiveFeedbackPeriods               []FeedbackPeriod      `xml:"PositiveFeedbackPeriods"`
	TotalFeedbackPeriods                  []FeedbackPeriod      `xml:"TotalFeedbackPeriods"`
	UniqueNegativeFeedbackCount           int64                 `xml:"UniqueNegativeFeedbackCount"`
	UniqueNeutralFeedbackCount            int64                 `xml:"UniqueNeutralFeedbackCount"`
	UniquePositiveFeedbackCount           int64                 `xml:"UniquePositiveFeedbackCount"`
}

FeedbackHistory consists of numerous statistical data about the specified eBay user's Feedback history, including counts of Positive, Neutral, and Negative Feedback entries for predefined time periods (last week, last month, last 6 months, and last year). For the FeedbackHistory container to be returned, the user must include the IncludeSelector field in the request and set its value to FeedbackHistory.

type FeedbackPeriod

type FeedbackPeriod struct {
	Count        int64 `xml:"Count"`
	PeriodInDays int   `xml:"PeriodInDays"`
}

FeedbackPeriod shows the cumulative number of all Feedback entries (shown in Count field) for the specified time period (shown in PeriodInDays field).

type FindProductsRequest

type FindProductsRequest struct {
	XMLName xml.Name `xml:"urn:ebay:apis:eBLBaseComponents FindProductsRequest"`
	RequestBasic
	RequestStandard
	CategoryID string `xml:"CategoryID,omitempty"`
	//DomainNames []string `xml:"DomainName"` 					// is not recommended for use
	//IncludeSelector string `xml:"IncludeSelector,omitempty"` 	// deprecated
	MaxEntries    int        `xml:"MaxEntries,omitempty"`
	PageNumber    int        `xml:"PageNumber,omitempty"`
	ProductID     *ProductID `xml:"ProductID,omitempty"`
	ProductSort   string     `xml:"ProductSort,omitempty"`
	QueryKeywords string     `xml:"QueryKeywords,omitempty"`
	SortOrder     string     `xml:"SortOrder,omitempty"`
}

FindProductsRequest represents eBay FindProducts call request

See more: https://developer.ebay.com/Devzone/shopping/docs/CallRef/FindProducts.html#Input

func (*FindProductsRequest) Execute

Execute executes FindProductsRequest for the first page

func (*FindProductsRequest) GetBody

func (r *FindProductsRequest) GetBody() ([]byte, error)

GetBody return FindProductsRequest body as XML

func (*FindProductsRequest) GetPage

func (r *FindProductsRequest) GetPage(page int) (FindProductsResponse, error)

GetPage executes FindProductsRequest for page # Valid pages # 1 - 10000+

func (*FindProductsRequest) WithCategoryID

func (r *FindProductsRequest) WithCategoryID(categoryID string) *FindProductsRequest

WithCategoryID adds categoryID to FindProductsRequest

This field is included to restrict the catalog products that are returned. Only the catalog products associated with this category ID are returned. This field is generally used with the QueryKeywords field.

func (*FindProductsRequest) WithMaxEntries

func (r *FindProductsRequest) WithMaxEntries(limit int) *FindProductsRequest

WithMaxEntries changes MaxEntries in FindProductsRequest This field is used to limit/control the maximum number of catalog products that are returned per page of data in a single call. This is generally used with string query searches using the QueryKeywords field.

If this field is not used, its value defaults to '1', and only one catalog product is returned. The user may want to look at the TotalProducts field's value to see how many eBay catalog products matched the search criteria, and then the user may want to do another call, possibly refining/narrowing the search with a more precise query string in the QueryKeywords field, or perhaps with one or more DomainName filters.

If the MoreResults field is returned as true, this indicates that more than one page of results are available based on the current search criteria, so the user will have to make additional calls to view additional pages of results, changing the PageNumber value as needed. Min: 1. Max: total number varies based on search criteria, but can be as high as 800+. Default: 1.

func (*FindProductsRequest) WithPageNumber

func (r *FindProductsRequest) WithPageNumber(limit int) *FindProductsRequest

WithPageNumber changes PageNumber in FindProductsRequest This field is used to control the page number of results to retrieve in the call. If this field is omitted, the first page of results is returned by default. You know that you have additional pages or results if the MoreResults field is returned as true.

This field takes a positive integer value equal to or lower than the number of pages available. The total number of pages in the results set is shown in the ApproximatePages field of the response. Min: 1. Max: total number varies based on search criteria, but can be as high as 10,000+. Default: 1.

func (*FindProductsRequest) WithProductID

func (r *FindProductsRequest) WithProductID(productIDCodeType ProductIDCodeTypeOption, productID string) *FindProductsRequest

WithProductID adds ProductID to request

Use this field to find a catalog product (or products) associated with an eBay Product ID (ePID) or a Global Trade StatusItem Number (GTIN), such as a UPC, ISBN, or EAN. The product identifier is expressed as a string value, and the type of product identifier is expressed in the type attribute.

func (*FindProductsRequest) WithProductSort

func (r *FindProductsRequest) WithProductSort(sortBy ProductSortOption) *FindProductsRequest

WithProductSort adds ProductSort to request

This field allows the user to control the order in which the retrieved catalog products are displayed in the response. If this field is not included, the results are sorted by the catalog product's popularity.

See the ProductSortCodeType definition to view the available sort values.

This field can be used in conjunction with the SortOrder field. The SortOrder field controls whether catalog products are returned in ascending or descending order (according to the ProductSort value). If neither ProductSort nor SortOrder fields are used, catalog products are sorted by popularity in descending order. Default: Popularity.

func (*FindProductsRequest) WithQueryKeywords

func (r *FindProductsRequest) WithQueryKeywords(query string) *FindProductsRequest

WithQueryKeywords is used to defined a query string using one or more keywords. When you use a keyword search, eBay searches the product catalog for matching words in the product title, description, and/or StatusItem Specifics, and it returns a list of matching catalog products.

The query string must contain at least three alphanumeric characters. The words "and" and "or" are treated like any other word. Only use "and", "or", or "the" if you are searching for products containing these words. To use AND or OR logic, use eBay's standard search string modifiers. Wildcards (+, -, or *) are also supported. Be careful when using spaces before or after modifiers and wildcards. Some keyword queries can result in response times of 30 seconds or longer. If too many results are returned, you may want to refine the search by passing in more keywords and/or by using one or more DomainName filters. Using a CategoryID value is also an option, as this will return only catalog products associated with that eBay category.

If you know your product's UPC, EAN, or ISBN, you may want to use the ProductID field instead of the QueryKeywords field. Max length: 350.

func (*FindProductsRequest) WithSortOrder

func (r *FindProductsRequest) WithSortOrder(sortBy SortOrderOption) *FindProductsRequest

WithSortOrder adds SortOrder to request

This field is used to control whether catalog products are returned in ascending or descending order (according to the ProductSort value). If neither ProductSort nor SortOrder fields are used, catalog products are sorted by popularity in descending order. Default: Descending.

type FindProductsResponse

type FindProductsResponse struct {
	ApproximatePages int `xml:"ApproximatePages"`
	//DomainHistogram DomainHistogram `xml:"DomainHistogram"`
	MoreResults   bool      `xml:"MoreResults"`
	PageNumber    int       `xml:"PageNumber"`
	TotalProducts int       `xml:"TotalProducts"`
	Products      []Product `xml:"Product"`
	// contains filtered or unexported fields
}

FindProductsResponse is response for FindProductsRequest

type GetCategoryInfoRequest

type GetCategoryInfoRequest struct {
	XMLName xml.Name `xml:"urn:ebay:apis:eBLBaseComponents GetCategoryInfoRequest"`
	RequestBasic
	RequestStandard
	CategoryID         string              `xml:"CategoryID,omitempty"`
	IncludeSelectorMap map[string]struct{} `xml:"-"`
	IncludeSelector    string              `xml:"IncludeSelector,omitempty"`
}

GetCategoryInfoRequest is used to retrieve high-level data for a specified eBay category, including category Name, Category ID value, and full category path (category names and category IDs)

See more: https://developer.ebay.com/Devzone/shopping/docs/CallRef/GetCategoryInfo.html#Input

func (*GetCategoryInfoRequest) Execute

Execute executes GetCategoryInfoRequest

func (*GetCategoryInfoRequest) GetBody

func (r *GetCategoryInfoRequest) GetBody() ([]byte, error)

GetBody return GetCategoryInfoRequest body as XML

func (*GetCategoryInfoRequest) WithCategoryID

func (r *GetCategoryInfoRequest) WithCategoryID(categoryID string) *GetCategoryInfoRequest

WithCategoryID adds categoryID to GetCategoryInfoRequest

In this required field, the user specifies the unique identifier of an eBay category. Detailed information is returned for this category.

If a user wanted to see all Level 1 (L1) categories for an eBay site, a value of -1 is passed into this field, and the user also includes the IncludeSelector field and sets its value to ChildCategories.

func (*GetCategoryInfoRequest) WithIncludeSelector

func (r *GetCategoryInfoRequest) WithIncludeSelector(selectors ...IncludeSelectorGCIOption) *GetCategoryInfoRequest

WithIncludeSelector adds IncludeSelector to GetCategoryInfoRequest

This field is included and its value is set to ChildCategories if the user wishes to retrieve all of the specified category's children categories (one category level down in eBay categorical hierarchy). If the specified category is a leaf category (and has no children), this filter has no effect on the output.

type GetCategoryInfoResponse

type GetCategoryInfoResponse struct {
	CategoryArray   []Category `xml:"CategoryArray"`
	CategoryCount   int        `xml:"CategoryCount"`
	CategoryVersion string     `xml:"CategoryVersion"`
	UpdateTime      string     `xml:"UpdateTime"`
	// contains filtered or unexported fields
}

GetCategoryInfoResponse represents response for GetCategoryInfoRequest

type GetItemStatusRequest

type GetItemStatusRequest struct {
	XMLName xml.Name `xml:"urn:ebay:apis:eBLBaseComponents GetItemStatusRequest"`
	RequestBasic
	ItemIDMap map[string]struct{} `xml:"-"`
	ItemIDs   []string            `xml:"ItemID,omitempty"`
}

GetItemStatusRequest can be used by sellers and buyers who want to know the current status of any eBay listing. All retrieved listings will show listing status, fixed price (or highest bid price for auctions), and scheduled end time of listing.

func (*GetItemStatusRequest) Execute

Execute executes GetItemStatusRequest

func (*GetItemStatusRequest) GetBody

func (r *GetItemStatusRequest) GetBody() ([]byte, error)

GetBody return GetItemStatusRequest body as XML

func (*GetItemStatusRequest) WithItemID

func (r *GetItemStatusRequest) WithItemID(itemIDs ...string) *GetItemStatusRequest

WithItemID adds items IDs to request The unique identifier of the eBay listing to retrieve. You can retrieve the status of up to 20 listings per call, and a separate ItemID field is required for each listing.

type GetItemStatusResponse

type GetItemStatusResponse struct {
	Items []StatusItem `xml:"StatusItem"`
	// contains filtered or unexported fields
}

GetItemStatusResponse is a response for GetItemStatusRequest

type GetMultipleItemsRequest

type GetMultipleItemsRequest struct {
	XMLName xml.Name `xml:"urn:ebay:apis:eBLBaseComponents GetMultipleItemsRequest"`
	RequestBasic
	IncludeSelectorMap map[string]struct{} `xml:"-"`
	IncludeSelector    string              `xml:"IncludeSelector,omitempty"`
	ItemIDs            []string            `xml:"ItemID,omitempty"`
}

GetMultipleItemsRequest retrieve much of the information that is visible on a listing's View StatusItem page on the eBay site, such as title and prices.

func (*GetMultipleItemsRequest) Execute

Execute executes GetMultipleItemsRequest

func (*GetMultipleItemsRequest) GetBody

func (r *GetMultipleItemsRequest) GetBody() ([]byte, error)

GetBody return GetMultipleItemsRequest body as XML

func (*GetMultipleItemsRequest) WithIncludeSelector

func (r *GetMultipleItemsRequest) WithIncludeSelector(selectors ...IncludeSelectorGMIOption) *GetMultipleItemsRequest

WithIncludeSelector adds selector options to request

func (*GetMultipleItemsRequest) WithItemID

func (r *GetMultipleItemsRequest) WithItemID(itemIDs ...string) *GetMultipleItemsRequest

WithItemID adds items IDs to request The uniqe ID that identifies the listing for which to retrieve the data. You can provide a maximum of 20 ItemID values. Max length: 19 (Note: The eBay database specifies 38. Currently, StatusItem IDs are usually 9 to 12 digits).

func (*GetMultipleItemsRequest) WithItemIDs added in v0.4.0

func (r *GetMultipleItemsRequest) WithItemIDs(itemIDs ...string) *GetMultipleItemsRequest

WithItemIDs replaces items IDs in request The uniqe ID that identifies the listing for which to retrieve the data. You can provide a maximum of 20 ItemID values. Max length: 19 (Note: The eBay database specifies 38. Currently, StatusItem IDs are usually 9 to 12 digits).

type GetMultipleItemsResponse

type GetMultipleItemsResponse struct {
	Items []Item `xml:"Item"`
	// contains filtered or unexported fields
}

GetMultipleItemsResponse is a response for GetMultipleItemsRequest

type GetShippingCostsRequest

type GetShippingCostsRequest struct {
	XMLName xml.Name `xml:"urn:ebay:apis:eBLBaseComponents GetShippingCostsRequest"`
	RequestBasic
	// DestinationCountryCode from https://developer.ebay.com/Devzone/shopping/docs/CallRef/types/CountryCodeType.html
	DestinationCountryCode string `xml:"DestinationCountryCode,omitempty"`
	DestinationPostalCode  string `xml:"DestinationPostalCode,omitempty"`
	IncludeDetails         bool   `xml:"IncludeDetails,omitempty"`
	ItemID                 string `xml:"ItemID"`
	QuantitySold           int    `xml:"QuantitySold,omitempty"`
}

GetShippingCostsRequest is used to retrieve the estimated shipping cost to ship an active item to a specified destination country and postal code. Any user can make this call on an active listing (does not have to be the seller or buyer/bidder). It pertains to all shipping types, including flat-rate and calculated.

func (*GetShippingCostsRequest) Execute

Execute executes GetShippingCostsRequest

func (*GetShippingCostsRequest) GetBody

func (r *GetShippingCostsRequest) GetBody() ([]byte, error)

GetBody return GetShippingCostsRequest body as XML

func (*GetShippingCostsRequest) WithDestinationCountryCode

func (r *GetShippingCostsRequest) WithDestinationCountryCode(code string) *GetShippingCostsRequest

WithDestinationCountryCode adds code from Destination country code. If DestinationCountryCode is US, postal code is required and represents US zip code. https://developer.ebay.com/Devzone/shopping/docs/CallRef/types/CountryCodeType.html

func (*GetShippingCostsRequest) WithDestinationPostalCode

func (r *GetShippingCostsRequest) WithDestinationPostalCode(code string) *GetShippingCostsRequest

WithDestinationPostalCode adds postal code Destination country postal code (or zip code, for US). Ignored if no country code is provided.

func (*GetShippingCostsRequest) WithIncludeDetails

func (r *GetShippingCostsRequest) WithIncludeDetails(includeDetails bool) *GetShippingCostsRequest

WithIncludeDetails allows the user to return the ShippingDetails in the response.

func (*GetShippingCostsRequest) WithItemID

WithItemID adds itemID to request The item ID that uniquely identifies the listing for which to retrieve the data. Max length: 19 (Note: The eBay database specifies 38. Currently, StatusItem IDs are usually 9 to 12 digits).

func (*GetShippingCostsRequest) WithQuantitySold

func (r *GetShippingCostsRequest) WithQuantitySold(sold int) *GetShippingCostsRequest

WithQuantitySold adds QuantitySold to request Quantity of items sold to a single buyer and to be shipped together.

type GetShippingCostsResponse

type GetShippingCostsResponse struct {
	PickUpInStoreDetails PickUpInStoreDetails `xml:"PickUpInStoreDetails"`
	ShippingCostSummary  ShippingCostSummary  `xml:"ShippingCostSummary"`
	ShippingDetails      ShippingDetails      `xml:"ShippingDetails"`
	// contains filtered or unexported fields
}

GetShippingCostsResponse is a response for GetShippingCostsRequest

type GetSingleItemRequest

type GetSingleItemRequest struct {
	XMLName xml.Name `xml:"urn:ebay:apis:eBLBaseComponents GetSingleItemRequest"`
	RequestBasic
	IncludeSelector    string              `xml:"IncludeSelector,omitempty"`
	IncludeSelectorMap map[string]struct{} `xml:"-"`
	ItemID             string              `xml:"ItemID"`
	VariationSKU       string              `xml:"VariationSKU,omitempty"`
	VariationSpecifics *VariationSpecifics `xml:"VariationSpecifics,omitempty"`
}

GetSingleItemRequest retrieves publicly visible details about one listing on eBay. This gives you most of the data that eBay shows to the general public on the View StatusItem page (title, description, basic price information, and other details).

func (*GetSingleItemRequest) Execute

Execute executes GetSingleItemRequest

func (*GetSingleItemRequest) GetBody

func (r *GetSingleItemRequest) GetBody() ([]byte, error)

GetBody return GetSingleItemRequest body as XML

func (*GetSingleItemRequest) WithIncludeSelector

func (r *GetSingleItemRequest) WithIncludeSelector(selectors ...IncludeSelectorGSIOption) *GetSingleItemRequest

WithIncludeSelector adds selector options to request

func (*GetSingleItemRequest) WithItemID

func (r *GetSingleItemRequest) WithItemID(itemID string) *GetSingleItemRequest

WithItemID adds itemID to request The item ID that uniquely identifies the listing for which to retrieve the data. Max length: 19 (Note: The eBay database specifies 38. Currently, StatusItem IDs are usually 9 to 12 digits).

func (*GetSingleItemRequest) WithVariationSKU

func (r *GetSingleItemRequest) WithVariationSKU(variationSKU string) *GetSingleItemRequest

WithVariationSKU adds VariationSKU to request Variation-level SKU that uniquely identifies a variation within the listing identified by ItemID. Only applicable when the seller included variation-level SKU (Variation.SKU) values. Retrieves all the usual listing fields, but limits the variations content to the specified variation. If not specified, the response includes all variations.

func (*GetSingleItemRequest) WithVariationSpecifics

func (r *GetSingleItemRequest) WithVariationSpecifics(name string, values ...string) *GetSingleItemRequest

WithVariationSpecifics adds additional StatusItem Specific name-value pairs

type GetSingleItemResponse

type GetSingleItemResponse struct {
	Item ItemExtended `xml:"Item"`
	// contains filtered or unexported fields
}

GetSingleItemResponse is a response for GetSingleItemRequest

type GetUserProfileRequest

type GetUserProfileRequest struct {
	XMLName xml.Name `xml:"urn:ebay:apis:eBLBaseComponents GetUserProfileRequest"`
	RequestBasic
	IncludeSelector    string              `xml:"IncludeSelector,omitempty"`
	IncludeSelectorMap map[string]struct{} `xml:"-"`
	UserID             string              `xml:"UserID"`
}

GetUserProfileRequest ...

func (*GetUserProfileRequest) Execute

Execute executes GetUserProfileRequest

func (*GetUserProfileRequest) GetBody

func (r *GetUserProfileRequest) GetBody() ([]byte, error)

GetBody return GetUserProfileRequest body as XML

func (*GetUserProfileRequest) WithIncludeSelector

func (r *GetUserProfileRequest) WithIncludeSelector(selectors ...IncludeSelectorGUPOption) *GetUserProfileRequest

WithIncludeSelector adds selector options to request

func (*GetUserProfileRequest) WithUserID

func (r *GetUserProfileRequest) WithUserID(userID string) *GetUserProfileRequest

WithUserID adds userID to request An eBay user ID is input into this field to retrieve information about that eBay user.

type GetUserProfileResponse

type GetUserProfileResponse struct {
	FeedbackDetails []FeedbackDetail `xml:"FeedbackDetails"`
	FeedbackHistory FeedbackHistory  `xml:"FeedbackHistory"`
	User            UserProfile      `xml:"User"`
	// contains filtered or unexported fields
}

GetUserProfileResponse is a response of GetUserProfileRequest

type GeteBayTimeRequest

type GeteBayTimeRequest struct {
	XMLName xml.Name `xml:"urn:ebay:apis:eBLBaseComponents GeteBayTimeRequest"`
	RequestBasic
}

func (*GeteBayTimeRequest) Execute

Execute executes GeteBayTimeRequest

func (*GeteBayTimeRequest) GetBody

func (r *GeteBayTimeRequest) GetBody() ([]byte, error)

GetBody return GeteBayTimeRequest body as XML

type GeteBayTimeResponse

type GeteBayTimeResponse struct {
	// contains filtered or unexported fields
}

GeteBayTimeResponse is a response for GeteBayTimeRequest

type IncludeSelectorGCIOption

type IncludeSelectorGCIOption string
const (
	IncludeSelectorChildCategories IncludeSelectorGCIOption = "ChildCategories"
)

type IncludeSelectorGMIOption

type IncludeSelectorGMIOption string
const (
	IncludeSelectorMIDetails         IncludeSelectorGMIOption = "Details"
	IncludeSelectorMIDescription     IncludeSelectorGMIOption = "Description"
	IncludeSelectorMITextDescription IncludeSelectorGMIOption = "TextDescription"
	IncludeSelectorMIItemSpecifics   IncludeSelectorGMIOption = "ItemSpecifics"
	IncludeSelectorMIVariations      IncludeSelectorGMIOption = "Variations"
)

type IncludeSelectorGSIOption

type IncludeSelectorGSIOption string
const (
	IncludeSelectorSIDetails           IncludeSelectorGSIOption = "Details"
	IncludeSelectorSIDescription       IncludeSelectorGSIOption = "Description"
	IncludeSelectorSITextDescription   IncludeSelectorGSIOption = "TextDescription"
	IncludeSelectorSITextShippingCosts IncludeSelectorGSIOption = "ShippingCosts"
	IncludeSelectorSITextItemSpecifics IncludeSelectorGSIOption = "ItemSpecifics"
	IncludeSelectorSITextVariations    IncludeSelectorGSIOption = "Variations"
	IncludeSelectorSITextCompatibility IncludeSelectorGSIOption = "Compatibility"
)

type IncludeSelectorGUPOption

type IncludeSelectorGUPOption string
const (
	IncludeSelectorUPDetails         IncludeSelectorGUPOption = "Details"
	IncludeSelectorUPFeedbackDetails IncludeSelectorGUPOption = "FeedbackDetails"
	IncludeSelectorUPFeedbackHistory IncludeSelectorGUPOption = "FeedbackHistory"
)

type IntShipServiceOption

type IntShipServiceOption struct {
	EstimatedDeliveryMaxTime      string   `xml:"EstimatedDeliveryMaxTime"`
	EstimatedDeliveryMinTime      string   `xml:"EstimatedDeliveryMinTime"`
	ImportCharge                  Price    `xml:"ImportCharge"`
	ShippingServiceAdditionalCost Price    `xml:"ShippingServiceAdditionalCost"`
	ShippingServiceCost           Price    `xml:"ShippingServiceCost"`
	ShippingServiceCutOffTime     string   `xml:"ShippingServiceCutOffTime"`
	ShippingServiceName           string   `xml:"ShippingServiceName"`
	ShippingServicePriority       int      `xml:"ShippingServicePriority"`
	ShipsTo                       []string `xml:"ShipsTo"`
}

IntShipServiceOption consists of detailed information for an international shipping service option that is available to an international buyer located at the shipping destination specified in the call request.

type Item

type Item struct {
	AutoPay                             bool                    `xml:"AutoPay"`
	AvailableForPickupDropOff           bool                    `xml:"AvailableForPickupDropOff"`
	BestOfferEnabled                    bool                    `xml:"BestOfferEnabled"`
	BuyItNowAvailable                   bool                    `xml:"BuyItNowAvailable"`
	EligibleForPickupDropOff            bool                    `xml:"EligibleForPickupDropOff"`
	GlobalShipping                      bool                    `xml:"GlobalShipping"`
	IgnoreQuantity                      bool                    `xml:"IgnoreQuantity"`
	IntegratedMerchantCreditCardEnabled bool                    `xml:"IntegratedMerchantCreditCardEnabled"`
	BidCount                            int                     `xml:"BidCount"`
	BusinessSellerDetails               BusinessSellerDetails   `xml:"BusinessSellerDetails"`
	BuyItNowPrice                       Price                   `xml:"BuyItNowPrice"`
	Charity                             Charity                 `xml:"Charity"`
	ConditionDescription                string                  `xml:"ConditionDescription"`
	ConditionDisplayName                string                  `xml:"ConditionDisplayName"`
	ConditionID                         int                     `xml:"ConditionID"`
	ConvertedBuyItNowPrice              Price                   `xml:"ConvertedBuyItNowPrice"`
	ConvertedCurrentPrice               Price                   `xml:"ConvertedCurrentPrice"`
	Country                             string                  `xml:"Country"`
	CurrentPrice                        Price                   `xml:"CurrentPrice"`
	Description                         string                  `xml:"Description"`
	DiscountPriceInfo                   DiscountPriceInfo       `xml:"DiscountPriceInfo"`
	EndTime                             string                  `xml:"EndTime"`
	ExcludeShipToLocations              []string                `xml:"ExcludeShipToLocation"`
	GalleryURL                          string                  `xml:"GalleryURL"`
	HandlingTime                        int                     `xml:"HandlingTime"`
	HighBidder                          User                    `xml:"HighBidder"`
	HitCount                            int64                   `xml:"HitCount"`
	ItemID                              string                  `xml:"ItemID"`
	ItemSpecifics                       []NameValueList         `xml:"ItemSpecifics>NameValueList"`
	ListingStatus                       string                  `xml:"ListingStatus"`
	ListingType                         string                  `xml:"ListingType"`
	Location                            string                  `xml:"Location"`
	LotSize                             int                     `xml:"LotSize"`
	MinimumToBid                        Price                   `xml:"MinimumToBid"`
	PaymentAllowedSites                 []string                `xml:"PaymentAllowedSite"`
	PaymentMethods                      []string                `xml:"PaymentMethods"`
	PictureURLs                         []string                `xml:"PictureURL"`
	PostalCode                          string                  `xml:"PostalCode"`
	PrimaryCategoryID                   string                  `xml:"PrimaryCategoryID"`
	PrimaryCategoryIDPath               string                  `xml:"PrimaryCategoryIDPath"`
	PrimaryCategoryName                 string                  `xml:"PrimaryCategoryName"`
	ProductID                           string                  `xml:"ProductID"`
	Quantity                            int                     `xml:"Quantity"`
	QuantityAvailableHint               string                  `xml:"QuantityAvailableHint"`
	MinimumRemnantSet                   int                     `xml:"QuantityInfo>MinimumRemnantSet"`
	QuantitySold                        int                     `xml:"QuantitySold"`
	QuantitySoldByPickupInStore         int                     `xml:"QuantitySoldByPickupInStore"`
	QuantityThreshold                   int                     `xml:"QuantityThreshold"`
	ReturnPolicy                        ReturnPolicy            `xml:"ReturnPolicy"`
	SecondaryCategoryID                 string                  `xml:"SecondaryCategoryID"`
	SecondaryCategoryIDPath             string                  `xml:"SecondaryCategoryIDPath"`
	SecondaryCategoryName               string                  `xml:"SecondaryCategoryName"`
	Seller                              Seller                  `xml:"Seller"`
	ShippingCostSummary                 ItemShippingCostSummary `xml:"ShippingCostSummary"`
	ShipToLocations                     []string                `xml:"ShipToLocations"`
	Site                                string                  `xml:"Site"`
	SKU                                 string                  `xml:"SKU"`
	StartTime                           string                  `xml:"StartTime"`
	Storefront                          Storefront              `xml:"Storefront"`
	Subtitle                            string                  `xml:"Subtitle"`
	TimeLeft                            string                  `xml:"TimeLeft"`
	Title                               string                  `xml:"Title"`
	ReserveMet                          bool                    `xml:"ReserveMet"`
	TopRatedListing                     bool                    `xml:"TopRatedListing"`
	UnitInfo                            UnitInfo                `xml:"UnitInfo"`
	Variations                          Variations              `xml:"Variations"`
	VhrAvailable                        string                  `xml:"VhrAvailable"`
	VhrUrl                              string                  `xml:"VhrUrl"`
	ViewItemURLForNaturalSearch         string                  `xml:"ViewItemURLForNaturalSearch"`
}

Item contains details about the listing whose ID was specified in the request.

type ItemExtended

type ItemExtended struct {
	Item
	ItemCompatibilityCount int             `xml:"ItemCompatibilityCount"`
	ItemCompatibilityList  []Compatibility `xml:"ItemCompatibilityList>Compatibility"`
}

ItemExtended contains details about the listing whose ID was specified in the request.

type ItemShippingCostSummary

type ItemShippingCostSummary struct {
	ListedShippingServiceCost float64 `xml:"ListedShippingServiceCost"`
	LocalPickup               bool    `xml:"LocalPickup"`
	ShippingServiceCost       float64 `xml:"ShippingServiceCost"`
	ShippingType              string  `xml:"ShippingType"`
}

ItemShippingCostSummary returns a few details of the lowest-priced shipping service option that is available to the eBay user making the call. For Calculated shipping, the item's location and the destination location are considered when calculating the shipping cost.

type NameValueList

type NameValueList struct {
	Name   string   `xml:"Name"`
	Values []string `xml:"Value"`
}

NameValueList is an array of StatusItem Specifics name-value pairs for an eBay Catalog product (if FindProducts is used) or StatusItem Specifics name-value pairs for a single-variation listing or individual variation within a multiple-variation listing (if GetSingleItem or GetMultipleItems is used).

type NameValueListType

type NameValueListType struct {
	Name   string   `xml:"Name,omitempty"`
	Values []string `xml:"Value,omitempty"`
}

NameValueListType is an array of StatusItem Specifics name-value pairs for an eBay Catalog product (if FindProducts is used) or StatusItem Specifics name-value pairs for a single-variation listing or individual variation within a multiple-variation listing (if GetSingleItem or GetMultipleItems is used).

type PickUpInStoreDetails

type PickUpInStoreDetails struct {
	AvailableForPickupInStore bool `xml:"AvailableForPickupInStore"`
	EligibleForPickupInStore  bool `xml:"EligibleForPickupInStore"`
}

PickUpInStoreDetails is only returned in GetShippingCosts if In-Store Pickup is available for the listing.

type Pictures

type Pictures struct {
	VariationSpecificName        string              `xml:"VariationSpecificName"`
	VariationSpecificPictureSets []VarSpecificPicSet `xml:"VariationSpecificPictureSet"`
}

Pictures contains a set of pictures that correspond to one of the variation specifics, such as 'Color'.

type Price

type Price struct {
	CurrencyID string  `xml:"currencyID,attr"`
	Value      float64 `xml:",cdata"`
}

Price ...

type Product

type Product struct {
	DetailsURL         string          `xml:"DetailsURL"`
	DisplayStockPhotos bool            `xml:"DisplayStockPhotos"`
	DomainName         string          `xml:"DomainName"`
	ItemSpecifics      []NameValueList `xml:"ItemSpecifics>NameValueList"`
	ProductIDs         []ProductID     `xml:"ProductID"`
	ProductState       string          `xml:"ProductState"`
	ReviewCount        int             `xml:"ReviewCount"`
	StockPhotoURL      string          `xml:"StockPhotoURL"`
	Title              string          `xml:"Title"`
}

Product is returned for each eBay catalog product that matches the search criteria. The Product container consists of specific data about the catalog product, including the product title, product identifiers (ePID and any GTIN value(s)), product aspects, a link to eBay product page, and links to stock photos (if any).

type ProductID

type ProductID struct {
	ProductIDCodeType string `xml:"type,attr"`
	ProductIDType     string `xml:",cdata"`
}

ProductID ...

Use this field to find a catalog product (or products) associated with an eBay Product ID (ePID) or a Global Trade StatusItem Number (GTIN), such as a UPC, ISBN, or EAN. The product identifier is expressed as a string value, and the type of product identifier is expressed in the type attribute.

type ProductIDCodeTypeOption

type ProductIDCodeTypeOption string
const (
	// ProductIDCodeTypeEAN indicates the product identifier type is an International Article Number
	// (also known as European Article Number). EAN values are typically 13 digits in length,
	// but some use only eight digits. EAN identify a wide variety of products.
	ProductIDCodeTypeEAN ProductIDCodeTypeOption = "EAN"

	// ProductIDCodeTypeISBN indicates the product identifier type is an International Standard Book
	// Number. ISBN values can be 10 characters (ISBN-10) or 13 characters (ISBN-13) in length,
	// and they identify books.
	ProductIDCodeTypeISBN ProductIDCodeTypeOption = "ISBN"

	// ProductIDCodeTypeMPN indicates the product identifier type is a Manufacturer Part Number.
	// Unlike ISBNs, EANs, and UPCs, an MPN value is not based on an international standard, but
	// is defined by the seller/manufacturer of the product. Technically, there is no maximum length
	// for an MPN, but eBay actually enforces a 65-character limit for MPN values.
	ProductIDCodeTypeMPN ProductIDCodeTypeOption = "MPN"

	// ProductIDCodeTypeReference indicates the product identifier type is an eBay Catalog product ID.
	// EPID is a commonly-used acronymn for an eBay Catalog product ID.
	ProductIDCodeTypeReference ProductIDCodeTypeOption = "Reference"

	// ProductIDCodeTypeUPC indicates the product identifier type is a Universal Product Code.
	// UPC values are 12 digits in length. UPC values identify a wide variety of products,
	// and are typically used in the US and Canada.
	ProductIDCodeTypeUPC ProductIDCodeTypeOption = "UPC"
)

type ProductSortOption

type ProductSortOption string
const (
	ProductSortItemCount   ProductSortOption = "ItemCount"
	ProductSortPopularity  ProductSortOption = "Popularity"
	ProductSortRating      ProductSortOption = "Rating"
	ProductSortReviewCount ProductSortOption = "ReviewCount"
	ProductSortTitle       ProductSortOption = "Title"
)

type RequestBasic

type RequestBasic struct {
	URL    string        `xml:"-"`
	Client *resty.Client `xml:"-"`
}

RequestBasic is used for requests without pages

type RequestStandard

type RequestStandard struct {
	MessageID string `xml:"MessageID,omitempty"`
}

func (*RequestStandard) WithMessageID

func (r *RequestStandard) WithMessageID(message string) *RequestStandard

WithMessageID adds message ID to request

If you pass a value into the MessageID field in a request, the same value is returned in CorrelationID field in the response

type ReturnPolicy

type ReturnPolicy struct {
	Description                     string `xml:"Description"`
	InternationalRefund             string `xml:"InternationalRefund"`
	InternationalReturnsAccepted    string `xml:"InternationalReturnsAccepted"`
	InternationalReturnsWithin      string `xml:"InternationalReturnsWithin"`
	InternationalShippingCostPaidBy string `xml:"InternationalShippingCostPaidBy"`
	Refund                          string `xml:"Refund"`
	ReturnsAccepted                 string `xml:"ReturnsAccepted"`
	ReturnsWithin                   string `xml:"ReturnsWithin"`
	ShippingCostPaidBy              string `xml:"ShippingCostPaidBy"`
}

ReturnPolicy consists of details related to the seller's Return Policy, both for domestic and international buyers (if the seller ships internationally). If the seller does not accept returns, only the ReturnsAccepted field (or InternationalReturnsAccepted field for international buyers) is returned with a value of ReturnsNotAccepted.

type SalesTax

type SalesTax struct {
	SalesTaxAmount        Price   `xml:"SalesTaxAmount"`
	SalesTaxPercent       float64 `xml:"SalesTaxPercent"`
	SalesTaxState         string  `xml:"SalesTaxState"`
	ShippingIncludedInTax bool    `xml:"ShippingIncludedInTax"`
}

SalesTax is used to express sales tax details for the shipping destination.

type Seller

type Seller struct {
	BasicUser
	TopRatedSeller bool `xml:"TopRatedSeller"`
}

Seller ...

type SellingStatus

type SellingStatus struct {
	QuantitySold                int `xml:"QuantitySold"`
	QuantitySoldByPickupInStore int `xml:"QuantitySoldByPickupInStore"`
}

SellingStatus shows the quantity sold for the variation, including the quantity that is sold through 'In-Store Pickup' (a logistics option that is only available to a select number of large US sellers with 'brick and mortar' stores). The SellingStatus container is returned for each item variation, even if the quantity sold value is '0'.

type Service

type Service struct {
	// contains filtered or unexported fields
}

Service represents Ebay Shopping API service

func NewService

func NewService(xIAFToken string) *Service

NewService creates new Ebay Shopping service API version according to EbayShoppingAPIVersion (1199) Default endpoint: EbayEndpointProduction (https://open.api.ebay.com/shopping) Default GlobalID: SiteIDEbayUS (0) Default Page Limit: DefaultItemsPerPage (100) Default timeout for requests: 10 seconds

func (*Service) NewFindProductsRequest

func (s *Service) NewFindProductsRequest() *FindProductsRequest

NewFindProductsRequest creates new FindProductsRequest

func (*Service) NewGetCategoryInfoRequest

func (s *Service) NewGetCategoryInfoRequest() *GetCategoryInfoRequest

NewGetCategoryInfoRequest creates new GetCategoryInfoRequest

func (*Service) NewGetCategoryInfoRequestWithCategory

func (s *Service) NewGetCategoryInfoRequestWithCategory(categoryID string) *GetCategoryInfoRequest

NewGetCategoryInfoRequestWithCategory creates new GetCategoryInfoRequest

func (*Service) NewGetItemStatusRequest

func (s *Service) NewGetItemStatusRequest() *GetItemStatusRequest

NewGetItemStatusRequest creates new GetItemStatusRequest

func (*Service) NewGetMultipleItemsRequest

func (s *Service) NewGetMultipleItemsRequest() *GetMultipleItemsRequest

NewGetMultipleItemsRequest creates new GetMultipleItemsRequest

func (*Service) NewGetShippingCostsRequest

func (s *Service) NewGetShippingCostsRequest() *GetShippingCostsRequest

NewGetShippingCostsRequest creates new GetShippingCostsRequest

func (*Service) NewGetSingleItemRequest

func (s *Service) NewGetSingleItemRequest() *GetSingleItemRequest

NewGetSingleItemRequest creates new GetSingleItemRequest

func (*Service) NewGetUserProfileRequest

func (s *Service) NewGetUserProfileRequest() *GetUserProfileRequest

NewGetUserProfileRequest creates new GetUserProfileRequest

func (*Service) NewGeteBayTimeRequest

func (s *Service) NewGeteBayTimeRequest() *GeteBayTimeRequest

NewGeteBayTimeRequest creates new GeteBayTimeRequest

func (*Service) WithEndpoint

func (s *Service) WithEndpoint(endpoint string) *Service

WithEndpoint changes endpoint for service You can add your own endpoint (for tests purposes)

func (*Service) WithSiteID

func (s *Service) WithSiteID(siteID SiteID) *Service

WithSiteID changes site for search

func (*Service) WithTimeout

func (s *Service) WithTimeout(timeout time.Duration) *Service

WithTimeout changes default timeout for search requests

func (*Service) WithToken

func (s *Service) WithToken(xIAFToken string) *Service

WithToken changes IAFToken for service

type ShippingCostSummary

type ShippingCostSummary struct {
	ImportCharge              Price  `xml:"ImportCharge"`
	InsuranceCost             Price  `xml:"InsuranceCost"`
	InsuranceOption           string `xml:"InsuranceOption"`
	ListedShippingServiceCost Price  `xml:"ListedShippingServiceCost"`
	ShippingServiceCost       Price  `xml:"ShippingServiceCost"`
	ShippingServiceName       string `xml:"ShippingServiceName"`
	ShippingType              string `xml:"ShippingType"`
}

ShippingCostSummary returns a few details of the lowest-priced shipping service option that is available to the shipping destination specified in the call request.

type ShippingDetails

type ShippingDetails struct {
	CODCost                             Price                   `xml:"CODCost"`
	ExcludeShipToLocations              []string                `xml:"ExcludeShipToLocation"`
	InsuranceCost                       Price                   `xml:"InsuranceCost"`
	InsuranceOption                     string                  `xml:"InsuranceOption"`
	InternationalInsuranceCost          Price                   `xml:"InternationalInsuranceCost"`
	InternationalInsuranceOption        string                  `xml:"InternationalInsuranceOption"`
	InternationalShippingServiceOptions []IntShipServiceOption  `xml:"InternationalShippingServiceOption"`
	SalesTax                            SalesTax                `xml:"SalesTax"`
	ShippingRateErrorMessage            string                  `xml:"ShippingRateErrorMessage"`
	ShippingServiceOptions              []ShippingServiceOption `xml:"ShippingServiceOption"`
	TaxTable                            []TaxJurisdiction       `xml:"TaxTable>TaxJurisdiction"`
}

ShippingDetails consists of shipping details related to the specified item and specified shipping destination. This container is only returned if the IncludeDetails field is included and set to true in the call request.

type ShippingServiceOption

type ShippingServiceOption struct {
	EstimatedDeliveryMaxTime      string   `xml:"EstimatedDeliveryMaxTime"`
	EstimatedDeliveryMinTime      string   `xml:"EstimatedDeliveryMinTime"`
	ExpeditedService              bool     `xml:"ExpeditedService"`
	FastAndFree                   bool     `xml:"FastAndFree"`
	LogisticPlanType              string   `xml:"LogisticPlanType"`
	ShippingInsuranceCost         Price    `xml:"ShippingInsuranceCost"`
	ShippingServiceAdditionalCost Price    `xml:"ShippingServiceAdditionalCost"`
	ShippingServiceCost           Price    `xml:"ShippingServiceCost"`
	ShippingServiceCutOffTime     string   `xml:"ShippingServiceCutOffTime"`
	ShippingServiceName           string   `xml:"ShippingServiceName"`
	ShippingServicePriority       int      `xml:"ShippingServicePriority"`
	ShippingSurcharge             Price    `xml:"ShippingSurcharge"`
	ShippingTimeMax               int      `xml:"ShippingTimeMax"`
	ShippingTimeMin               int      `xml:"ShippingTimeMin"`
	ShipsTo                       []string `xml:"ShipsTo"`
}

ShippingServiceOption consists of detailed information for a domestic shipping service option that is available to a buyer located at the shipping destination specified in the call request. A ShippingServiceOption container is returned for each available domestic shipping service option. A seller can specify up to four domestic shipping service options in an eBay listing.

type SiteID

type SiteID string
const (
	SiteIDEbayUS    SiteID = "0"
	SiteIDEbayENCA  SiteID = "2"
	SiteIDEbayGB    SiteID = "3"
	SiteIDEbayAU    SiteID = "15"
	SiteIDEbayAT    SiteID = "16"
	SiteIDEbayFRBE  SiteID = "23"
	SiteIDEbayFR    SiteID = "71"
	SiteIDEbayDE    SiteID = "77"
	SiteIDEbayMOTOR SiteID = "100"
	SiteIDEbayIT    SiteID = "101"
	SiteIDEbayNLBE  SiteID = "123"
	SiteIDEbayNL    SiteID = "146"
	SiteIDEbayES    SiteID = "186"
	SiteIDEbayCH    SiteID = "193"
	SiteIDEbayHK    SiteID = "201"
	SiteIDEbayIN    SiteID = "203"
	SiteIDEbayIE    SiteID = "205"
	SiteIDEbayMY    SiteID = "207"
	SiteIDEbayFRCA  SiteID = "210"
	SiteIDEbayPH    SiteID = "211"
	SiteIDEbaySG    SiteID = "216"
	SiteIDEbayPL    SiteID = "212"
	SiteIDEbayRU    SiteID = "215"
)

type SortOrderOption

type SortOrderOption string
const (
	SortOrderAscending  SortOrderOption = "Ascending"
	SortOrderDescending SortOrderOption = "Descending"
)

type StatusItem

type StatusItem struct {
	BidCount              int       `xml:"BidCount"`
	ConvertedCurrentPrice Price     `xml:"ConvertedCurrentPrice"`
	EndTime               string    `xml:"EndTime"`
	HighBidder            BasicUser `xml:"HighBidder"`
	ItemID                string    `xml:"ItemID"`
	ListingStatus         string    `xml:"ListingStatus"`
	TimeLeft              string    `xml:"TimeLeft"`
	ReserveMet            bool      `xml:"ReserveMet"`
	BuyItNowAvailable     bool      `xml:"BuyItNowAvailable"`
}

StatusItem is returned for each ItemID value that was specified in the call request. One GetItemStatus call can retrieve up to 20 eBay listings.

type Storefront

type Storefront struct {
	StoreName string `xml:"StoreName"`
	StoreURL  string `xml:"StoreURL"`
}

Storefront consists of the eBay seller's store name and the URL to the eBay store. This container is returned if the seller has an eBay Store subscription and the IncludeSelector field is included in the call request and set to Details.

type TaxJurisdiction

type TaxJurisdiction struct {
	JurisdictionID        string  `xml:"JurisdictionID"`
	SalesTaxPercent       float64 `xml:"SalesTaxPercent"`
	ShippingIncludedInTax bool    `xml:"ShippingIncludedInTax"`
}

TaxJurisdiction ...

type TaxTable

type TaxTable struct {
	TaxJurisdictions []TaxJurisdiction `xml:"TaxJurisdiction"`
}

TaxTable consists of an array of TaxJurisdiction containers; one returned for each tax jurisdiction where the seller has defined a sales tax rate (using the Sales Tax Table UI in My eBay). The TaxTable container is returned as an empty element if no sales tax rates have been set up for any jurisdictions.

type UnitInfo

type UnitInfo struct {
	UnitQuantity float64 `xml:"UnitQuantity"`
	UnitType     string  `xml:"UnitType"`
}

UnitInfo contains information about the weight, volume or other quantity measurement of a listed item so buyers can compare per-unit prices. The European Union requires listings for certain types of products to include the price per unit. eBay uses this information and the item's listed price to calculate and display the unit price on eBay EU sites.

type User

type User struct {
	BasicUser
	UserAnonymized bool `xml:"UserAnonymized"`
}

User ...

type UserProfile

type UserProfile struct {
	BasicUser
	AboutMeURL          string `xml:"AboutMeURL"`
	FeedbackDetailsURL  bool   `xml:"FeedbackDetailsURL"`
	MyWorldLargeImage   string `xml:"MyWorldLargeImage"`
	MyWorldSmallImage   string `xml:"MyWorldSmallImage"`
	MyWorldURL          string `xml:"MyWorldURL"`
	NewUser             bool   `xml:"NewUser"`
	RegistrationDate    string `xml:"RegistrationDate"`
	RegistrationSite    string `xml:"RegistrationSite"`
	ReviewsAndGuidesURL string `xml:"ReviewsAndGuidesURL"`
	SellerBusinessType  string `xml:"SellerBusinessType"`
	SellerItemsURL      string `xml:"SellerItemsURL"`
	SellerLevel         string `xml:"SellerLevel"`
	Status              string `xml:"Status"`
	StoreName           string `xml:"StoreName"`
	StoreURL            string `xml:"StoreURL"`
	TopRatedSeller      bool   `xml:"TopRatedSeller"`
}

UserProfile consists of various details about the eBay user, including Feedback rating, Seller Level, link to profile page, and other information. This container is always returned, but more fields will be returned under this container if the user includes the IncludeSelector field in the request and sets its value to Details.

type VATDetails

type VATDetails struct {
	BusinessSeller       bool    `xml:"BusinessSeller"`
	RestrictedToBusiness bool    `xml:"RestrictedToBusiness"`
	VATID                string  `xml:"VATID"`
	VATPercent           float64 `xml:"VATPercent"`
	VATSite              string  `xml:"VATSite"`
}

VATDetails provides Value-Added Tax (VAT) details for the Business Seller, including the seller's VAT ID and the VAT percentage rate applicable to the item. VAT is similar to a sales and/or consumption tax, and it is only applicable to sellers selling on European sites.

type VarSpecificPicSet

type VarSpecificPicSet struct {
	PictureURLs            []string `xml:"PictureURL"`
	VariationSpecificValue string   `xml:"VariationSpecificValue"`
}

VarSpecificPicSet is returned for each product variation for which there are one or more pictures available, helping buyers distinguish between the different variations in the listing.

type Variation

type Variation struct {
	DiscountPriceInfo  DiscountPriceInfo `xml:"DiscountPriceInfo"`
	ProductID          string            `xml:"ProductID"`
	Quantity           int               `xml:"Quantity"`
	SellingStatus      SellingStatus     `xml:"SellingStatus"`
	SKU                string            `xml:"SKU"`
	StartPrice         float64           `xml:"StartPrice"`
	VariationSpecifics []NameValueList   `xml:"VariationSpecifics>NameValueList"`
}

Variation Contains data that distinguishes one variation from another. For example, if the items vary by color and size, each Variation node specifies a combination of one of those colors and sizes. The quantity and price for each variation is also shown in the Variation container

type VariationSpecifics

type VariationSpecifics struct {
	NameValueList []NameValueListType `xml:"NameValueList,omitempty"`
}

type Variations

type Variations struct {
	Pictures              Pictures        `xml:"Pictures"`
	Variations            []Variation     `xml:"Variation"`
	VariationSpecificsSet []NameValueList `xml:"VariationSpecificsSet>NameValueList"`
}

Variations is only returned for multiple-variation listings, and it is required that the user include the IncludeSelector field in the call request, and set its value to Variations.

Jump to

Keyboard shortcuts

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