Interface MerchCatalogServiceProductDirectoryClient

All Known Implementing Classes:
MerchCatalogServiceProductDirectoryClientAdapter, NoOpMerchCatalogServiceProductDirectoryClientAdapter

public interface MerchCatalogServiceProductDirectoryClient
MerchCatalogServiceProductDirectoryClient is a JAX-RS interface for the Merchandising Catalog Service which supports synchronising products against a product directory.
  • Method Details

    • handleProductsBatch

      @POST @Produces("application/json") @Path("/${tenant}/productdirectories/{productDirectoryId}/products/versions/{versionId}") String handleProductsBatch(@PathParam("productDirectoryId") String productDirectoryId, @PathParam("versionId") Long version, List<Product> products)
      handleProductsBatch is a handler for accepting a batch of products and sending them to the Merchandising Catalog service.
      Parameters:
      productDirectoryId - - the product directory ID we wish to associate the products with.
      version - the version to send the products as.
      products - a list of products to send.
      Returns:
      String - ID of the operation.
    • handleProductsBatch

      @POST @Produces("application/json") @Path("/${tenant}/productdirectories/{productDirectoryId}/products/versions/{versionId}") String handleProductsBatch(@PathParam("productDirectoryId") String productDirectoryId, @PathParam("versionId") String version, List<Product> products)
      handleProductsBatch is a handler for accepting a batch of products and sending them to the Merchandising Catalog service.
      Parameters:
      productDirectoryId - - the product directory ID we wish to associate the products with.
      version - the version to send the products as.
      products - a list of products to send.
      Returns:
      String - ID of the operation.
    • handleProductsBatch

      @PUT @Produces("application/json") @Path("/${tenant}/productdirectories/{productDirectoryId}/products") Void handleProductsBatch(@PathParam("productDirectoryId") String productDirectoryId, List<Product> products)
      handleProductsBatch is a handler for accepting a batch of products and sending them to the Merchandising Catalog service.
      Parameters:
      productDirectoryId - - the product directory ID we wish to associate the products with.
      products - a list of products to send.
      Returns:
      String - ID of the operation.
    • handleProductsBatchAsync

      @PUT @Produces("application/json") @Path("/${tenant}/productdirectories/{productDirectoryId}/products") rx.Observable<Void> handleProductsBatchAsync(@PathParam("productDirectoryId") String productDirectoryId, List<Product> products)
      handleProductsBatchAsync is a handler for accepting a batch of products and sending them to the Merchandising Catalog service.
      Parameters:
      productDirectoryId - - the product directory ID we wish to associate the products with.
      products - a list of products to send.
      Returns:
      String - ID of the operation.
    • handleProductsBatchAsync

      @POST @Produces("application/json") @Path("/${tenant}/productdirectories/{productDirectoryId}/products/versions/{versionId}") rx.Observable<String> handleProductsBatchAsync(@PathParam("productDirectoryId") String productDirectoryId, @PathParam("versionId") Long version, List<Product> products)
      handleProductsBatchAsync is a handler for accepting a batch of products and sending them to the Merchandising Catalog service.
      Parameters:
      productDirectoryId - - the product directory ID we wish to associate the products with.
      version - the version to send the products as.
      products - a list of products to send.
      Returns:
      String - ID of the operation.
    • handleProductsBatchAsync

      @POST @Produces("application/json") @Path("/${tenant}/productdirectories/{productDirectoryId}/products/versions/{versionId}") rx.Observable<String> handleProductsBatchAsync(@PathParam("productDirectoryId") String productDirectoryId, @PathParam("versionId") String version, List<Product> products)
      handleProductsBatchAsync is a handler for accepting a batch of products and sending them to the Merchandising Catalog service.
      Parameters:
      productDirectoryId - - the product directory ID we wish to associate the products with.
      version - the version to send the products as.
      products - a list of products to send.
      Returns:
      String - ID of the operation.
    • publishProducts

      @POST @Produces("application/json") @Path("/${tenant}/productdirectories/{productDirectoryId}/products/versions/{versionId}/publish") Void publishProducts(@PathParam("productDirectoryId") String productDirectoryId, @PathParam("versionId") Long version)
      publishProducts is an API for marking a set of products as being published to live in a synchronous manner.
      Parameters:
      productDirectoryId - - the product directory ID we wish to associate the products with.
      version - the version to publish.
      Returns:
      Void.
    • publishProductsAsync

      @POST @Produces("application/json") @Path("/${tenant}/productdirectories/{productDirectoryId}/products/versions/{versionId}/publish") rx.Observable<Void> publishProductsAsync(@PathParam("productDirectoryId") String productDirectoryId, @PathParam("versionId") Long version)
      publishProductsAsync is an API for marking a set of products as being published to live in an asynchronous manner.
      Parameters:
      productDirectoryId - - the product directory ID we wish to associate the products with.
      version - the version to publish.
      Returns:
      an Observable containing Void.
    • publishProducts

      @POST @Produces("application/json") @Path("/${tenant}/productdirectories/{productDirectoryId}/products/versions/{versionId}/publish") Void publishProducts(@PathParam("productDirectoryId") String productDirectoryId, @PathParam("versionId") String version, ProductPublishContext context)
      publishProducts is an API for marking a set of products as being published to live in a synchronous manner.
      Parameters:
      productDirectoryId - - the product directory ID we wish to associate the products with.
      version - the version to publish.
      context - additional info e.g. total number of products
      Returns:
      Void.
    • publishProductsAsync

      @POST @Produces("application/json") @Path("/${tenant}/productdirectories/{productDirectoryId}/products/versions/{versionId}/publish") rx.Observable<Void> publishProductsAsync(@PathParam("productDirectoryId") String productDirectoryId, @PathParam("versionId") String version, ProductPublishContext context)
      publishProductsAsync is an API for marking a set of products as being published to live in an asynchronous manner.
      Parameters:
      productDirectoryId - - the product directory ID we wish to associate the products with.
      version - the version to publish.
      context - additional info e.g. total number of products
      Returns:
      Void.
    • handleCategoriesAsync

      @POST @Produces("application/json") @Path("/${tenant}/productdirectories/{productDirectoryId}/categories") rx.Observable<String> handleCategoriesAsync(@PathParam("productDirectoryId") String productDirectoryId, CategoryHierarchyWrapper categories)
      handleCategoriesAsync is an asynchronous method for sending categories to CDS.
      Parameters:
      productDirectoryId - - the product directory ID we wish to associate the categories with.
      categories - the CategoryHierarchyWrapper object to publish.
      Returns:
      an Observable containing the response.
    • handleCategories

      @POST @Produces("application/json") @Path("/${tenant}/productdirectories/{productDirectoryId}/categories") String handleCategories(@PathParam("productDirectoryId") String productDirectoryId, CategoryHierarchyWrapper categories)
      handleCategories is a method for sending categories to CDS.
      Parameters:
      productDirectoryId - - the product directory ID we wish to associate the categories with.
      categories - the CategoryHierarchyWrapper object to publish.
      Returns:
      String - ID of the operation.
    • createProductDirectoryAsync

      @POST @Produces("application/json") @Path("/${tenant}/productdirectories") rx.Observable<com.hybris.charon.RawResponse> createProductDirectoryAsync(ProductDirectory productDirectory)
      createProductDirectoryAsync is a method for creating a product directory and synchronising with CDS.
      Parameters:
      productDirectory - the ProductDirectory we wish to create.
      Returns:
      Observable representing the RawResponse of the operation.
    • createProductDirectory

      @POST @Produces("application/json") @Path("/${tenant}/productdirectories") com.hybris.charon.RawResponse createProductDirectory(ProductDirectory productDirectory)
      createProductDirectory is a method for creating a product directory and synchronising with CDS.
      Parameters:
      productDirectory - the ProductDirectory we wish to create.
      Returns:
      a RawResponse representing the response of the operation.
    • updateProductDirectoryAsync

      @PUT @Path("/${tenant}/productdirectories/{productDirectoryId}") @Produces("application/json") rx.Observable<Void> updateProductDirectoryAsync(@PathParam("productDirectoryId") String productDirectoryId, ProductDirectory productDirectory)
      updateProductDirectoryAsync is a method for updating an existing product directory and synchronising with CDS.
      Parameters:
      productDirectoryId - the ID of the ProductDirectory to update.
      productDirectory - the ProductDirectory to update.
      Returns:
      an Observable containing Void.
    • updateProductDirectory

      @PUT @Path("/${tenant}/productdirectories/{productDirectoryId}") @Produces("application/json") Void updateProductDirectory(@PathParam("productDirectoryId") String productDirectoryId, ProductDirectory productDirectory)
      updateProductDirectory is a method for updating an existing product directory and synchronising with CDS.
      Parameters:
      productDirectoryId - the ID of the ProductDirectory to update.
      productDirectory - the ProductDirectory to update.
      Returns:
      Void.
    • deleteProductDirectoryAsync

      @DELETE @Path("/${tenant}/productdirectories/{productDirectoryId}") @Produces("application/json") rx.Observable<Void> deleteProductDirectoryAsync(@PathParam("productDirectoryId") String productDirectoryId)
      deleteProductDirectoryAsync is a method for deleting an existing product directory and synchronising with CDS.
      Parameters:
      productDirectoryId - the ID of the ProductDirectory to delete.
      Returns:
      an Observable containing Void.
    • deleteProductDirectory

      @DELETE @Path("/${tenant}/productdirectories/{productDirectoryId}") @Produces("application/json") Void deleteProductDirectory(@PathParam("productDirectoryId") String productDirectoryId)
      deleteProductDirectory is a method for deleting an existing product directory and synchronising with CDS.
      Parameters:
      productDirectoryId - the ID of the ProductDirectory to delete.
      Returns:
      Void.