openapi: 3.0.0
servers:
  - url: http://api.axesso.de
info:
  contact:
    email: support@axesso.de
  description: Use this api to fetch information to Amazon products and more.
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
  title: Axesso Api
  version: 1.0.0
  x-apisguru-categories:
    - ecommerce
  x-origin:
    - format: openapi
      url: https://raw.githubusercontent.com/Axesso/axesso-java-client/master/swagger/axessor_api_def_swagger.yaml
      version: "3.0"
  x-providerName: axesso.de
externalDocs:
  description: Find out more about Swagger
  url: http://api-doc.axesso.de/
tags:
  - description: APIs for request on Amazon
    externalDocs:
      description: Find out more
      url: http://api.axesso.de/
    name: amz
paths:
  /amz/amazon-lookup-buy-recommendations:
    get:
      description: ""
      operationId: requestBuyRecommendation
      parameters:
        - description: The url of the requested product.
          in: query
          name: url
          required: true
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BuyRecommendationResponse"
          description: successful operation
        "400":
          description: Bad Request - Missing parameter
        "404":
          description: Not Found - Product not Found
        "406":
          description: Not Acceptable - Wrong parameter
      summary: request buy recommendations to a given product
      tags:
        - amz
  /amz/amazon-lookup-product:
    get:
      description: ""
      operationId: requestProduct
      parameters:
        - description: The url of the requested product.
          in: query
          name: url
          required: true
          schema:
            type: string
        - description: Size parameter if available.
          in: query
          name: size
          required: false
          schema:
            type: string
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/ProductDetailsResponse"
          description: successful operation
        "400":
          description: Bad Request - Missing parameter
        "404":
          description: Not Found - Product not Found
        "406":
          description: Not Acceptable - Wrong parameter
      security: []
      summary: lookup product information
      tags:
        - amz
  /amz/amazon-search-by-keyword:
    get:
      description: ""
      operationId: keywordSearch
      parameters:
        - description: keyword to search
          in: query
          name: keyword
          required: true
          schema:
            type: string
        - description: domain for the search
          in: query
          name: domainCode
          required: true
          schema:
            type: string
        - description: sort option
          in: query
          name: sortBy
          schema:
            default: relevanceblender
            type: string
        - description: number of the results (max 20)
          in: query
          name: numberOfProducts
          schema:
            default: "20"
            type: integer
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/KeywordSearchResponse"
          description: successful operation
        "400":
          description: Bad Request - Missing parameter
        "404":
          description: Not Found - Product not Found
      security: []
      summary: fetch results auf a keyword search on Amazon
      tags:
        - amz
  /amz/sort-options:
    get:
      description: ""
      operationId: sortOptions
      responses:
        "200":
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/SortOptionResponse"
          description: successful operation
      summary: request available sort options to use in keyword search
      tags:
        - amz
components:
  schemas:
    BuyRecommendationResponse:
      properties:
        buyRecommendations:
          items:
            type: string
          type: array
        numberOfProducts:
          format: int64
          type: integer
        responseMessage:
          example: Product successfully found!
          type: string
        responseStatus:
          example: PRODUCT_FOUND_RESPONSE
          type: string
      type: object
    KeywordSearchResponse:
      properties:
        domainCode:
          example: com
          type: string
        foundProducts:
          items:
            type: string
          type: array
        keyword:
          example: Playstation 4
          type: string
        numberOfProducts:
          format: int64
          type: integer
        responseMessage:
          example: Product successfully found!
          type: string
        responseStatus:
          example: PRODUCT_FOUND_RESPONSE
          type: string
        sortStrategy:
          example: date-desc-rank
          type: string
      type: object
    ProductDetailsResponse:
      properties:
        answeredQuestions:
          format: int64
          type: integer
        asin:
          example: B077Q3YRP5
          type: string
        countReview:
          format: int64
          type: integer
        features:
          items:
            type: string
          type: array
        fulfilledBy:
          example: Amazon
          type: string
        manufacturer:
          example: Sony
          type: string
        price:
          type: number
        priceSaving:
          example: "You Save: $59,58 (43%)"
          type: string
        priceShippingInformation:
          example: free
          type: string
        prime:
          type: boolean
        productRating:
          example: 4.4 out of 5 stars
          type: string
        productTitle:
          example: Playstation 4
          type: string
        responseMessage:
          example: Product successfully found!
          type: string
        responseStatus:
          example: PRODUCT_FOUND_RESPONSE
          type: string
        retailPrice:
          type: number
        sizeSelection:
          items:
            type: string
          type: array
        soldBy:
          example: Sony
          type: string
        warehouseAvailability:
          example: In Stock
          type: string
      type: object
    SortOptionResponse:
      properties:
        responseMessage:
          example: Product successfully found!
          type: string
        responseStatus:
          example: PRODUCT_FOUND_RESPONSE
          type: string
        resultSize:
          format: int64
          type: integer
        sortOptions:
          items:
            properties:
              order:
                format: int64
                type: integer
              sortName:
                example: relevanceblender
                type: string
              strategy:
                example: AMAZON_FEATURED
                type: string
            type: object
          type: array
      type: object
