• PXM Products/
    PXM Products API/
    PXM Products API Overview

    PXM Products API Overview

    With the Product Experience Manager (EP PXM) services, you define your products separately from catalogs, prices, inventory, and other resource relationships.

    The product Object

    NameTypeDescription
    idstringA unique product ID that is generated when you create the product.
    typestringThe type of resource object. You must use product.
    attributesobjectThe attributes that describe the product.

    The attributes Object

    The product attributes that can be displayed in your storefront.

    NameTypeDescription
    external_refstringThe unique attribute associated with the product. This could be an external reference from a separate company system, for example. The maximum length is 2048 characters.
    namestringA name for the product.
    commodity_typestringThe commodity type, either physical or digital.
    componentsobjectThe components name and options that make up a bundle.
    descriptionstringA description for the product.
    mpnstringThe manufacturer part number of the product.
    skustringThe unique stock keeping unit of the product.
    slugstringA label for the product that is used in the URL paths. A slug can contain any combination of letters, numbers, periods, hyphens, and underscores. NO spaces or other characters are allowed. By default, the product name is used as the slug.
    statusstringThe status for the product, either draft or live.
    upc_eanstringThe universal product code or european article number of the product.
    build_rulesobjectThe build rules allow you to build a combination of child products associated with a product. See build_rules.
    custom_inputsstringThe custom text that can be added to a product. See custom_inputs object.
    curated_productbooleanIf a product is curated, then "curated_product": true attribute is displayed. If a product is not curated, the curated_product attribute is not displayed. See Curated Products.

    The build_rules Object

    You can build a combination of child products associated with a product, based on build rules that you specify. This is useful, for example, if you have a variation option that you do not sell. This makes managing and building your child products quick and easy.

    NameTypeDescription
    defaultstringSpecifies the default behavior, either include or exclude.
    includearrayAn array of option IDs to include when child products are built. Each combination consists of a nested array of option IDs from one or more variations. Combinations of option IDs in the nested arrays must come from different variations.
    excludearrayAn array of option IDs to exclude when child products are built. Each combination consists of a nested array of option IDs from one or more variations. Combinations of option IDs in the nested arrays must come from different variations.

    See Build Child Products Using Variations.

    The components Object

    NameTypeDescription
    component: <key>stringThe name of the component, such as games. The bundle_configuration uses the component key to reference a component. A component key should be relatively short and must not contain any special characters. See create a bundle.
    component: <key>: minintegerThe minimum number of product options a shopper can select from this component.
    component: <key>: maxintegerThe maximum number of product options a shopper can select from this component.
    component: <key>: namestringThe component name. The component name is the name that is displayed in your storefront. See create a bundle.
    component: <key>: optionsarrayThe product options that this component is comprised of. This can be the bundle ID of another bundle. See Bundles of Bundles.

    Response Example

    In the following example, games and toys are the component keys.

    "components": {
                    "games": {
                        "max": 1,
                        "min": 1,
                        "name": "GamesOptions",
                        "options": [
                            {
                                "id": "d7b79eb8-19d8-45ea-86ed-2324a604dd9c",
                                "quantity": 1,
                                "type": "product"
                            },
                            {
                                "id": "baaebdd6-490e-4834-a4a5-307602f70ea0",
                                "quantity": 2,
                                "type": "product"
                            }
                        ]
                    },
                    "toys": {
                        "max": 2,
                        "min": 2,
                        "name": "ToysOptions",
                        "options": [
                            {
                                "id": "1aea6f97-f0d9-452c-b3c1-7fb5629ead82",
                                "quantity": 1,
                                "type": "product"
                            },
                            {
                                "id": "0192ccdd-6d33-4898-87d7-c4d87f2bf8ea",
                                "quantity": 1,
                                "type": "product"
                            },
                            {
                                "id": "de691397-2320-48fb-af7b-8b17d27a34a4",
                                "quantity": 1,
                                "type": "product"
                            }
                        ]
                    }
              }
    

    The options Object

    NameTypeDescription
    IdstringThe unique Id of the product you want to add to their component.
    TypeintegerMust be product.
    quantityintegerThe number of this product option that a shopper must purchase.

    The locales Object

    EP PXM supports localization of products and hierarchies. If your store supports multiple languages, you can localize product names and descriptions. You can have as many locales as you want.

    NameTypeDescription
    namestringA localized name for the product.
    descriptionstringA localized description for the product.

    The custom_inputs Object

    NameTypeDescription
    namestringA name for the custom text field.
    validation_rulesobjectThe validation rules for the custom text.
    typestringMust be string.
    optionsobjectThe length of the custom input text field.
    max_lengthintegerThe number of characters the custom text field can be. You can specify a maximum length up to 255 characters, as the limit is 255 characters.
    requiredbooleantrue or false depending on whether the custom text is required.

    The meta Object

    NameTypeDescription
    created_atstringThe date and time a product is created.
    ownerstringThe product owner, either organization or store. See Organizations.
    updated_atintegerThe date and time a product is updated.
    variation_matrixobjectThe child products defined for a product. If no variations are defined for a product, the variation_matix is empty. See Create Child Products Using Variations and Modifiers.
    variationsobjectA product's variations and the options defined for each variation. If you have specified build_rules, only the child products included in the build_rules are specified. See Variations Object.

    The variation_matrix Object

    The variation_matrix object lists the variation IDs and variation option IDs and their corresponding product IDs that are generated when the variation and variation options are built with a product. If no variations are available, the variation_matrix is empty. See Create Child Products Using Variations and Modifiers.

    NameTypeDescription
    variationstringA unique variation ID.
    variation.<key>.productstringA unique product ID generated when a variation is built.
    variation.<key>.optionstringA unique variation option ID.
    variation.<key>.option.productstringA unique product ID generated when a variation option is built.

    The variations Object

    If you specified build_rules for a product, the variations object lists the variation option IDs that you specified to include when building your child products. If no build_rules are specified, all the variation and variation options available for a product are displayed. If a product does not have any variations, then the variations attribute is not displayed. See Build Child Products Using Variations.

    NameTypeDescription
    idstringA unique ID that is generated when you create a variation.
    namestringThe name of a variation.
    optionsobjectThe options available for this variation. See Options Object.

    The options Object

    NameTypeDescription
    idstringA unique ID that is generated when you create an option.
    namestringThe name of an option.
    descriptionstringA description of an option.

    Was this helpful?

    Previous
    Get Started with PXM API