Catalog Module
Api\AttributeSetFinderInterface
This interface defines a contract for finding attribute set IDs associated with specific products. Developers would use this when they need to determi...
Api\AttributeSetManagementInterface
This interface defines the service contract for managing product attribute sets in Magento 2. Developers use it to programmatically create new attribu...
Api\BasePriceStorageInterface
This interface defines a contract for managing product base prices in Magento 2. Developers use it to retrieve base prices for multiple products by SK...
Api\CategoryAttributeOptionManagementInterface
This interface defines a contract for managing category attribute options in Magento 2. Developers use this to retrieve all available options for a sp...
Api\CategoryLinkManagementInterface
This interface defines methods for managing the relationship between products and categories in Magento 2. Developers use it to retrieve all products...
Api\CategoryListDeleteBySkuInterface
This interface defines a contract for removing multiple products from a category using their SKUs. Developers would use this when they need to unassig...
Api\CategoryListInterface
This interface defines a contract for retrieving a filtered list of catalog categories in Magento 2. Developers use this to programmatically fetch cat...
Api\CategoryManagementInterface
This interface defines the contract for managing Magento 2 product categories at a high level. Developers use it to retrieve category trees with confi...
Api\CostStorageInterface
This interface defines operations for managing product cost data in Magento 2. Developers use it to retrieve, update, or delete product costs by SKU a...
Api\Data\BasePriceInterface
This interface defines the contract for handling product base prices in Magento 2. Developers use this when working with product pricing operations, p...
Api\Data\CategoryAttributeInterface
This interface defines the contract for category attribute objects in Magento 2's catalog system. Developers use this when working with custom categor...
Api\Data\CategoryAttributeSearchResultsInterface
This interface defines the contract for search results when querying category attributes in Magento 2. Developers use this when implementing or consum...
Api\Data\CategoryInterface
This interface defines the data structure and contract for category entities in Magento 2's catalog system. Developers use it when working with catego...
Api\Data\CategoryLinkInterface
This interface defines the contract for linking products to categories in Magento 2. Developers use it when working with product-category associations...
Api\Data\CategoryProductLinkInterface
This interface defines the contract for representing the relationship between a category and a product in Magento 2's catalog. Developers use this whe...
Api\Data\CategoryProductSearchResultInterface
This interface defines the contract for search results containing category-product relationships. Developers use this when retrieving lists of product...
Api\Data\CategorySearchResultsInterface
This interface defines the contract for category search results returned by repository search operations. Developers use this when working with the Ca...
Api\Data\CategoryTreeInterface
This interface defines the data structure for representing categories in a hierarchical tree format within Magento 2. Developers use it when working w...
Api\Data\CostInterface
This interface defines the contract for managing product cost data in Magento 2. Developers use it when working with product cost information across d...
Api\Data\CustomOptionInterface
This interface defines the contract for custom product options that customers can select when adding items to their cart. Developers use this when wor...
Api\Data\EavAttributeInterface
This interface defines the contract for catalog product attributes in Magento 2, extending the base EAV attribute interface with catalog-specific prop...
Api\Data\PriceUpdateResultInterface
This interface defines a contract for price update result objects that are returned when errors occur during bulk price update operations via Magento'...
Api\Data\ProductAttributeInterface
This interface defines the contract for product attributes in Magento 2's catalog system. It extends EavAttributeInterface and provides constants for...
Api\Data\ProductAttributeMediaGalleryEntryInterface
This interface defines the contract for product media gallery entries (images, videos) in Magento 2. Developers use it when working with product media...
Api\Data\ProductAttributeSearchResultsInterface
This interface defines the contract for search results containing product attributes in Magento 2. Developers use it when implementing or working with...
Api\Data\ProductAttributeTypeInterface
This interface defines the contract for product attribute type data objects in Magento 2. Developers use this when working with product attribute type...
Api\Data\ProductCustomOptionInterface
This interface defines the structure for product custom options in Magento 2, allowing developers to create customizable product configurations like t...
Api\Data\ProductCustomOptionTypeInterface
This interface defines the contract for product custom option types in Magento 2's Catalog module. Developers use it to represent different types of c...
Api\Data\ProductCustomOptionValuesInterface
This interface defines the contract for individual values within a product's custom option (e.g., dropdown choices, radio button options). Developers...
Api\Data\ProductFrontendActionInterface
This interface defines the data contract for tracking customer and visitor interactions with products on the storefront, such as product views, compar...
Api\Data\ProductInterface
This interface defines the standard contract for product data objects in Magento 2's Catalog module. Developers use this interface when working with p...
Api\Data\ProductLinkAttributeInterface
This interface defines the structure for product link attributes in Magento 2, which describe the properties of relationships between linked products...
Api\Data\ProductLinkInterface
This interface defines the contract for product link data objects in Magento 2, which represent relationships between products such as related product...
Api\Data\ProductLinkTypeInterface
This interface defines the contract for product link types in Magento 2, representing the different ways products can be related (e.g., related produc...
Api\Data\ProductOptionInterface
This interface defines the contract for product options in Magento 2, which represent additional choices or configurations that can be associated with...
Api\Data\ProductRenderInterface
This interface defines a Data Transfer Object (DTO) for product rendering information needed on the frontend. Developers use this to retrieve all esse...
Api\Data\ProductRenderSearchResultsInterface
This interface defines a data transfer object (DTO) for holding collections of rendered product information. Developers use this when working with pro...
Api\Data\ProductRender\ButtonInterface
This interface defines the contract for product action buttons in Magento 2's product rendering system, such as 'Add to Cart', 'Add to Compare', or 'A...
Api\Data\ProductRender\FormattedPriceInfoInterface
This interface defines the contract for handling formatted HTML price representations in Magento 2 product rendering. Developers use it when building...
Api\Data\ProductRender\ImageInterface
This interface defines the contract for product image data in Magento 2's product rendering system. Developers use it to access and manipulate product...
Api\Data\ProductRender\PriceInfoInterface
This interface defines the contract for product price information used in rendering product data via API. Developers use it to access various price ty...
Api\Data\ProductSearchResultsInterface
This interface defines the contract for product search results in Magento 2's service layer. Developers use it when implementing or consuming product...
Api\Data\ProductTierPriceInterface
This interface defines the structure for product tier pricing data in Magento 2. Developers use it when working with tiered pricing rules that apply d...
Api\Data\ProductTypeInterface
This interface defines the contract for product type data objects in Magento 2, representing different product types like simple, configurable, bundle...
Api\Data\ProductWebsiteLinkInterface
This interface defines the contract for linking products to websites in a multi-website Magento setup. Developers use this when managing product-websi...
Api\Data\SpecialPriceInterface
This interface defines the contract for managing product special prices in Magento 2. It provides methods to set and retrieve special price values, al...
Api\Data\TierPriceInterface
This interface defines the contract for tier pricing data objects in Magento 2. Developers use this when working with quantity-based pricing rules tha...
Api\ProductAttributeIsFilterableManagementInterface
This interface defines methods to manage the 'is_filterable' property of product attributes through REST/SOAP APIs. Developers use this when they need...
Api\ProductAttributeManagementInterface
This interface defines the contract for managing product attributes within attribute sets in Magento 2. Developers use this to programmatically assign...
Api\ProductAttributeMediaGalleryManagementInterface
This interface defines the contract for managing product media gallery images through the API. Developers use this to programmatically add, update, re...
Api\ProductAttributeOptionManagementInterface
This interface defines the contract for managing product attribute options in Magento 2. Developers use this to programmatically retrieve, add, or del...
Api\ProductAttributeOptionUpdateInterface
This interface defines a contract for updating existing product attribute options in Magento 2. Developers would use implementations of this interface...
Api\ProductAttributeTypesListInterface
This interface defines a contract for retrieving a list of available product attribute types in Magento 2. Developers would use this when they need to...
Api\ProductCustomOptionTypeListInterface
This interface defines a contract for retrieving all available custom option types that can be used with products in Magento. Developers would use thi...
Api\ProductLinkManagementInterface
This interface defines methods for managing product link relationships in Magento 2. Developers use it to retrieve and assign product links (such as r...
Api\ProductLinkTypeListInterface
This interface defines a contract for retrieving product link types and their attributes in Magento 2. Developers use this to get information about av...
Api\ProductManagementInterface
This interface defines a contract for managing product-level operations in Magento 2, specifically for retrieving product counts. Developers use this...
Api\ProductMediaAttributeManagementInterface
This interface defines a contract for retrieving media image attributes associated with a specific product attribute set. Developers use this when the...
Api\ProductRenderListInterface
This interface defines a contract for retrieving comprehensive product render information including prices, names, stock status, and store details. De...
Api\ProductTierPriceManagementInterface
This interface defines the contract for managing tier pricing on products in Magento 2. Developers use this to programmatically add, remove, or retrie...
Api\ProductTypeListInterface
This interface defines a contract for retrieving all available product types in Magento 2 (such as simple, configurable, bundle, downloadable, etc.)....
Api\ScopedProductTierPriceManagementInterface
This interface defines operations for managing tier pricing on products within specific store scopes. Developers use this when they need to add, remov...
Api\SpecialPriceInterface
This interface defines the API contract for managing special prices on products in Magento 2. Developers use this to programmatically retrieve, update...
Api\SpecialPriceStorageInterface
This interface defines a specialized API for managing special prices (promotional/temporary prices) for products in Magento 2. Developers use this to...
Api\TierPriceStorageInterface
This interface defines operations for managing tier pricing (volume discounts) for products in Magento 2. Developers use it to programmatically retrie...
Helper\Product\Configuration\ConfigurationInterface
This interface defines the contract for helpers that retrieve and format product configuration options (like custom options, configurable product sele...
Model\Attribute\LockValidatorInterface
This interface defines a contract for validators that check if a catalog attribute is locked and can be modified. Developers implement this interface...
Model\Config\Source\ProductPriceOptionsInterface
This interface defines constants for product price option types in Magento 2, specifically 'fixed' and 'percent' values. Developers use this interface...
Model\EntityInterface
This interface defines a contract for catalog entities that require a unique entity identifier. Developers implement this interface on catalog-related...
Model\FrontendStorageConfigurationInterface
This interface defines a contract for providing configuration data to frontend JavaScript storage mechanisms in Magento 2 catalog functionality. Devel...
Model\Layer\AvailabilityFlagInterface
This interface defines a contract for determining whether filters are enabled in a Magento catalog layer. Developers implement this interface to creat...
Model\Layer\CollectionFilterInterface
This interface defines a contract for filtering product collections based on category context in Magento's catalog layer. Developers implement this in...
Model\Layer\ContextInterface
This interface defines a context object for the Catalog Layer model, providing access to collection providers, state keys, and collection filters. Dev...
Model\Layer\Filter\FilterInterface
This interface defines the contract for layered navigation filters in Magento 2 catalog. Developers implement this interface when creating custom prod...
Model\Layer\FilterableAttributeListInterface
This interface defines a contract for retrieving a list of product attributes that can be used for filtering in catalog layers (like category or searc...
Model\Layer\ItemCollectionProviderInterface
This interface defines a contract for retrieving product collections based on a category in Magento's layered navigation system. Developers implement...
Model\Layer\StateKeyInterface
This interface defines a contract for generating unique state keys for catalog layers based on categories. Developers implement this interface to crea...
Model\Locator\LocatorInterface
This interface defines a contract for locating and accessing product-related context information in Magento 2. Developers use implementations of this...
Model\ProductIdLocatorInterface
This interface defines a contract for retrieving product IDs and types by their SKUs. Developers use implementations of this interface when they need...
Model\ProductLink\CollectionProviderInterface
This interface defines a contract for retrieving linked products associated with a given product in Magento 2. Developers implement this interface to...
Model\ProductLink\Converter\ConverterInterface
This interface defines a contract for converters that transform Magento Product objects into array representations. Developers implement this interfac...
Model\ProductLink\Data\ListCriteriaInterface
This interface defines the criteria for searching and filtering product links (related products, up-sells, cross-sells, etc.) in Magento 2. Developers...
Model\ProductLink\Data\ListResultInterface
This interface defines the contract for returning results when fetching a list of product links (related, upsell, cross-sell products). It provides a...
Model\ProductLink\MapProviderInterface
This interface defines a contract for providers that fetch product link data in Magento 2. Developers implement this interface to create custom provid...
Model\ProductOptionProcessorInterface
This interface defines methods for converting product configuration data between two formats: ProductOptionInterface objects and buy request DataObjec...
Model\ProductOptions\ConfigInterface
This interface defines a contract for accessing product option configurations in Magento 2. Developers implement this interface to retrieve specific p...
Model\ProductTypes\ConfigInterface
This interface defines the contract for accessing Magento 2 product type configurations. Developers use this to retrieve product type settings, check...
Model\Product\Attribute\AttributeSetUnassignValidatorInterface
This interface defines a contract for validators that check whether an attribute can be safely removed from a product attribute set. Developers implem...
Model\Product\CatalogPriceInterface
This interface defines methods for retrieving product catalog prices for external catalogs or third-party integrations. Developers implement this inte...
Model\Product\Condition\ConditionInterface
This interface defines a contract for applying filtering conditions to product collections in Magento 2. Developers implement this interface when crea...
Model\Product\CopyConstructorInterface
This interface defines the contract for classes that handle product duplication logic in Magento 2. Developers implement this interface to create copy...
Model\Product\Gallery\ImagesConfigFactoryInterface
This factory interface defines a contract for creating a collection of gallery image configurations for products. Developers use this to generate stan...
Model\Product\Media\ConfigInterface
This interface defines the contract for managing product media file locations in Magento 2's catalog system. Developers use implementations of this in...
Model\Product\PriceModifierInterface
This interface defines a contract for classes that need to modify product prices in Magento 2. Developers implement this interface when creating custo...
Model\ResourceModel\Product\BaseSelectProcessorInterface
This interface defines a contract for processors that modify database SELECT queries for product collections. Developers implement this interface to a...
Model\ResourceModel\Product\LinkedProductSelectBuilderInterface
This interface defines a contract for building database SELECT queries to retrieve linked product information with minimal price data. Developers impl...