openapi: 3.0.3 info: title: clickouts api version: 0.0.1-dev description: Host API documentation Click-Out Statistics API. servers: - url: http://api.shopr.nl/stats paths: /_internal_/ping: get: description: Ping in milliseconds. responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/ComShoprApiClickoutsApiV0ModelsStatus' /_internal_/status: get: description: Current health check status. responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/ComShoprApiClickoutsApiV0ModelsStatus' /_internal_/version: get: description: API version. responses: '200': description: Successful response content: application/json: schema: type: string /{fingerprint}/clickouts: post: description: Create a new click-out. Requests are accepted for eventual processing. parameters: - name: fingerprint in: path description: User fingerprint used for correlation purposes. required: true schema: type: string example: cc7507cb65ffc750b298e722b34556c5 requestBody: content: application/json: schema: $ref: '#/components/schemas/ComShoprApiClickoutsApiV0ModelsClickout' required: true responses: '202': description: Response 202 content: application/json: schema: type: string '422': description: 'Example: lowestPrice is greater than highestPrice.' content: application/json: schema: type: array items: $ref: '#/components/schemas/ComShoprApiClickoutsApiV0ModelsErrorResponse' components: schemas: ComShoprApiClickoutsApiV0ModelsErrorCode: type: object required: - code - localized_string_code properties: code: description: Machine readable code for this specific error message example: 100 type: string localized_string_code: description: A localized description of the error code example: Lowest price cannot be bigger than highest price type: string ComShoprApiClickoutsApiV0ModelsClickout: description: 'Represents an Offer click-out. It contains all the information needed to properly identify the offer, trace it ot the user navigating from search page, and relevant information about the offer at the click-out moment (e.g.: price, lowest price among other offers, etc.)' type: object required: - productId - seller - sellerProductId - price - deepUrl - lowestPrice - highestPrice - offerCount - offerPosition - categoryId - tracking - creationTime properties: productId: description: Product identifier example: 584f4c7f4cedfd0005e17c19 type: string seller: description: Seller/Retailer unique identifier example: klingel type: string sellerProductId: description: Product as identifier given by the seller/retailer example: SAND003 type: string price: description: Offer price at the moment of the click-out example: 67.00 type: number deepUrl: description: Full product URL at the retailer side example: http://www.klingel.nl/ProductDisplay?langId=31&catalogId=1000100000&storeId=100003&partNumber=460741&colorId=rood&attrId=G&vcp=gcqdjikm13m8iz&refID=Klingel_NL/Shopr/Dames/Schoenen/Pumps/Klassieke_pumps/04919/50X/&emsrc=Produktportale type: string lowestPrice: description: Lowest price among all offers example: 59.99 type: number highestPrice: description: Seller/Retailer unique identifier example: 87.00 type: number offerCount: description: Number of offers example: 5 type: integer format: int32 minimum: 1 offerPosition: description: 'Offer position among other offers (e.g.: first, second, etc.)' example: 2 type: integer format: int32 minimum: 1 categoryId: description: Category where the product was put into example: 1234 type: string tracking: $ref: '#/components/schemas/ComShoprApiClickoutsApiV0ModelsTracking' description: Tracking information creationTime: description: When this click-out happened example: '2016-12-22T11:56:52Z' type: string format: date-time ComShoprApiClickoutsApiV0ModelsStatus: description: Response for ping, health check and version type: object required: - response properties: response: example: 100ms | healthy | 0.0.1 type: string ComShoprApiClickoutsApiV0ModelsTracking: description: Series of attributes for tracking purposes type: object required: - ipAddress - origin properties: ipAddress: type: string origin: $ref: '#/components/schemas/ComShoprApiClickoutsApiV0EnumsClientOrigin' description: Client originating the order request essentially any of the values of the client_origin enum. userAgent: type: string referrer: description: Optional page referrer. type: string ComShoprApiClickoutsApiV0ModelsErrorResponse: type: object required: - error_codes properties: message: description: User-friendly message. type: string error_codes: description: List of errors that may happened all together. type: array items: $ref: '#/components/schemas/ComShoprApiClickoutsApiV0ModelsErrorCode' fingerprint: description: The request fingerprint associated with this error. type: string ComShoprApiClickoutsApiV0EnumsClientOrigin: description: Describes the client where the request for a clickout has originated. type: string enum: - shopr_website - shopr_mobile_web - shopr_iphone - shopr_ipad - shopr_android