Overview
  • Package
  • Class
  • Tree
  • Todo

Packages

  • AddonValue
    • Interfaces
  • AdminAccess
    • Collections
    • Deleters
    • Entities
    • Exceptions
    • Factories
    • Interfaces
    • Managers
    • Readers
    • Writers
  • AdminHttpViewControllers
  • ApiV2Controllers
  • Authentication
    • Collections
    • Entities
    • Factories
    • Interfaces
    • Strategies
  • Category
    • Collections
    • Entities
    • Factories
    • Interfaces
    • Providers
    • Repositories
    • Storages
  • Customer
    • Address
    • Country
    • CountryZone
    • Interfaces
    • Storages
    • Validation
    • ValueObjects
  • CustomerGroup
    • Entities
    • Factories
    • Interfaces
    • Repositories
    • Serializers
    • Services
    • ValueObjects
  • Email
    • Collections
    • Entities
    • Exceptions
    • Interfaces
    • Repository
    • ValueObjects
  • Extensions
    • Customers
    • Emails
    • Geschaeftskundenversand
    • Helpers
    • Invoices
    • Orders
    • ParcelShopFinder
    • QuickEdit
    • Serializers
    • Templates
  • Geschaeftskundenversand
    • Exceptions
  • Http
    • Collections
    • Exceptions
    • Factories
    • Interfaces
    • ValueObjects
  • HttpViewControllers
  • InfoBox
    • Collections
    • Entities
    • Factories
    • Interfaces
    • Repositories
  • Invoice
    • Interfaces
    • ValueObjects
  • Loaders
    • CrossCuttingLoader
    • GXCoreLoader
    • Interfaces
  • Manufacturer
    • Entities
    • Factories
    • Interfaces
    • Repositories
  • Modules
    • Collections
    • Controllers
    • Interfaces
  • None
  • Order
    • Collections
    • Entities
    • Factories
    • Interfaces
    • Repositories
    • Storages
    • ValueObjects
  • OrderStatus
    • Collections
    • Entities
    • Exceptions
    • Factories
    • Interfaces
    • Repositories
  • Precheck
  • Product
    • Collections
    • Entities
    • Factories
    • Interfaces
    • Providers
    • Repositories
    • Storages
  • ProductModule
    • Collections
    • Deleter
    • Entities
    • Factories
    • Interface
    • Interfaces
    • Reader
    • Repositories
    • Writer
  • QuantityUnit
    • Entities
    • Factories
    • Repositories
  • QuickEdit
    • Interfaces
    • Repositories
  • Review
    • Entities
    • Factories
    • Interfaces
    • Repositories
    • Services
    • ValueObjects
  • Shared
    • ClassFinder
    • Exceptions
    • FileSystem
    • Interfaces
    • Storage
    • Types
  • SharedShoppingCart
    • Interfaces
  • Slider
    • Collections
    • Entities
    • Factories
    • Interfaces
    • Repositories
    • Storages
  • Smarty
    • plugins
  • StaticSeoUrl
    • Collections
    • Entities
    • Factories
    • Interfaces
    • Repositories
  • StaticSeoUrls
  • Statistics
    • Interfaces
  • UserConfiguration
    • Interfaces
    • Repository
  • VersionInfo
    • Factories
    • Reader
    • ValueObjects
  • VPE
    • Entities
    • Factories
    • Repositories
  • Withdrawal
    • Entities
    • Factories
    • Interfaces
    • Repositories
    • Services
    • ValueObjects

Classes

  • AbstractApiV2Controller
  • AbstractImagesApiV2Controller
  • AddressesApiV2Controller
  • AddressFormatsApiV2Controller
  • AttachmentsApiV2Controller
  • CategoriesApiV2Controller
  • CategoryIconsApiV2Controller
  • CategoryImagesApiV2Controller
  • CountriesApiV2Controller
  • CustomerGroupsApiV2Controller
  • CustomersApiV2Controller
  • DefaultApiV2Controller
  • EmailsApiV2Controller
  • HttpApiV2Controller
  • ManufacturersApiV2Controller
  • OrdersApiV2Controller
  • OrdersHistoryApiV2Controller
  • OrdersItemsApiV2Controller
  • OrdersItemsAttributesApiV2Controller
  • OrderStatusesApiV2Controller
  • OrdersTotalsApiV2Controller
  • ProductImagesApiV2Controller
  • ProductReviewsApiV2Controller
  • ProductsApiV2Controller
  • ProductsLinksApiV2Controller
  • QuantityUnitsApiV2Controller
  • ReviewsApiV2Controller
  • ShopInformationApiV2Controller
  • TaxClassesApiV2Controller
  • TaxRatesApiV2Controller
  • TaxZonesApiV2Controller
  • TrackingCodeApiV2Controller
  • VpeApiV2Controller
  • WithdrawalsApiV2Controller
  • ZonesApiV2Controller

Class ProductReviewsApiV2Controller

Class ProductReviewsApiV2Controller

Provides a gateway to the ReviewWriteService and ReviewReadService classes, which handle the shop review resources.

AbstractApiV2Controller
Extended by HttpApiV2Controller
Extended by ProductReviewsApiV2Controller
Package: ApiV2Controllers
Category: System
Located at Controllers/Api/v2/ProductReviewsApiV2Controller.inc.php

Methods summary

protected
# __initialize( )

Initializes API Controller

Initializes API Controller

public
# get( )

Api

{get} /products/:id/reviews/:id Get reviews or average rating for single product

Apidescription

Get multiple, a single review record or the average rating for a single product through the GET method. Use optional lang (e.g.: lang=en) GET-parameter flag to filter based on the provided language code.


Apierror

400-BadRequest Product ID is missing or invalid.
400-BadRequest Review ID is missing or invalid.
404-NotFound Review record could not be found.

Apierrorexample

Error-Response (Missing or invalid product ID) HTTP/1.1 400 Bad Request { "code": 400, "status": "error", "message": "Product record ID was not provided or is invalid." }


Error-Response (Missing or invalid review ID) HTTP/1.1 400 Bad Request { "code": 400, "status": "error", "message": "Review record ID is invalid." }


Error-Response (Review Not Found) HTTP/1.1 404 Not Found { "code": 404, "status": "error", "message": "Review record could not be found." }


Apiexample

{curl} Get All Review records curl -i --user admin@shop.de:12345 http://shop.de/api.php/v2/products/1/reviews


{curl} Get All English Review records curl -i --user admin@shop.de:12345 http://shop.de/api.php/v2/products/1/reviews?lang=en


{curl} Get Review record with ID = 982 curl -i --user admin@shop.de:12345 http://shop.de/api.php/v2/products/1/reviews/982


{curl} Get Average Rating For Product With ID = 1 curl -i --user admin@shop.de:12345 http://shop.de/api.php/v2/products/1/reviews_avg


Apigroup

Products

Apiname

GetReviewsForProduct

Apiversion

2.6.0
public
# post( )

Api

{post} /products/:id/reviews Create review for single product

Apidescription

This method enables the creation of a new review into the system for the product with the ID that is provided in the request URI. The productId in the request URI will override the productId of the request body.


Apierror

400-BadRequest Product ID is missing or invalid.
400-BadRequest The body of the request was empty.

Apierrorexample

Error-Response (Missing or invalid product ID) HTTP/1.1 400 Bad Request { "code": 400, "status": "error", "message": "Product record ID was not provided or is invalid." }


Error-Response HTTP/1.1 400 Bad Request { "code": 400, "status": "error", "message": "Review data were not provided." }


Apigroup

Products

Apiname

CreateReviewForProduct

Apiparam

{Number} productId The ID of the reviewed product.
{Number} rating The numeric rating value. All integers from 1 to 5 are valid.
{Number} languageId The language ID.
{String} text The review content.
{Object} customer Contains various customer specific information.
{Number} customer.customerId Customer's ID.
{String} customer.customerName Customer's name.

Apiparamexample

{json} Review entity { "productId": 2, "rating": 5, "languageId": 1, "text": "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam", "customer": { "customerId": 3, "customerName": "John Doe" } }


Apisuccess

(201) Request-Body If successful, this method returns the complete review resource in the response body.


Apisuccessexample

{json} Success-Response { "id": 3, "productId": 2, "rating": 5, "dateAdded": "2018-01-10 19:10:00", "lastModified": "2018-01-10 19:10:00", "languageId": 1, "text": "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam", "customer": { "customerId": 3, "customerName": "John Doe" } }


Apiversion

2.6.0
public
# put( )

Api

{put} /products/:id/reviews/:id Update review for single product

Apidescription

Use this method to update an existing review record. Take a look in the POST method for more detailed explanation on every resource property.


Apierror

400-BadRequest Product ID is missing or invalid.
400-BadRequest Review ID is missing or invalid.
400-BadRequest Review data were not provided.
404-NotFound Review record with provided ID not associated with provided product record ID.

Apierrorexample

Error-Response (Missing or invalid product ID) HTTP/1.1 400 Bad Request { "code": 400, "status": "error", "message": "Product record ID was not provided or is invalid." }


Error-Response (Missing or invalid review ID) HTTP/1.1 400 Bad Request { "code": 400, "status": "error", "message": "Review record ID was not provided or is invalid." }


Error-Response (No data) HTTP/1.1 400 Bad Request { "code": 400, "status": "error", "message": "Review data were not provided." }


Error-Response (Wrong product-to-review association) HTTP/1.1 404 Not Found { "code": 404, "status": "error", "message": "Provided review record ID ([:reviewId]) is not associated with provided product record ID ([:productId])." }


Apigroup

Products

Apiname

UpdateReviewForProduct

Apisuccess

Response-Body If successful, this method returns the updated withdrawal resource in the response body.


Apiversion

2.6.0
public
# delete( )

Api

{delete} /products/:1/reviews/:id Delete review

Apidescription

Removes a review record from the system. Assuming that the provided product-to-review association (product ID and review Id in request URI) is correct this method will always return success even if the review does not exist (due to internal ReviewWriteService architecture decisions, which strive to avoid unnecessary failures).


Apierror

400-BadRequest Product ID is missing or invalid.
400-BadRequest Review ID is missing or invalid.
404-NotFound Review record with provided ID not associated with provided product record ID.

Apierrorexample

Error-Response (Missing or invalid product ID) HTTP/1.1 400 Bad Request { "code": 400, "status": "error", "message": "Product record ID was not provided or is invalid." }


Error-Response (Missing or invalid review ID) HTTP/1.1 400 Bad Request { "code": 400, "status": "error", "message": "Review record ID was not provided or is invalid." }


Error-Response (Wrong product-to-review association) HTTP/1.1 404 Not Found { "code": 404, "status": "error", "message": "Provided review record ID ([:reviewId]) is not associated with provided product record ID ([:productId])." }


Apiexample

{curl} Delete review with ID = 84 for product with ID = 23 curl -X DELETE --user admin@shop.de:12345 http://shop.de/api.php/v2/products/23/reviews/84


Apigroup

Products

Apiname

DeleteReviewForProduct

Apisuccessexample

{json} Success-Response { "code": 200, "status": "success", "action": "delete", "reviewId": 84 }


Apiversion

2.6.0

Methods inherited from HttpApiV2Controller

_linkResponse(), _locateResource(), _mapResponse(), _minimizeResponse(), _paginateResponse(), _searchResponse(), _setJsonValue(), _sortResponse(), _writeResponse()

Methods inherited from AbstractApiV2Controller

__construct(), _prepareResponse(), _setRateLimitHeader(), _validateRequest()

Constants summary

Constants inherited from AbstractApiV2Controller

DEFAULT_CONTROLLER_NAME, DEFAULT_PAGE_ITEMS, DEFAULT_RATE_LIMIT, DEFAULT_RATE_RESET_PERIOD

Properties summary

protected ReviewWriteService $reviewWriteService

Reviews write service.

Reviews write service.

#
protected ReviewReadService $reviewReadService

Reviews read service.

Reviews read service.

#
protected ReviewJsonSerializer $reviewJsonSerializer

Review JSON serializer.

Review JSON serializer.

#
protected LanguageProviderInterface $languageProvider
#

Properties inherited from AbstractApiV2Controller

$api, $uri

API documentation generated by ApiGen