swagger: "2.0" info: title: "API_Documentation" version: "v2" description: "Search and retrieve product details from the Market America sites" host: "api2.shop.com" basePath: /AffiliatePublisherNetwork/v2 securityDefinitions: # X-API-Key: abcdef12345 APIKeyHeader: type: apiKey in: header name: api_Key # /path?api_key=abcdef12345 APIKeyQueryParam: type: apiKey in: query name: api_key schemes: - https security: - APIKeyHeader: [] paths: /categories: get: summary: search/get product categories description: 'Gets a list of product categories for site and locale, with the name, id, and product count for each category.' operationId: getProductCategoriesPublic produces: - application/json parameters: - name: publisherId description: "Market America UFOs can find their publisherId in their back office. All others can obtain one by registering at affiliate.shop.com. For Try Out purposes, use 'TEST'" in: query required: true type: string - name: locale description: "Get the full list of valid locales from the /sites/{site}/locales endpoint. For Try Out purposes, use 'en_US'" in: query required: true type: string - name: site description: "Get the full list of valid sites from the /sites endpoint. For Try Out purposes, use 'shop'" in: query required: false type: string default: shop - name: shipCountry description: 'US - United States | CA - Canada | GB - United Kingdom | AU - Australia | TW - Taiwan | HK - Hong Kong | SG - Singapore | MY - Malaysia' default: "US" in: query required: false type: string - name: onlyMaProducts description: "Set to 'true' to have the service only return products exclusive to Market America" in: query required: false type: string default: 'false' responses: '200': description: match found '400': description: request error '500': description: server error /products: get: summary: search/get product summaries description: 'Returns all products matching the search paramters provided through the inputs. Also returns information about filtering options to perform a subsequent, more refined search.' operationId: getProductSearchPublic produces: - application/json parameters: - name: publisherId description: "Market America UFOs can find their publisherId in their back office. All others can obtain one by registering at affiliate.shop.com. For Try Out purposes, use 'TEST'" in: query required: true type: string - name: locale description: "Get the full list of valid locales from the /sites/{site}/locales endpoint. For Try Out purposes, use 'en_US'" in: query required: true type: string - name: site description: "Get the full list of valid sites from the /sites endpoint. For Try Out purposes, use 'shop'" in: query required: false type: string default: shop - name: shipCountry description: 'US - United States | CA - Canada | GB - United Kingdom | AU - Australia | TW - Taiwan | HK - Hong Kong | SG - Singapore | MY - Malaysia' default: "US" in: query required: false type: string - name: term description: "term to search for across product names and descriptions" in: query required: false type: string - name: start description: 'perPage count of where to start including in the return' in: query required: false type: integer format: int32 - name: perPage in: query required: false type: integer default: '15' format: int32 - name: brandId description: 'locate these values in the historgrams returned when searching products, then use them for filtering' in: query required: false type: string - name: categoryId description: 'locate these values in the historgrams returned when searching products, then use them for filtering' in: query required: false type: string - name: sellerId description: 'locate these values in the historgrams returned when searching products, then use them for filtering' in: query required: false type: string - name: priceRangeId description: 'use to filter the return set. example [15.01 TO 25.00]. auto distributed range provided in histogram' in: query required: false type: string - name: onlyMaProducts description: "Set to 'true' to have the service only return products exclusive to Market America" in: query required: false type: string default: 'false' # - name: sort # in: query # required: false # type: string # default: relevance responses: '200': description: match found '400': description: request error '500': description: server error '/products/{productId}': get: summary: get product details description: Returns detailed information about the product. operationId: getProductDetailPublic produces: - application/json parameters: - name: publisherId description: "Market America UFOs can find their publisherId in their back office. All others can obtain one by registering at affiliate.shop.com. For Try Out purposes, use 'TEST'" in: query required: true type: string - name: locale description: "Get the full list of valid locales from the /sites/{site}/locales endpoint. For Try Out purposes, use 'en_US'" in: query required: true type: string - name: site description: "Get the full list of valid sites from the /sites endpoint. For Try Out purposes, use 'shop'" in: query required: false type: string default: shop - name: shipCountry description: 'US - United States | CA - Canada | GB - United Kingdom | AU - Australia | TW - Taiwan | HK - Hong Kong | SG - Singapore | MY - Malaysia' default: "US" in: query required: false type: string - name: productId description: "found in return set when searching products" in: path required: true type: string responses: '200': description: match found '400': description: request error '500': description: server error /sites: get: summary: get valid sites description: Returns all sites supported by APN. operationId: getSitesPublic produces: - application/json parameters: [] responses: '200': description: ok '400': description: request error '500': description: server error '/sites/{site}/locales': get: summary: get valid locales for site description: 'Returns all locales supported by APN, for a given site.' operationId: getSitesPublic01 produces: - application/json parameters: - name: site description: "Get the full list of valid sites from the /sites endpoint. For Try Out purposes, use 'shop'" in: path required: true type: string responses: '200': description: ok '400': description: request error '500': description: server error #definitions: # ProductSearchResponse: # type: object # properties: # numberOfProducts: # type: integer # format: int32 # products: # type: array # items: # $ref: '#/definitions/Product' # categories: # type: array # items: # $ref: '#/definitions/Category' # brands: # type: array # items: # $ref: '#/definitions/Brand' # sellers: # type: array # items: # $ref: '#/definitions/Seller' # priceRanges: # type: array # items: # $ref: '#/definitions/PriceRange' # ProductCategoriesResponse: # type: object # properties: # categories: # type: array # items: # $ref: '#/definitions/Category' # ProductDetailResponse: # type: object # properties: # name: # type: string # id: # type: integer # format: int64 # brand: # type: string # shortDescription: # type: string # description: # type: string # catalogName: # type: string # image: # $ref: '#/definitions/Image' # referralPageUrl: # type: string # onSale: # type: boolean # default: false # disclaimer: # type: string # category: # $ref: '#/definitions/Category' # reviewData: # $ref: '#/definitions/ReviewData' # links: # type: array # items: # $ref: '#/definitions/Link' # options: # type: array # items: # $ref: '#/definitions/Option' # Category: # type: object # properties: # id: # type: integer # format: int64 # name: # type: string # ImageSize: # type: object # properties: # height: # type: integer # format: int32 # width: # type: integer # format: int32 # url: # type: string # ReviewData: # type: object # properties: # count: # type: string # rating: # type: number # format: double # Product: # type: object # properties: # name: # type: string # minimumPrice: # type: number # format: double # minimumPriceString: # type: string # maximumPrice: # type: number # format: double # maximumPriceString: # type: string # brand: # type: string # shortDescription: # type: string # image: # $ref: '#/definitions/Image' # id: # type: integer # format: int64 # referralUrl: # type: string # maximumCashback: # type: number # format: double # maximumCashbackString: # type: string # minimumBv: # type: number # format: double # minimumIbv: # type: number # format: double # maximumBv: # type: number # format: double # maximumIbv: # type: number # format: double # minimumCiPoints: # type: number # format: double # maximumCiPoints: # type: number # format: double # links: # type: array # items: # $ref: '#/definitions/Link' # SitesResponse: # type: object # properties: # sites: # type: array # items: # type: string # Image: # type: object # properties: # caption: # type: string # sizes: # type: array # items: # $ref: '#/definitions/ImageSize' # PriceRange: # type: object # properties: # minimumPrice: # type: number # format: double # maximumPrice: # type: number # format: double # minimumPriceString: # type: string # maximumPriceString: # type: string # productCount: # type: integer # format: int32 # id: # type: string # Brand: # type: object # properties: # name: # type: string # productCount: # type: integer # format: int32 # id: # type: string # Option: # type: object # properties: # sku: # type: string # name: # type: string # priceString: # type: string # price: # type: number # format: double # cashbackString: # type: string # cashback: # type: number # format: double # ciPoints: # type: number # format: double # bv: # type: number # format: double # ibv: # type: number # format: double # freeShipping: # type: boolean # default: false # autoShip: # type: boolean # default: false # Seller: # type: object # properties: # name: # type: string # productCount: # type: integer # format: int32 # id: # type: string # Link: # type: object # properties: # rel: # type: string # href: # type: string # type: # type: string # Added by API Auto Mocking Plugin # host: virtserver.swaggerhub.com # basePath: /pdumas/APN_API_v2/v2