#
tokens: 32442/50000 1/825 files (page 58/61)
lines: on (toggle) GitHub
raw markdown copy reset
This is page 58 of 61. Use http://codebase.md/taurgis/sfcc-dev-mcp?lines=true&page={x} to view the full context.

# Directory Structure

```
├── .DS_Store
├── .github
│   ├── dependabot.yml
│   ├── instructions
│   │   ├── mcp-node-tests.instructions.md
│   │   └── mcp-yml-tests.instructions.md
│   ├── ISSUE_TEMPLATE
│   │   ├── bug_report.yml
│   │   ├── config.yml
│   │   ├── documentation.yml
│   │   ├── feature_request.yml
│   │   └── question.yml
│   ├── PULL_REQUEST_TEMPLATE
│   │   ├── bug_fix.md
│   │   ├── documentation.md
│   │   └── new_tool.md
│   ├── pull_request_template.md
│   └── workflows
│       ├── ci.yml
│       ├── deploy-pages.yml
│       ├── publish.yml
│       └── update-docs.yml
├── .gitignore
├── .husky
│   └── pre-commit
├── aegis.config.docs-only.json
├── aegis.config.json
├── aegis.config.with-dw.json
├── AGENTS.md
├── ai-instructions
│   ├── claude-desktop
│   │   └── claude_custom_instructions.md
│   ├── cursor
│   │   └── .cursor
│   │       └── rules
│   │           ├── debugging-workflows.mdc
│   │           ├── hooks-development.mdc
│   │           ├── isml-templates.mdc
│   │           ├── job-framework.mdc
│   │           ├── performance-optimization.mdc
│   │           ├── scapi-endpoints.mdc
│   │           ├── security-patterns.mdc
│   │           ├── sfcc-development.mdc
│   │           ├── sfra-controllers.mdc
│   │           ├── sfra-models.mdc
│   │           ├── system-objects.mdc
│   │           └── testing-patterns.mdc
│   └── github-copilot
│       └── copilot-instructions.md
├── CHANGELOG.md
├── CONTRIBUTING.md
├── docs
│   ├── best-practices
│   │   ├── cartridge_creation.md
│   │   ├── isml_templates.md
│   │   ├── job_framework.md
│   │   ├── localserviceregistry.md
│   │   ├── ocapi_hooks.md
│   │   ├── performance.md
│   │   ├── scapi_custom_endpoint.md
│   │   ├── scapi_hooks.md
│   │   ├── security.md
│   │   ├── sfra_client_side_js.md
│   │   ├── sfra_controllers.md
│   │   ├── sfra_models.md
│   │   └── sfra_scss.md
│   ├── dw_campaign
│   │   ├── ABTest.md
│   │   ├── ABTestMgr.md
│   │   ├── ABTestSegment.md
│   │   ├── AmountDiscount.md
│   │   ├── ApproachingDiscount.md
│   │   ├── BonusChoiceDiscount.md
│   │   ├── BonusDiscount.md
│   │   ├── Campaign.md
│   │   ├── CampaignMgr.md
│   │   ├── CampaignStatusCodes.md
│   │   ├── Coupon.md
│   │   ├── CouponMgr.md
│   │   ├── CouponRedemption.md
│   │   ├── CouponStatusCodes.md
│   │   ├── Discount.md
│   │   ├── DiscountPlan.md
│   │   ├── FixedPriceDiscount.md
│   │   ├── FixedPriceShippingDiscount.md
│   │   ├── FreeDiscount.md
│   │   ├── FreeShippingDiscount.md
│   │   ├── PercentageDiscount.md
│   │   ├── PercentageOptionDiscount.md
│   │   ├── PriceBookPriceDiscount.md
│   │   ├── Promotion.md
│   │   ├── PromotionMgr.md
│   │   ├── PromotionPlan.md
│   │   ├── SlotContent.md
│   │   ├── SourceCodeGroup.md
│   │   ├── SourceCodeInfo.md
│   │   ├── SourceCodeStatusCodes.md
│   │   └── TotalFixedPriceDiscount.md
│   ├── dw_catalog
│   │   ├── Catalog.md
│   │   ├── CatalogMgr.md
│   │   ├── Category.md
│   │   ├── CategoryAssignment.md
│   │   ├── CategoryLink.md
│   │   ├── PriceBook.md
│   │   ├── PriceBookMgr.md
│   │   ├── Product.md
│   │   ├── ProductActiveData.md
│   │   ├── ProductAttributeModel.md
│   │   ├── ProductAvailabilityLevels.md
│   │   ├── ProductAvailabilityModel.md
│   │   ├── ProductInventoryList.md
│   │   ├── ProductInventoryMgr.md
│   │   ├── ProductInventoryRecord.md
│   │   ├── ProductLink.md
│   │   ├── ProductMgr.md
│   │   ├── ProductOption.md
│   │   ├── ProductOptionModel.md
│   │   ├── ProductOptionValue.md
│   │   ├── ProductPriceInfo.md
│   │   ├── ProductPriceModel.md
│   │   ├── ProductPriceTable.md
│   │   ├── ProductSearchHit.md
│   │   ├── ProductSearchModel.md
│   │   ├── ProductSearchRefinementDefinition.md
│   │   ├── ProductSearchRefinements.md
│   │   ├── ProductSearchRefinementValue.md
│   │   ├── ProductVariationAttribute.md
│   │   ├── ProductVariationAttributeValue.md
│   │   ├── ProductVariationModel.md
│   │   ├── Recommendation.md
│   │   ├── SearchModel.md
│   │   ├── SearchRefinementDefinition.md
│   │   ├── SearchRefinements.md
│   │   ├── SearchRefinementValue.md
│   │   ├── SortingOption.md
│   │   ├── SortingRule.md
│   │   ├── Store.md
│   │   ├── StoreGroup.md
│   │   ├── StoreInventoryFilter.md
│   │   ├── StoreInventoryFilterValue.md
│   │   ├── StoreMgr.md
│   │   ├── Variant.md
│   │   └── VariationGroup.md
│   ├── dw_content
│   │   ├── Content.md
│   │   ├── ContentMgr.md
│   │   ├── ContentSearchModel.md
│   │   ├── ContentSearchRefinementDefinition.md
│   │   ├── ContentSearchRefinements.md
│   │   ├── ContentSearchRefinementValue.md
│   │   ├── Folder.md
│   │   ├── Library.md
│   │   ├── MarkupText.md
│   │   └── MediaFile.md
│   ├── dw_crypto
│   │   ├── CertificateRef.md
│   │   ├── CertificateUtils.md
│   │   ├── Cipher.md
│   │   ├── Encoding.md
│   │   ├── JWE.md
│   │   ├── JWEHeader.md
│   │   ├── JWS.md
│   │   ├── JWSHeader.md
│   │   ├── KeyRef.md
│   │   ├── Mac.md
│   │   ├── MessageDigest.md
│   │   ├── SecureRandom.md
│   │   ├── Signature.md
│   │   ├── WeakCipher.md
│   │   ├── WeakMac.md
│   │   ├── WeakMessageDigest.md
│   │   ├── WeakSignature.md
│   │   └── X509Certificate.md
│   ├── dw_customer
│   │   ├── AddressBook.md
│   │   ├── AgentUserMgr.md
│   │   ├── AgentUserStatusCodes.md
│   │   ├── AuthenticationStatus.md
│   │   ├── Credentials.md
│   │   ├── Customer.md
│   │   ├── CustomerActiveData.md
│   │   ├── CustomerAddress.md
│   │   ├── CustomerCDPData.md
│   │   ├── CustomerContextMgr.md
│   │   ├── CustomerGroup.md
│   │   ├── CustomerList.md
│   │   ├── CustomerMgr.md
│   │   ├── CustomerPasswordConstraints.md
│   │   ├── CustomerPaymentInstrument.md
│   │   ├── CustomerStatusCodes.md
│   │   ├── EncryptedObject.md
│   │   ├── ExternalProfile.md
│   │   ├── OrderHistory.md
│   │   ├── ProductList.md
│   │   ├── ProductListItem.md
│   │   ├── ProductListItemPurchase.md
│   │   ├── ProductListMgr.md
│   │   ├── ProductListRegistrant.md
│   │   ├── Profile.md
│   │   └── Wallet.md
│   ├── dw_extensions.applepay
│   │   ├── ApplePayHookResult.md
│   │   └── ApplePayHooks.md
│   ├── dw_extensions.facebook
│   │   ├── FacebookFeedHooks.md
│   │   └── FacebookProduct.md
│   ├── dw_extensions.paymentrequest
│   │   ├── PaymentRequestHookResult.md
│   │   └── PaymentRequestHooks.md
│   ├── dw_extensions.payments
│   │   ├── SalesforceBancontactPaymentDetails.md
│   │   ├── SalesforceCardPaymentDetails.md
│   │   ├── SalesforceEpsPaymentDetails.md
│   │   ├── SalesforceIdealPaymentDetails.md
│   │   ├── SalesforceKlarnaPaymentDetails.md
│   │   ├── SalesforcePaymentDetails.md
│   │   ├── SalesforcePaymentIntent.md
│   │   ├── SalesforcePaymentMethod.md
│   │   ├── SalesforcePaymentRequest.md
│   │   ├── SalesforcePaymentsHooks.md
│   │   ├── SalesforcePaymentsMgr.md
│   │   ├── SalesforcePaymentsSiteConfiguration.md
│   │   ├── SalesforcePayPalOrder.md
│   │   ├── SalesforcePayPalOrderAddress.md
│   │   ├── SalesforcePayPalOrderPayer.md
│   │   ├── SalesforcePayPalPaymentDetails.md
│   │   ├── SalesforceSepaDebitPaymentDetails.md
│   │   └── SalesforceVenmoPaymentDetails.md
│   ├── dw_extensions.pinterest
│   │   ├── PinterestAvailability.md
│   │   ├── PinterestFeedHooks.md
│   │   ├── PinterestOrder.md
│   │   ├── PinterestOrderHooks.md
│   │   └── PinterestProduct.md
│   ├── dw_io
│   │   ├── CSVStreamReader.md
│   │   ├── CSVStreamWriter.md
│   │   ├── File.md
│   │   ├── FileReader.md
│   │   ├── FileWriter.md
│   │   ├── InputStream.md
│   │   ├── OutputStream.md
│   │   ├── PrintWriter.md
│   │   ├── RandomAccessFileReader.md
│   │   ├── Reader.md
│   │   ├── StringWriter.md
│   │   ├── Writer.md
│   │   ├── XMLIndentingStreamWriter.md
│   │   ├── XMLStreamConstants.md
│   │   ├── XMLStreamReader.md
│   │   └── XMLStreamWriter.md
│   ├── dw_job
│   │   ├── JobExecution.md
│   │   └── JobStepExecution.md
│   ├── dw_net
│   │   ├── FTPClient.md
│   │   ├── FTPFileInfo.md
│   │   ├── HTTPClient.md
│   │   ├── HTTPRequestPart.md
│   │   ├── Mail.md
│   │   ├── SFTPClient.md
│   │   ├── SFTPFileInfo.md
│   │   ├── WebDAVClient.md
│   │   └── WebDAVFileInfo.md
│   ├── dw_object
│   │   ├── ActiveData.md
│   │   ├── CustomAttributes.md
│   │   ├── CustomObject.md
│   │   ├── CustomObjectMgr.md
│   │   ├── Extensible.md
│   │   ├── ExtensibleObject.md
│   │   ├── Note.md
│   │   ├── ObjectAttributeDefinition.md
│   │   ├── ObjectAttributeGroup.md
│   │   ├── ObjectAttributeValueDefinition.md
│   │   ├── ObjectTypeDefinition.md
│   │   ├── PersistentObject.md
│   │   ├── SimpleExtensible.md
│   │   └── SystemObjectMgr.md
│   ├── dw_order
│   │   ├── AbstractItem.md
│   │   ├── AbstractItemCtnr.md
│   │   ├── Appeasement.md
│   │   ├── AppeasementItem.md
│   │   ├── Basket.md
│   │   ├── BasketMgr.md
│   │   ├── BonusDiscountLineItem.md
│   │   ├── CouponLineItem.md
│   │   ├── CreateAgentBasketLimitExceededException.md
│   │   ├── CreateBasketFromOrderException.md
│   │   ├── CreateCouponLineItemException.md
│   │   ├── CreateOrderException.md
│   │   ├── CreateTemporaryBasketLimitExceededException.md
│   │   ├── GiftCertificate.md
│   │   ├── GiftCertificateLineItem.md
│   │   ├── GiftCertificateMgr.md
│   │   ├── GiftCertificateStatusCodes.md
│   │   ├── Invoice.md
│   │   ├── InvoiceItem.md
│   │   ├── LineItem.md
│   │   ├── LineItemCtnr.md
│   │   ├── Order.md
│   │   ├── OrderAddress.md
│   │   ├── OrderItem.md
│   │   ├── OrderMgr.md
│   │   ├── OrderPaymentInstrument.md
│   │   ├── OrderProcessStatusCodes.md
│   │   ├── PaymentCard.md
│   │   ├── PaymentInstrument.md
│   │   ├── PaymentMethod.md
│   │   ├── PaymentMgr.md
│   │   ├── PaymentProcessor.md
│   │   ├── PaymentStatusCodes.md
│   │   ├── PaymentTransaction.md
│   │   ├── PriceAdjustment.md
│   │   ├── PriceAdjustmentLimitTypes.md
│   │   ├── ProductLineItem.md
│   │   ├── ProductShippingCost.md
│   │   ├── ProductShippingLineItem.md
│   │   ├── ProductShippingModel.md
│   │   ├── Return.md
│   │   ├── ReturnCase.md
│   │   ├── ReturnCaseItem.md
│   │   ├── ReturnItem.md
│   │   ├── Shipment.md
│   │   ├── ShipmentShippingCost.md
│   │   ├── ShipmentShippingModel.md
│   │   ├── ShippingLineItem.md
│   │   ├── ShippingLocation.md
│   │   ├── ShippingMethod.md
│   │   ├── ShippingMgr.md
│   │   ├── ShippingOrder.md
│   │   ├── ShippingOrderItem.md
│   │   ├── SumItem.md
│   │   ├── TaxGroup.md
│   │   ├── TaxItem.md
│   │   ├── TaxMgr.md
│   │   ├── TrackingInfo.md
│   │   └── TrackingRef.md
│   ├── dw_order.hooks
│   │   ├── CalculateHooks.md
│   │   ├── OrderHooks.md
│   │   ├── PaymentHooks.md
│   │   ├── ReturnHooks.md
│   │   └── ShippingOrderHooks.md
│   ├── dw_rpc
│   │   ├── SOAPUtil.md
│   │   ├── Stub.md
│   │   └── WebReference.md
│   ├── dw_suggest
│   │   ├── BrandSuggestions.md
│   │   ├── CategorySuggestions.md
│   │   ├── ContentSuggestions.md
│   │   ├── CustomSuggestions.md
│   │   ├── ProductSuggestions.md
│   │   ├── SearchPhraseSuggestions.md
│   │   ├── SuggestedCategory.md
│   │   ├── SuggestedContent.md
│   │   ├── SuggestedPhrase.md
│   │   ├── SuggestedProduct.md
│   │   ├── SuggestedTerm.md
│   │   ├── SuggestedTerms.md
│   │   ├── Suggestions.md
│   │   └── SuggestModel.md
│   ├── dw_svc
│   │   ├── FTPService.md
│   │   ├── FTPServiceDefinition.md
│   │   ├── HTTPFormService.md
│   │   ├── HTTPFormServiceDefinition.md
│   │   ├── HTTPService.md
│   │   ├── HTTPServiceDefinition.md
│   │   ├── LocalServiceRegistry.md
│   │   ├── Result.md
│   │   ├── Service.md
│   │   ├── ServiceCallback.md
│   │   ├── ServiceConfig.md
│   │   ├── ServiceCredential.md
│   │   ├── ServiceDefinition.md
│   │   ├── ServiceProfile.md
│   │   ├── ServiceRegistry.md
│   │   ├── SOAPService.md
│   │   └── SOAPServiceDefinition.md
│   ├── dw_system
│   │   ├── AgentUserStatusCodes.md
│   │   ├── Cache.md
│   │   ├── CacheMgr.md
│   │   ├── HookMgr.md
│   │   ├── InternalObject.md
│   │   ├── JobProcessMonitor.md
│   │   ├── Log.md
│   │   ├── Logger.md
│   │   ├── LogNDC.md
│   │   ├── OrganizationPreferences.md
│   │   ├── Pipeline.md
│   │   ├── PipelineDictionary.md
│   │   ├── RemoteInclude.md
│   │   ├── Request.md
│   │   ├── RequestHooks.md
│   │   ├── Response.md
│   │   ├── RESTErrorResponse.md
│   │   ├── RESTResponseMgr.md
│   │   ├── RESTSuccessResponse.md
│   │   ├── SearchStatus.md
│   │   ├── Session.md
│   │   ├── Site.md
│   │   ├── SitePreferences.md
│   │   ├── Status.md
│   │   ├── StatusItem.md
│   │   ├── System.md
│   │   └── Transaction.md
│   ├── dw_util
│   │   ├── ArrayList.md
│   │   ├── Assert.md
│   │   ├── BigInteger.md
│   │   ├── Bytes.md
│   │   ├── Calendar.md
│   │   ├── Collection.md
│   │   ├── Currency.md
│   │   ├── DateUtils.md
│   │   ├── Decimal.md
│   │   ├── FilteringCollection.md
│   │   ├── Geolocation.md
│   │   ├── HashMap.md
│   │   ├── HashSet.md
│   │   ├── Iterator.md
│   │   ├── LinkedHashMap.md
│   │   ├── LinkedHashSet.md
│   │   ├── List.md
│   │   ├── Locale.md
│   │   ├── Map.md
│   │   ├── MapEntry.md
│   │   ├── MappingKey.md
│   │   ├── MappingMgr.md
│   │   ├── PropertyComparator.md
│   │   ├── SecureEncoder.md
│   │   ├── SecureFilter.md
│   │   ├── SeekableIterator.md
│   │   ├── Set.md
│   │   ├── SortedMap.md
│   │   ├── SortedSet.md
│   │   ├── StringUtils.md
│   │   ├── Template.md
│   │   └── UUIDUtils.md
│   ├── dw_value
│   │   ├── EnumValue.md
│   │   ├── MimeEncodedText.md
│   │   ├── Money.md
│   │   └── Quantity.md
│   ├── dw_web
│   │   ├── ClickStream.md
│   │   ├── ClickStreamEntry.md
│   │   ├── Cookie.md
│   │   ├── Cookies.md
│   │   ├── CSRFProtection.md
│   │   ├── Form.md
│   │   ├── FormAction.md
│   │   ├── FormElement.md
│   │   ├── FormElementValidationResult.md
│   │   ├── FormField.md
│   │   ├── FormFieldOption.md
│   │   ├── FormFieldOptions.md
│   │   ├── FormGroup.md
│   │   ├── FormList.md
│   │   ├── FormListItem.md
│   │   ├── Forms.md
│   │   ├── HttpParameter.md
│   │   ├── HttpParameterMap.md
│   │   ├── LoopIterator.md
│   │   ├── PageMetaData.md
│   │   ├── PageMetaTag.md
│   │   ├── PagingModel.md
│   │   ├── Resource.md
│   │   ├── URL.md
│   │   ├── URLAction.md
│   │   ├── URLParameter.md
│   │   ├── URLRedirect.md
│   │   ├── URLRedirectMgr.md
│   │   └── URLUtils.md
│   ├── sfra
│   │   ├── account.md
│   │   ├── address.md
│   │   ├── billing.md
│   │   ├── cart.md
│   │   ├── categories.md
│   │   ├── content.md
│   │   ├── locale.md
│   │   ├── order.md
│   │   ├── payment.md
│   │   ├── price-default.md
│   │   ├── price-range.md
│   │   ├── price-tiered.md
│   │   ├── product-bundle.md
│   │   ├── product-full.md
│   │   ├── product-line-items.md
│   │   ├── product-search.md
│   │   ├── product-tile.md
│   │   ├── querystring.md
│   │   ├── render.md
│   │   ├── request.md
│   │   ├── response.md
│   │   ├── server.md
│   │   ├── shipping.md
│   │   ├── store.md
│   │   ├── stores.md
│   │   └── totals.md
│   └── TopLevel
│       ├── APIException.md
│       ├── arguments.md
│       ├── Array.md
│       ├── ArrayBuffer.md
│       ├── BigInt.md
│       ├── Boolean.md
│       ├── ConversionError.md
│       ├── DataView.md
│       ├── Date.md
│       ├── Error.md
│       ├── ES6Iterator.md
│       ├── EvalError.md
│       ├── Fault.md
│       ├── Float32Array.md
│       ├── Float64Array.md
│       ├── Function.md
│       ├── Generator.md
│       ├── global.md
│       ├── Int16Array.md
│       ├── Int32Array.md
│       ├── Int8Array.md
│       ├── InternalError.md
│       ├── IOError.md
│       ├── Iterable.md
│       ├── Iterator.md
│       ├── JSON.md
│       ├── Map.md
│       ├── Math.md
│       ├── Module.md
│       ├── Namespace.md
│       ├── Number.md
│       ├── Object.md
│       ├── QName.md
│       ├── RangeError.md
│       ├── ReferenceError.md
│       ├── RegExp.md
│       ├── Set.md
│       ├── StopIteration.md
│       ├── String.md
│       ├── Symbol.md
│       ├── SyntaxError.md
│       ├── SystemError.md
│       ├── TypeError.md
│       ├── Uint16Array.md
│       ├── Uint32Array.md
│       ├── Uint8Array.md
│       ├── Uint8ClampedArray.md
│       ├── URIError.md
│       ├── WeakMap.md
│       ├── WeakSet.md
│       ├── XML.md
│       ├── XMLList.md
│       └── XMLStreamError.md
├── docs-site
│   ├── .gitignore
│   ├── App.tsx
│   ├── components
│   │   ├── Badge.tsx
│   │   ├── BreadcrumbSchema.tsx
│   │   ├── CodeBlock.tsx
│   │   ├── Collapsible.tsx
│   │   ├── ConfigBuilder.tsx
│   │   ├── ConfigHero.tsx
│   │   ├── ConfigModeTabs.tsx
│   │   ├── icons.tsx
│   │   ├── Layout.tsx
│   │   ├── LightCodeContainer.tsx
│   │   ├── NewcomerCTA.tsx
│   │   ├── NextStepsStrip.tsx
│   │   ├── OnThisPage.tsx
│   │   ├── Search.tsx
│   │   ├── SEO.tsx
│   │   ├── Sidebar.tsx
│   │   ├── StructuredData.tsx
│   │   ├── ToolCard.tsx
│   │   ├── ToolFilters.tsx
│   │   ├── Typography.tsx
│   │   └── VersionBadge.tsx
│   ├── constants.tsx
│   ├── index.html
│   ├── main.tsx
│   ├── metadata.json
│   ├── package-lock.json
│   ├── package.json
│   ├── pages
│   │   ├── AIInterfacesPage.tsx
│   │   ├── ConfigurationPage.tsx
│   │   ├── DevelopmentPage.tsx
│   │   ├── ExamplesPage.tsx
│   │   ├── FeaturesPage.tsx
│   │   ├── HomePage.tsx
│   │   ├── SecurityPage.tsx
│   │   ├── ToolsPage.tsx
│   │   └── TroubleshootingPage.tsx
│   ├── postcss.config.js
│   ├── public
│   │   ├── .well-known
│   │   │   └── security.txt
│   │   ├── 404.html
│   │   ├── android-chrome-192x192.png
│   │   ├── android-chrome-512x512.png
│   │   ├── apple-touch-icon.png
│   │   ├── explain-product-pricing-methods-no-mcp.png
│   │   ├── explain-product-pricing-methods.png
│   │   ├── favicon-16x16.png
│   │   ├── favicon-32x32.png
│   │   ├── favicon.ico
│   │   ├── llms.txt
│   │   ├── robots.txt
│   │   ├── site.webmanifest
│   │   └── sitemap.xml
│   ├── README.md
│   ├── scripts
│   │   ├── generate-search-index.js
│   │   ├── generate-sitemap.js
│   │   └── search-dev.js
│   ├── src
│   │   └── styles
│   │       ├── input.css
│   │       └── prism-theme.css
│   ├── tailwind.config.js
│   ├── tsconfig.json
│   ├── types.ts
│   ├── utils
│   │   ├── search.ts
│   │   └── toolsData.ts
│   └── vite.config.ts
├── eslint.config.js
├── jest.config.js
├── LICENSE
├── package-lock.json
├── package.json
├── README.md
├── scripts
│   └── convert-docs.js
├── SECURITY.md
├── server.json
├── src
│   ├── clients
│   │   ├── base
│   │   │   ├── http-client.ts
│   │   │   ├── oauth-token.ts
│   │   │   └── ocapi-auth-client.ts
│   │   ├── best-practices-client.ts
│   │   ├── cartridge-generation-client.ts
│   │   ├── docs
│   │   │   ├── class-content-parser.ts
│   │   │   ├── class-name-resolver.ts
│   │   │   ├── documentation-scanner.ts
│   │   │   ├── index.ts
│   │   │   └── referenced-types-extractor.ts
│   │   ├── docs-client.ts
│   │   ├── log-client.ts
│   │   ├── logs
│   │   │   ├── index.ts
│   │   │   ├── log-analyzer.ts
│   │   │   ├── log-client.ts
│   │   │   ├── log-constants.ts
│   │   │   ├── log-file-discovery.ts
│   │   │   ├── log-file-reader.ts
│   │   │   ├── log-formatter.ts
│   │   │   ├── log-processor.ts
│   │   │   ├── log-types.ts
│   │   │   └── webdav-client-manager.ts
│   │   ├── ocapi
│   │   │   ├── code-versions-client.ts
│   │   │   ├── site-preferences-client.ts
│   │   │   └── system-objects-client.ts
│   │   ├── ocapi-client.ts
│   │   └── sfra-client.ts
│   ├── config
│   │   ├── configuration-factory.ts
│   │   └── dw-json-loader.ts
│   ├── core
│   │   ├── handlers
│   │   │   ├── abstract-log-tool-handler.ts
│   │   │   ├── base-handler.ts
│   │   │   ├── best-practices-handler.ts
│   │   │   ├── cartridge-handler.ts
│   │   │   ├── client-factory.ts
│   │   │   ├── code-version-handler.ts
│   │   │   ├── docs-handler.ts
│   │   │   ├── job-log-handler.ts
│   │   │   ├── job-log-tool-config.ts
│   │   │   ├── log-handler.ts
│   │   │   ├── log-tool-config.ts
│   │   │   ├── sfra-handler.ts
│   │   │   ├── system-object-handler.ts
│   │   │   └── validation-helpers.ts
│   │   ├── server.ts
│   │   └── tool-definitions.ts
│   ├── index.ts
│   ├── main.ts
│   ├── services
│   │   ├── file-system-service.ts
│   │   ├── index.ts
│   │   └── path-service.ts
│   ├── tool-configs
│   │   ├── best-practices-tool-config.ts
│   │   ├── cartridge-tool-config.ts
│   │   ├── code-version-tool-config.ts
│   │   ├── docs-tool-config.ts
│   │   ├── job-log-tool-config.ts
│   │   ├── log-tool-config.ts
│   │   ├── sfra-tool-config.ts
│   │   └── system-object-tool-config.ts
│   ├── types
│   │   └── types.ts
│   └── utils
│       ├── cache.ts
│       ├── job-log-tool-config.ts
│       ├── job-log-utils.ts
│       ├── log-cache.ts
│       ├── log-tool-config.ts
│       ├── log-tool-constants.ts
│       ├── log-tool-utils.ts
│       ├── logger.ts
│       ├── ocapi-url-builder.ts
│       ├── path-resolver.ts
│       ├── query-builder.ts
│       ├── utils.ts
│       └── validator.ts
├── tests
│   ├── __mocks__
│   │   ├── docs-client.ts
│   │   ├── src
│   │   │   └── clients
│   │   │       └── base
│   │   │           └── http-client.js
│   │   └── webdav.js
│   ├── base-handler.test.ts
│   ├── base-http-client.test.ts
│   ├── best-practices-handler.test.ts
│   ├── cache.test.ts
│   ├── cartridge-handler.test.ts
│   ├── class-content-parser.test.ts
│   ├── class-name-resolver.test.ts
│   ├── client-factory.test.ts
│   ├── code-version-handler.test.ts
│   ├── code-versions-client.test.ts
│   ├── config.test.ts
│   ├── configuration-factory.test.ts
│   ├── docs-handler.test.ts
│   ├── documentation-scanner.test.ts
│   ├── file-system-service.test.ts
│   ├── job-log-handler.test.ts
│   ├── job-log-utils.test.ts
│   ├── log-client.test.ts
│   ├── log-handler.test.ts
│   ├── log-processor.test.ts
│   ├── logger.test.ts
│   ├── mcp
│   │   ├── AGENTS.md
│   │   ├── node
│   │   │   ├── activate-code-version-advanced.full-mode.programmatic.test.js
│   │   │   ├── code-versions.full-mode.programmatic.test.js
│   │   │   ├── generate-cartridge-structure.docs-only.programmatic.test.js
│   │   │   ├── get-available-best-practice-guides.docs-only.programmatic.test.js
│   │   │   ├── get-available-sfra-documents.programmatic.test.js
│   │   │   ├── get-best-practice-guide.docs-only.programmatic.test.js
│   │   │   ├── get-hook-reference.docs-only.programmatic.test.js
│   │   │   ├── get-job-execution-summary.full-mode.programmatic.test.js
│   │   │   ├── get-job-log-entries.full-mode.programmatic.test.js
│   │   │   ├── get-latest-debug.full-mode.programmatic.test.js
│   │   │   ├── get-latest-error.full-mode.programmatic.test.js
│   │   │   ├── get-latest-info.full-mode.programmatic.test.js
│   │   │   ├── get-latest-job-log-files.full-mode.programmatic.test.js
│   │   │   ├── get-latest-warn.full-mode.programmatic.test.js
│   │   │   ├── get-log-file-contents.full-mode.programmatic.test.js
│   │   │   ├── get-sfcc-class-documentation.docs-only.programmatic.test.js
│   │   │   ├── get-sfcc-class-info.docs-only.programmatic.test.js
│   │   │   ├── get-sfra-categories.docs-only.programmatic.test.js
│   │   │   ├── get-sfra-document.programmatic.test.js
│   │   │   ├── get-sfra-documents-by-category.docs-only.programmatic.test.js
│   │   │   ├── get-system-object-definition.full-mode.programmatic.test.js
│   │   │   ├── get-system-object-definitions.docs-only.programmatic.test.js
│   │   │   ├── get-system-object-definitions.full-mode.programmatic.test.js
│   │   │   ├── list-log-files.full-mode.programmatic.test.js
│   │   │   ├── list-sfcc-classes.docs-only.programmatic.test.js
│   │   │   ├── search-best-practices.docs-only.programmatic.test.js
│   │   │   ├── search-custom-object-attribute-definitions.full-mode.programmatic.test.js
│   │   │   ├── search-job-logs-by-name.full-mode.programmatic.test.js
│   │   │   ├── search-job-logs.full-mode.programmatic.test.js
│   │   │   ├── search-logs.full-mode.programmatic.test.js
│   │   │   ├── search-sfcc-classes.docs-only.programmatic.test.js
│   │   │   ├── search-sfcc-methods.docs-only.programmatic.test.js
│   │   │   ├── search-sfra-documentation.docs-only.programmatic.test.js
│   │   │   ├── search-site-preferences.full-mode.programmatic.test.js
│   │   │   ├── search-system-object-attribute-definitions.full-mode.programmatic.test.js
│   │   │   ├── search-system-object-attribute-groups.full-mode.programmatic.test.js
│   │   │   ├── summarize-logs.full-mode.programmatic.test.js
│   │   │   ├── tools.docs-only.programmatic.test.js
│   │   │   └── tools.full-mode.programmatic.test.js
│   │   ├── README.md
│   │   ├── test-fixtures
│   │   │   └── dw.json
│   │   └── yaml
│   │       ├── activate-code-version.docs-only.test.mcp.yml
│   │       ├── activate-code-version.full-mode.test.mcp.yml
│   │       ├── get_latest_error.test.mcp.yml
│   │       ├── get-available-best-practice-guides.docs-only.test.mcp.yml
│   │       ├── get-available-best-practice-guides.full-mode.test.mcp.yml
│   │       ├── get-available-sfra-documents.docs-only.test.mcp.yml
│   │       ├── get-available-sfra-documents.full-mode.test.mcp.yml
│   │       ├── get-best-practice-guide.docs-only.test.mcp.yml
│   │       ├── get-best-practice-guide.full-mode.test.mcp.yml
│   │       ├── get-code-versions.docs-only.test.mcp.yml
│   │       ├── get-code-versions.full-mode.test.mcp.yml
│   │       ├── get-hook-reference.docs-only.test.mcp.yml
│   │       ├── get-hook-reference.full-mode.test.mcp.yml
│   │       ├── get-job-execution-summary.full-mode.test.mcp.yml
│   │       ├── get-job-log-entries.full-mode.test.mcp.yml
│   │       ├── get-latest-debug.full-mode.test.mcp.yml
│   │       ├── get-latest-error.full-mode.test.mcp.yml
│   │       ├── get-latest-info.full-mode.test.mcp.yml
│   │       ├── get-latest-job-log-files.full-mode.test.mcp.yml
│   │       ├── get-latest-warn.full-mode.test.mcp.yml
│   │       ├── get-log-file-contents.full-mode.test.mcp.yml
│   │       ├── get-sfcc-class-documentation.docs-only.test.mcp.yml
│   │       ├── get-sfcc-class-documentation.full-mode.test.mcp.yml
│   │       ├── get-sfcc-class-info.docs-only.test.mcp.yml
│   │       ├── get-sfcc-class-info.full-mode.test.mcp.yml
│   │       ├── get-sfra-categories.docs-only.test.mcp.yml
│   │       ├── get-sfra-categories.full-mode.test.mcp.yml
│   │       ├── get-sfra-document.docs-only.test.mcp.yml
│   │       ├── get-sfra-document.full-mode.test.mcp.yml
│   │       ├── get-sfra-documents-by-category.docs-only.test.mcp.yml
│   │       ├── get-sfra-documents-by-category.full-mode.test.mcp.yml
│   │       ├── get-system-object-definition.docs-only.test.mcp.yml
│   │       ├── get-system-object-definition.full-mode.test.mcp.yml
│   │       ├── get-system-object-definitions.docs-only.test.mcp.yml
│   │       ├── get-system-object-definitions.full-mode.test.mcp.yml
│   │       ├── list-log-files.full-mode.test.mcp.yml
│   │       ├── list-sfcc-classes.docs-only.test.mcp.yml
│   │       ├── list-sfcc-classes.full-mode.test.mcp.yml
│   │       ├── search-best-practices.docs-only.test.mcp.yml
│   │       ├── search-best-practices.full-mode.test.mcp.yml
│   │       ├── search-custom-object-attribute-definitions.docs-only.test.mcp.yml
│   │       ├── search-custom-object-attribute-definitions.test.mcp.yml
│   │       ├── search-job-logs-by-name.full-mode.test.mcp.yml
│   │       ├── search-job-logs.full-mode.test.mcp.yml
│   │       ├── search-logs.full-mode.test.mcp.yml
│   │       ├── search-sfcc-classes.docs-only.test.mcp.yml
│   │       ├── search-sfcc-classes.full-mode.test.mcp.yml
│   │       ├── search-sfcc-methods.docs-only.test.mcp.yml
│   │       ├── search-sfcc-methods.full-mode.test.mcp.yml
│   │       ├── search-sfra-documentation.docs-only.test.mcp.yml
│   │       ├── search-sfra-documentation.full-mode.test.mcp.yml
│   │       ├── search-site-preferences.docs-only.test.mcp.yml
│   │       ├── search-site-preferences.full-mode.test.mcp.yml
│   │       ├── search-system-object-attribute-definitions.docs-only.test.mcp.yml
│   │       ├── search-system-object-attribute-definitions.full-mode.test.mcp.yml
│   │       ├── search-system-object-attribute-groups.docs-only.test.mcp.yml
│   │       ├── search-system-object-attribute-groups.full-mode.test.mcp.yml
│   │       ├── summarize-logs.full-mode.test.mcp.yml
│   │       ├── tools.docs-only.test.mcp.yml
│   │       └── tools.full-mode.test.mcp.yml
│   ├── oauth-token.test.ts
│   ├── ocapi-auth-client.test.ts
│   ├── ocapi-client.test.ts
│   ├── path-service.test.ts
│   ├── query-builder.test.ts
│   ├── referenced-types-extractor.test.ts
│   ├── servers
│   │   ├── sfcc-mock-server
│   │   │   ├── mock-data
│   │   │   │   └── ocapi
│   │   │   │       ├── code-versions.json
│   │   │   │       ├── custom-object-attributes-customapi.json
│   │   │   │       ├── custom-object-attributes-globalsettings.json
│   │   │   │       ├── custom-object-attributes-versionhistory.json
│   │   │   │       ├── site-preferences-ccv.json
│   │   │   │       ├── site-preferences-fastforward.json
│   │   │   │       ├── site-preferences-sfra.json
│   │   │   │       ├── site-preferences-storefront.json
│   │   │   │       ├── site-preferences-system.json
│   │   │   │       ├── system-object-attribute-groups-campaign.json
│   │   │   │       ├── system-object-attribute-groups-category.json
│   │   │   │       ├── system-object-attribute-groups-order.json
│   │   │   │       ├── system-object-attribute-groups-product.json
│   │   │   │       ├── system-object-attribute-groups-sitepreferences.json
│   │   │   │       ├── system-object-attributes-customeraddress.json
│   │   │   │       ├── system-object-attributes-product-expanded.json
│   │   │   │       ├── system-object-attributes-product.json
│   │   │   │       ├── system-object-definition-category.json
│   │   │   │       ├── system-object-definition-customer.json
│   │   │   │       ├── system-object-definition-customeraddress.json
│   │   │   │       ├── system-object-definition-order.json
│   │   │   │       ├── system-object-definition-product.json
│   │   │   │       ├── system-object-definitions-old.json
│   │   │   │       └── system-object-definitions.json
│   │   │   ├── package-lock.json
│   │   │   ├── package.json
│   │   │   ├── README.md
│   │   │   ├── scripts
│   │   │   │   └── setup-logs.js
│   │   │   ├── server.js
│   │   │   └── src
│   │   │       ├── app.js
│   │   │       ├── config
│   │   │       │   └── server-config.js
│   │   │       ├── middleware
│   │   │       │   ├── auth.js
│   │   │       │   ├── cors.js
│   │   │       │   └── logging.js
│   │   │       ├── routes
│   │   │       │   ├── ocapi
│   │   │       │   │   ├── code-versions-handler.js
│   │   │       │   │   ├── oauth-handler.js
│   │   │       │   │   ├── ocapi-error-utils.js
│   │   │       │   │   ├── ocapi-utils.js
│   │   │       │   │   ├── site-preferences-handler.js
│   │   │       │   │   └── system-objects-handler.js
│   │   │       │   ├── ocapi.js
│   │   │       │   └── webdav.js
│   │   │       └── utils
│   │   │           ├── mock-data-loader.js
│   │   │           └── webdav-xml.js
│   │   └── sfcc-mock-server-manager.ts
│   ├── sfcc-mock-server.test.ts
│   ├── site-preferences-client.test.ts
│   ├── system-objects-client.test.ts
│   ├── utils.test.ts
│   ├── validation-helpers.test.ts
│   └── validator.test.ts
├── tsconfig.json
└── tsconfig.test.json
```

# Files

--------------------------------------------------------------------------------
/docs/dw_catalog/Product.md:
--------------------------------------------------------------------------------

```markdown
   1 | ## Package: dw.catalog
   2 | 
   3 | # Class Product
   4 | 
   5 | ## Inheritance Hierarchy
   6 | 
   7 | - Object
   8 |   - dw.object.PersistentObject
   9 |   - dw.object.ExtensibleObject
  10 |     - dw.catalog.Product
  11 | 
  12 | ## Description
  13 | 
  14 | Represents a product in Commerce Cloud Digital. Products are identified by a unique product ID, sometimes called the SKU. There are several different types of product: Simple product Master products: This type of product defines a template for a set of related products which differ only by a set of defined "variation attributes", such as size or color. Master products are not orderable themselves. The variation information for a master product is available through its ProductVariationModel. Variant: Variants are the actual orderable products that are related to a master product. Each variant of a master product has a unique set of values for the defined variation attributes. Variants are said to be "mastered" by the corresponding master product. Option products: Option products define additional options, such as a warranty, which can be purchased for a defined price at the time the product is purchased. The option information for an option product is available through its ProductOptionModel. Product-sets: A product-set is a set of products which the merchant can sell as a collection in the storefront, for example an outfit of clothes. Product-sets are not orderable and therefore do not define prices. They exist only to group the products together in the storefront UI. Members of the set are called "product-set-products". Products bundles: A collection of products which can be ordered as a single unit and therefore can define its own price and inventory record. Product price and availability information are retrievable through getPriceModel() and getAvailabilityModel() respectively. Attribute information is retrievable through getAttributeModel(). Products may reference other products, either as recommendations or product links. This class provides the methods for retrieving these referenced products. Products belong to a catalog (the "owning" catalog) and are assigned to categories in other catalogs. Products assigned to categories in the site catalog are typically orderable on the site. Any API method which returns products will return an instance of a Variant for variant products. This subclass contains methods which are specific to this type of product.
  15 | 
  16 | ## Properties
  17 | 
  18 | ### activeData
  19 | 
  20 | **Type:** ProductActiveData (Read Only)
  21 | 
  22 | The active data for this product, for the current site.
  23 | 
  24 | ### allCategories
  25 | 
  26 | **Type:** Collection (Read Only)
  27 | 
  28 | A collection of all categories to which this product is assigned.
  29 | 
  30 | ### allCategoryAssignments
  31 | 
  32 | **Type:** Collection (Read Only)
  33 | 
  34 | All category assignments for this product in any catalog.
  35 | 
  36 | ### allIncomingProductLinks
  37 | 
  38 | **Type:** Collection (Read Only)
  39 | 
  40 | All incoming ProductLinks.
  41 | 
  42 | ### allProductLinks
  43 | 
  44 | **Type:** Collection (Read Only)
  45 | 
  46 | All outgoing ProductLinks.
  47 | 
  48 | ### assignedToSiteCatalog
  49 | 
  50 | **Type:** boolean (Read Only)
  51 | 
  52 | Returns true if the product is assigned to the current site (via the site catalog), otherwise
  53 |  false is returned.
  54 |  
  55 |  In case of the product being a variant, the variant will be considered as assigned if its master, one of the
  56 |  variation groups it is in or itself is assigned to the site catalog. In case this is triggered for a variation
  57 |  group the variation group is considered as assigned if its master or itself is assigned.
  58 | 
  59 | ### attributeModel
  60 | 
  61 | **Type:** ProductAttributeModel (Read Only)
  62 | 
  63 | Returns this product's ProductAttributeModel, which makes access to the
  64 |  product attribute information convenient. The model is calculated based
  65 |  on the product attributes assigned to this product's classification
  66 |  category (or any of it's ancestors) and the global attribute definitions
  67 |  for the system object type 'Product'. If this product has no
  68 |  classification category, the attribute model is calculated on the global
  69 |  attribute definitions only. If this product is a variant, then the
  70 |  attribute model is calculated based on the classification category of its
  71 |  corresponding master product.
  72 | 
  73 | ### availabilityModel
  74 | 
  75 | **Type:** ProductAvailabilityModel (Read Only)
  76 | 
  77 | The availability model, which can be used to determine availability
  78 |  information for a product.
  79 | 
  80 | ### available
  81 | 
  82 | **Type:** boolean (Read Only)
  83 | 
  84 | Identifies if the product is available.
  85 | 
  86 | ### availableFlag
  87 | 
  88 | **Type:** boolean
  89 | 
  90 | Identifies if the product is available.
  91 | 
  92 | ### brand
  93 | 
  94 | **Type:** String (Read Only)
  95 | 
  96 | The Brand of the product.
  97 | 
  98 | ### bundle
  99 | 
 100 | **Type:** boolean (Read Only)
 101 | 
 102 | Identifies if this product instance is a product bundle.
 103 | 
 104 | ### bundled
 105 | 
 106 | **Type:** boolean (Read Only)
 107 | 
 108 | Identifies if this product instance is bundled within at least one
 109 |  product bundle.
 110 | 
 111 | ### bundledProducts
 112 | 
 113 | **Type:** Collection (Read Only)
 114 | 
 115 | A collection containing all products that participate in the
 116 |  product bundle.
 117 | 
 118 | ### bundles
 119 | 
 120 | **Type:** Collection (Read Only)
 121 | 
 122 | A collection of all bundles in which this product is included.
 123 |  The method only returns bundles assigned to the current site.
 124 | 
 125 | ### categories
 126 | 
 127 | **Type:** Collection (Read Only)
 128 | 
 129 | A collection of all categories to which this product is assigned
 130 |  and which are also available through the current site.
 131 | 
 132 | ### categorized
 133 | 
 134 | **Type:** boolean (Read Only)
 135 | 
 136 | Identifies if this product is bound to at least one catalog category.
 137 | 
 138 | ### categoryAssignments
 139 | 
 140 | **Type:** Collection (Read Only)
 141 | 
 142 | A collection of category assignments for this product in
 143 |  the current site catalog.
 144 | 
 145 | ### classificationCategory
 146 | 
 147 | **Type:** Category (Read Only)
 148 | 
 149 | The classification category associated with this Product. A
 150 |  product has a single classification category which may or may not be in
 151 |  the site catalog. The classification category defines the attribute set
 152 |  of the product. See getAttributeModel() for
 153 |  how the classification category is used.
 154 | 
 155 | ### EAN
 156 | 
 157 | **Type:** String (Read Only)
 158 | 
 159 | The European Article Number of the product.
 160 | 
 161 | ### facebookEnabled
 162 | 
 163 | **Type:** boolean (Read Only)
 164 | 
 165 | Identifies if the product is Facebook enabled.
 166 | 
 167 | ### ID
 168 | 
 169 | **Type:** String (Read Only)
 170 | 
 171 | The ID of the product.
 172 | 
 173 | ### image
 174 | 
 175 | **Type:** MediaFile (Read Only)
 176 | 
 177 | The product's image.
 178 | 
 179 | ### incomingProductLinks
 180 | 
 181 | **Type:** Collection (Read Only)
 182 | 
 183 | Returns incoming ProductLinks, where the source product is a site product.
 184 | 
 185 | ### longDescription
 186 | 
 187 | **Type:** MarkupText (Read Only)
 188 | 
 189 | The product's long description in the current locale.
 190 | 
 191 | ### manufacturerName
 192 | 
 193 | **Type:** String (Read Only)
 194 | 
 195 | The name of the product manufacturer.
 196 | 
 197 | ### manufacturerSKU
 198 | 
 199 | **Type:** String (Read Only)
 200 | 
 201 | The value of the manufacturer's stock keeping unit.
 202 | 
 203 | ### master
 204 | 
 205 | **Type:** boolean (Read Only)
 206 | 
 207 | Identifies if this product instance is a product master.
 208 | 
 209 | ### minOrderQuantity
 210 | 
 211 | **Type:** Quantity (Read Only)
 212 | 
 213 | The minimum order quantity for this product.
 214 | 
 215 | ### name
 216 | 
 217 | **Type:** String (Read Only)
 218 | 
 219 | The name of the product in the current locale.
 220 | 
 221 | ### online
 222 | 
 223 | **Type:** boolean (Read Only)
 224 | 
 225 | The online status of the product. The online status
 226 |  is calculated from the online status flag and the onlineFrom
 227 |  onlineTo dates defined for the product.
 228 | 
 229 | ### onlineCategories
 230 | 
 231 | **Type:** Collection (Read Only)
 232 | 
 233 | A collection of all currently online categories to which this
 234 |  product is assigned and which are also available through the current
 235 |  site. A category is currently online if its online flag equals true and
 236 |  the current site date is within the date range defined by the onlineFrom
 237 |  and onlineTo attributes.
 238 | 
 239 | ### onlineFlag
 240 | 
 241 | **Type:** boolean (Read Only)
 242 | 
 243 | The online status flag of the product.
 244 | 
 245 | ### onlineFrom
 246 | 
 247 | **Type:** Date (Read Only)
 248 | 
 249 | The date from which the product is online or valid.
 250 | 
 251 | ### onlineTo
 252 | 
 253 | **Type:** Date (Read Only)
 254 | 
 255 | The date until which the product is online or valid.
 256 | 
 257 | ### optionModel
 258 | 
 259 | **Type:** ProductOptionModel (Read Only)
 260 | 
 261 | The product's option model. The option values selections are
 262 |  initialized with the values defined for the product, or the default values
 263 |  defined for the option.
 264 | 
 265 | ### optionProduct
 266 | 
 267 | **Type:** boolean (Read Only)
 268 | 
 269 | Identifies if the product has options.
 270 | 
 271 | ### orderableRecommendations
 272 | 
 273 | **Type:** Collection (Read Only)
 274 | 
 275 | A list of outgoing recommendations for this product. This method
 276 |  behaves similarly to getRecommendations() but additionally filters out
 277 |  recommendations for which the target product is unorderable according to
 278 |  its product availability model.
 279 | 
 280 | ### pageDescription
 281 | 
 282 | **Type:** String (Read Only)
 283 | 
 284 | Returns product's page description in the default locale.
 285 | 
 286 | ### pageKeywords
 287 | 
 288 | **Type:** String (Read Only)
 289 | 
 290 | The product's page keywords in the default locale.
 291 | 
 292 | ### pageMetaTags
 293 | 
 294 | **Type:** Array (Read Only)
 295 | 
 296 | All page meta tags, defined for this instance for which content can be generated.
 297 |  
 298 |  The meta tag content is generated based on the product detail page meta tag context and rules. The rules are
 299 |  obtained from the current product context or inherited from variation groups, master product, the primary
 300 |  category, up to the root category.
 301 | 
 302 | ### pageTitle
 303 | 
 304 | **Type:** String (Read Only)
 305 | 
 306 | The product's page title in the default locale.
 307 | 
 308 | ### pageURL
 309 | 
 310 | **Type:** String (Read Only)
 311 | 
 312 | The product's page URL in the default locale.
 313 | 
 314 | ### pinterestEnabled
 315 | 
 316 | **Type:** boolean (Read Only)
 317 | 
 318 | Identifies if the product is Pinterest enabled.
 319 | 
 320 | ### priceModel
 321 | 
 322 | **Type:** ProductPriceModel (Read Only)
 323 | 
 324 | The price model, which can be used to retrieve a price
 325 |  for this product.
 326 | 
 327 | ### primaryCategory
 328 | 
 329 | **Type:** Category (Read Only)
 330 | 
 331 | The primary category of the product within the current site catalog.
 332 | 
 333 | ### primaryCategoryAssignment
 334 | 
 335 | **Type:** CategoryAssignment (Read Only)
 336 | 
 337 | The category assignment to the primary category in the current site
 338 |  catalog or null if no primary category is defined within the current site
 339 |  catalog.
 340 | 
 341 | ### product
 342 | 
 343 | **Type:** boolean (Read Only)
 344 | 
 345 | Returns 'true' if the instance represents a product. Returns 'false' if
 346 |  the instance represents a product set.
 347 | 
 348 | ### productLinks
 349 | 
 350 | **Type:** Collection (Read Only)
 351 | 
 352 | All outgoing ProductLinks, where the target product is also
 353 |  available in the current site. The ProductLinks are unsorted.
 354 | 
 355 | ### productSet
 356 | 
 357 | **Type:** boolean (Read Only)
 358 | 
 359 | Returns 'true' if the instance represents a product set, otherwise 'false'.
 360 | 
 361 | ### productSetProduct
 362 | 
 363 | **Type:** boolean (Read Only)
 364 | 
 365 | Returns true if this product is part of any product set, otherwise false.
 366 | 
 367 | ### productSetProducts
 368 | 
 369 | **Type:** Collection (Read Only)
 370 | 
 371 | A collection of all products which are assigned to this product
 372 |  and which are also available through the current site.  If this product
 373 |  does not represent a product set then an empty collection will be
 374 |  returned.
 375 | 
 376 | ### productSets
 377 | 
 378 | **Type:** Collection (Read Only)
 379 | 
 380 | A collection of all product sets in which this product is included.
 381 |  The method only returns product sets assigned to the current site.
 382 | 
 383 | ### recommendations
 384 | 
 385 | **Type:** Collection (Read Only)
 386 | 
 387 | The outgoing recommendations for this product which
 388 |  belong to the site catalog.  If this product is not assigned to the site
 389 |  catalog, or there is no site catalog, an empty collection is returned.
 390 |  Only recommendations for which the target product exists and is assigned
 391 |  to the site catalog are returned.  The recommendations are sorted by
 392 |  their explicitly set order.
 393 | 
 394 | ### retailSet
 395 | 
 396 | **Type:** boolean (Read Only)
 397 | 
 398 | Identifies if this product instance is part of a retail set.
 399 | 
 400 | ### searchable
 401 | 
 402 | **Type:** boolean (Read Only)
 403 | 
 404 | Identifies if the product is searchable.
 405 | 
 406 | ### searchableFlag
 407 | 
 408 | **Type:** boolean (Read Only)
 409 | 
 410 | Returns, whether the product is currently searchable.
 411 | 
 412 | ### searchableIfUnavailableFlag
 413 | 
 414 | **Type:** Product (Read Only)
 415 | 
 416 | The searchable status of the Product if unavailable.
 417 | 
 418 |  Besides true or false, the return value null indicates that the value is not set.
 419 | 
 420 | ### searchPlacement
 421 | 
 422 | **Type:** Number (Read Only)
 423 | 
 424 | The product's search placement classification. The higher the
 425 |  numeric product placement value, the more relevant is the product when
 426 |  sorting search results. The range of numeric placement values is
 427 |  defined in the meta data of object type 'Product' and can therefore be
 428 |  customized.
 429 | 
 430 | ### searchRank
 431 | 
 432 | **Type:** Number (Read Only)
 433 | 
 434 | The product's search rank. The higher the numeric product rank,
 435 |  the more relevant is the product when sorting search results. The range of
 436 |  numeric rank values is defined in the meta data of object type 'Product'
 437 |  and can therefore be customized.
 438 | 
 439 | ### shortDescription
 440 | 
 441 | **Type:** MarkupText (Read Only)
 442 | 
 443 | The product's short description in the current locale.
 444 | 
 445 | ### siteMapChangeFrequency
 446 | 
 447 | **Type:** String (Read Only)
 448 | 
 449 | The product's change frequency needed for the sitemap creation.
 450 | 
 451 | ### siteMapIncluded
 452 | 
 453 | **Type:** Number (Read Only)
 454 | 
 455 | The status if the product is included into the sitemap.
 456 | 
 457 | ### siteMapPriority
 458 | 
 459 | **Type:** Number (Read Only)
 460 | 
 461 | The product's priority needed for the sitemap creation.
 462 | 
 463 | ### siteProduct
 464 | 
 465 | **Type:** boolean (Read Only)
 466 | 
 467 | Returns 'true' if the product is assigned to the current site (via the
 468 |  site catalog), otherwise 'false' is returned.
 469 | 
 470 | ### stepQuantity
 471 | 
 472 | **Type:** Quantity (Read Only)
 473 | 
 474 | The steps in which the order amount of the product can be
 475 |  increased.
 476 | 
 477 | ### storeReceiptName
 478 | 
 479 | **Type:** String (Read Only)
 480 | 
 481 | The store receipt name of the product in the current locale.
 482 | 
 483 | ### storeTaxClass
 484 | 
 485 | **Type:** String (Read Only)
 486 | 
 487 | The store tax class ID.
 488 |  This is an optional override for in-store tax calculation.
 489 | 
 490 | ### taxClassID
 491 | 
 492 | **Type:** String (Read Only)
 493 | 
 494 | The ID of the product's tax class, by resolving
 495 |  the Global Preference setting selected. If the Localized
 496 |  Tax Class setting under Global Preferences -> Products is
 497 |  selected, the localizedTaxClassID attribute value will be
 498 |  returned, else the legacy taxClassID attribute value will
 499 |  be returned.
 500 | 
 501 | ### template
 502 | 
 503 | **Type:** String (Read Only)
 504 | 
 505 | The name of the product's rendering template.
 506 | 
 507 | ### thumbnail
 508 | 
 509 | **Type:** MediaFile (Read Only)
 510 | 
 511 | The product's thumbnail image.
 512 | 
 513 | ### unit
 514 | 
 515 | **Type:** String (Read Only)
 516 | 
 517 | The product's sales unit.
 518 | 
 519 | ### unitQuantity
 520 | 
 521 | **Type:** Quantity (Read Only)
 522 | 
 523 | The product's unit quantity.
 524 | 
 525 | ### UPC
 526 | 
 527 | **Type:** String (Read Only)
 528 | 
 529 | The Universal Product Code of the product.
 530 | 
 531 | ### variant
 532 | 
 533 | **Type:** boolean (Read Only)
 534 | 
 535 | Identifies if this product instance is mastered by a product master.
 536 | 
 537 | ### variants
 538 | 
 539 | **Type:** Collection (Read Only)
 540 | 
 541 | A collection of all variants assigned to this variation master
 542 |  or variation group product. All variants are returned regardless of whether
 543 |  they are online or offline.
 544 | 
 545 |  If this product does not represent a variation master or variation group
 546 |  product then an empty collection is returned.
 547 | 
 548 | ### variationGroup
 549 | 
 550 | **Type:** boolean (Read Only)
 551 | 
 552 | Identifies if this product instance is a variation group product.
 553 | 
 554 | ### variationGroups
 555 | 
 556 | **Type:** Collection (Read Only)
 557 | 
 558 | A collection of all variation groups assigned to this variation
 559 |  master product. All variation groups are returned regardless of whether
 560 |  they are online or offline.
 561 | 
 562 |  If this product does not represent a variation master product then an
 563 |  empty collection is returned.
 564 | 
 565 | ### variationModel
 566 | 
 567 | **Type:** ProductVariationModel (Read Only)
 568 | 
 569 | The variation model of this product. If this product is a master
 570 |  product, then the returned model will encapsulate all the information
 571 |  about its variation attributes and variants. If this product is a variant
 572 |  product, then the returned model will encapsulate all the same
 573 |  information, but additionally pre-select all the variation attribute
 574 |  values of this variant. (See ProductVariationModel for
 575 |  details on what "selected" means.) If this product is neither a master
 576 |  product or a variation product, then a model will be returned but will be
 577 |  essentially empty and not useful for any particular purpose.
 578 | 
 579 | ## Constructor Summary
 580 | 
 581 | ## Method Summary
 582 | 
 583 | ### assignedToCategory
 584 | 
 585 | **Signature:** `assignedToCategory(category : Category) : boolean`
 586 | 
 587 | Identifies if this product is bound to the specified catalog category.
 588 | 
 589 | ### getActiveData
 590 | 
 591 | **Signature:** `getActiveData() : ProductActiveData`
 592 | 
 593 | Returns the active data for this product, for the current site.
 594 | 
 595 | ### getAllCategories
 596 | 
 597 | **Signature:** `getAllCategories() : Collection`
 598 | 
 599 | Returns a collection of all categories to which this product is assigned.
 600 | 
 601 | ### getAllCategoryAssignments
 602 | 
 603 | **Signature:** `getAllCategoryAssignments() : Collection`
 604 | 
 605 | Returns all category assignments for this product in any catalog.
 606 | 
 607 | ### getAllIncomingProductLinks
 608 | 
 609 | **Signature:** `getAllIncomingProductLinks() : Collection`
 610 | 
 611 | Returns all incoming ProductLinks.
 612 | 
 613 | ### getAllIncomingProductLinks
 614 | 
 615 | **Signature:** `getAllIncomingProductLinks(type : Number) : Collection`
 616 | 
 617 | Returns all incoming ProductLinks of a specific type.
 618 | 
 619 | ### getAllProductLinks
 620 | 
 621 | **Signature:** `getAllProductLinks() : Collection`
 622 | 
 623 | Returns all outgoing ProductLinks.
 624 | 
 625 | ### getAllProductLinks
 626 | 
 627 | **Signature:** `getAllProductLinks(type : Number) : Collection`
 628 | 
 629 | Returns all outgoing ProductLinks of a specific type.
 630 | 
 631 | ### getAllRecommendations
 632 | 
 633 | **Signature:** `getAllRecommendations(catalog : Catalog) : Collection`
 634 | 
 635 | Returns the outgoing recommendations for this product which belong to the specified catalog.
 636 | 
 637 | ### getAllRecommendations
 638 | 
 639 | **Signature:** `getAllRecommendations(catalog : Catalog, type : Number) : Collection`
 640 | 
 641 | Returns the outgoing recommendations for this product which are of the specified type and which belong to the specified catalog.
 642 | 
 643 | ### getAttributeModel
 644 | 
 645 | **Signature:** `getAttributeModel() : ProductAttributeModel`
 646 | 
 647 | Returns this product's ProductAttributeModel, which makes access to the product attribute information convenient.
 648 | 
 649 | ### getAvailabilityModel
 650 | 
 651 | **Signature:** `getAvailabilityModel() : ProductAvailabilityModel`
 652 | 
 653 | Returns the availability model, which can be used to determine availability information for a product.
 654 | 
 655 | ### getAvailabilityModel
 656 | 
 657 | **Signature:** `getAvailabilityModel(list : ProductInventoryList) : ProductAvailabilityModel`
 658 | 
 659 | Returns the availability model of the given inventory list, which can be used to determine availability information for a product.
 660 | 
 661 | ### getAvailableFlag
 662 | 
 663 | **Signature:** `getAvailableFlag() : boolean`
 664 | 
 665 | Identifies if the product is available.
 666 | 
 667 | ### getBrand
 668 | 
 669 | **Signature:** `getBrand() : String`
 670 | 
 671 | Returns the Brand of the product.
 672 | 
 673 | ### getBundledProductQuantity
 674 | 
 675 | **Signature:** `getBundledProductQuantity(aProduct : Product) : Quantity`
 676 | 
 677 | Returns the quantity of the specified product within the bundle.
 678 | 
 679 | ### getBundledProducts
 680 | 
 681 | **Signature:** `getBundledProducts() : Collection`
 682 | 
 683 | Returns a collection containing all products that participate in the product bundle.
 684 | 
 685 | ### getBundles
 686 | 
 687 | **Signature:** `getBundles() : Collection`
 688 | 
 689 | Returns a collection of all bundles in which this product is included.
 690 | 
 691 | ### getCategories
 692 | 
 693 | **Signature:** `getCategories() : Collection`
 694 | 
 695 | Returns a collection of all categories to which this product is assigned and which are also available through the current site.
 696 | 
 697 | ### getCategoryAssignment
 698 | 
 699 | **Signature:** `getCategoryAssignment(category : Category) : CategoryAssignment`
 700 | 
 701 | Returns the category assignment for a specific category.
 702 | 
 703 | ### getCategoryAssignments
 704 | 
 705 | **Signature:** `getCategoryAssignments() : Collection`
 706 | 
 707 | Returns a collection of category assignments for this product in the current site catalog.
 708 | 
 709 | ### getClassificationCategory
 710 | 
 711 | **Signature:** `getClassificationCategory() : Category`
 712 | 
 713 | Returns the classification category associated with this Product.
 714 | 
 715 | ### getEAN
 716 | 
 717 | **Signature:** `getEAN() : String`
 718 | 
 719 | Returns the European Article Number of the product.
 720 | 
 721 | ### getID
 722 | 
 723 | **Signature:** `getID() : String`
 724 | 
 725 | Returns the ID of the product.
 726 | 
 727 | ### getImage
 728 | 
 729 | **Signature:** `getImage() : MediaFile`
 730 | 
 731 | Returns the product's image.
 732 | 
 733 | ### getImage
 734 | 
 735 | **Signature:** `getImage(viewtype : String, index : Number) : MediaFile`
 736 | 
 737 | The method calls getImages(String) and returns the image at the specific index.
 738 | 
 739 | ### getImage
 740 | 
 741 | **Signature:** `getImage(viewtype : String) : MediaFile`
 742 | 
 743 | The method calls getImages(String) and returns the first image.
 744 | 
 745 | ### getImages
 746 | 
 747 | **Signature:** `getImages(viewtype : String) : List`
 748 | 
 749 | Returns all images assigned to this product for a specific view type, e.g.
 750 | 
 751 | ### getIncomingProductLinks
 752 | 
 753 | **Signature:** `getIncomingProductLinks() : Collection`
 754 | 
 755 | Returns incoming ProductLinks, where the source product is a site product.
 756 | 
 757 | ### getIncomingProductLinks
 758 | 
 759 | **Signature:** `getIncomingProductLinks(type : Number) : Collection`
 760 | 
 761 | Returns incoming ProductLinks, where the source product is a site product of a specific type.
 762 | 
 763 | ### getLongDescription
 764 | 
 765 | **Signature:** `getLongDescription() : MarkupText`
 766 | 
 767 | Returns the product's long description in the current locale.
 768 | 
 769 | ### getManufacturerName
 770 | 
 771 | **Signature:** `getManufacturerName() : String`
 772 | 
 773 | Returns the name of the product manufacturer.
 774 | 
 775 | ### getManufacturerSKU
 776 | 
 777 | **Signature:** `getManufacturerSKU() : String`
 778 | 
 779 | Returns the value of the manufacturer's stock keeping unit.
 780 | 
 781 | ### getMinOrderQuantity
 782 | 
 783 | **Signature:** `getMinOrderQuantity() : Quantity`
 784 | 
 785 | Returns the minimum order quantity for this product.
 786 | 
 787 | ### getName
 788 | 
 789 | **Signature:** `getName() : String`
 790 | 
 791 | Returns the name of the product in the current locale.
 792 | 
 793 | ### getOnlineCategories
 794 | 
 795 | **Signature:** `getOnlineCategories() : Collection`
 796 | 
 797 | Returns a collection of all currently online categories to which this product is assigned and which are also available through the current site.
 798 | 
 799 | ### getOnlineFlag
 800 | 
 801 | **Signature:** `getOnlineFlag() : boolean`
 802 | 
 803 | Returns the online status flag of the product.
 804 | 
 805 | ### getOnlineFrom
 806 | 
 807 | **Signature:** `getOnlineFrom() : Date`
 808 | 
 809 | Returns the date from which the product is online or valid.
 810 | 
 811 | ### getOnlineTo
 812 | 
 813 | **Signature:** `getOnlineTo() : Date`
 814 | 
 815 | Returns the date until which the product is online or valid.
 816 | 
 817 | ### getOptionModel
 818 | 
 819 | **Signature:** `getOptionModel() : ProductOptionModel`
 820 | 
 821 | Returns the product's option model.
 822 | 
 823 | ### getOrderableRecommendations
 824 | 
 825 | **Signature:** `getOrderableRecommendations() : Collection`
 826 | 
 827 | Returns a list of outgoing recommendations for this product.
 828 | 
 829 | ### getOrderableRecommendations
 830 | 
 831 | **Signature:** `getOrderableRecommendations(type : Number) : Collection`
 832 | 
 833 | Returns a list of outgoing recommendations for this product.
 834 | 
 835 | ### getPageDescription
 836 | 
 837 | **Signature:** `getPageDescription() : String`
 838 | 
 839 | Returns product's page description in the default locale.
 840 | 
 841 | ### getPageKeywords
 842 | 
 843 | **Signature:** `getPageKeywords() : String`
 844 | 
 845 | Returns the product's page keywords in the default locale.
 846 | 
 847 | ### getPageMetaTag
 848 | 
 849 | **Signature:** `getPageMetaTag(id : String) : PageMetaTag`
 850 | 
 851 | Returns the page meta tag for the specified id.
 852 | 
 853 | ### getPageMetaTags
 854 | 
 855 | **Signature:** `getPageMetaTags() : Array`
 856 | 
 857 | Returns all page meta tags, defined for this instance for which content can be generated.
 858 | 
 859 | ### getPageTitle
 860 | 
 861 | **Signature:** `getPageTitle() : String`
 862 | 
 863 | Returns the product's page title in the default locale.
 864 | 
 865 | ### getPageURL
 866 | 
 867 | **Signature:** `getPageURL() : String`
 868 | 
 869 | Returns the product's page URL in the default locale.
 870 | 
 871 | ### getPriceModel
 872 | 
 873 | **Signature:** `getPriceModel() : ProductPriceModel`
 874 | 
 875 | Returns the price model, which can be used to retrieve a price for this product.
 876 | 
 877 | ### getPriceModel
 878 | 
 879 | **Signature:** `getPriceModel(optionModel : ProductOptionModel) : ProductPriceModel`
 880 | 
 881 | Returns the price model based on the specified optionModel.
 882 | 
 883 | ### getPrimaryCategory
 884 | 
 885 | **Signature:** `getPrimaryCategory() : Category`
 886 | 
 887 | Returns the primary category of the product within the current site catalog.
 888 | 
 889 | ### getPrimaryCategoryAssignment
 890 | 
 891 | **Signature:** `getPrimaryCategoryAssignment() : CategoryAssignment`
 892 | 
 893 | Returns the category assignment to the primary category in the current site catalog or null if no primary category is defined within the current site catalog.
 894 | 
 895 | ### getProductLinks
 896 | 
 897 | **Signature:** `getProductLinks() : Collection`
 898 | 
 899 | Returns all outgoing ProductLinks, where the target product is also available in the current site.
 900 | 
 901 | ### getProductLinks
 902 | 
 903 | **Signature:** `getProductLinks(type : Number) : Collection`
 904 | 
 905 | Returns all outgoing ProductLinks of a specific type, where the target product is also available in the current site.
 906 | 
 907 | ### getProductSetProducts
 908 | 
 909 | **Signature:** `getProductSetProducts() : Collection`
 910 | 
 911 | Returns a collection of all products which are assigned to this product and which are also available through the current site.
 912 | 
 913 | ### getProductSets
 914 | 
 915 | **Signature:** `getProductSets() : Collection`
 916 | 
 917 | Returns a collection of all product sets in which this product is included.
 918 | 
 919 | ### getRecommendations
 920 | 
 921 | **Signature:** `getRecommendations() : Collection`
 922 | 
 923 | Returns the outgoing recommendations for this product which belong to the site catalog.
 924 | 
 925 | ### getRecommendations
 926 | 
 927 | **Signature:** `getRecommendations(type : Number) : Collection`
 928 | 
 929 | Returns the outgoing recommendations for this product which are of the specified type and which belong to the site catalog.
 930 | 
 931 | ### getSearchableFlag
 932 | 
 933 | **Signature:** `getSearchableFlag() : boolean`
 934 | 
 935 | Returns, whether the product is currently searchable.
 936 | 
 937 | ### getSearchableIfUnavailableFlag
 938 | 
 939 | **Signature:** `getSearchableIfUnavailableFlag() : boolean`
 940 | 
 941 | Returns the searchable status of the Product if unavailable.
 942 | 
 943 | ### getSearchPlacement
 944 | 
 945 | **Signature:** `getSearchPlacement() : Number`
 946 | 
 947 | Returns the product's search placement classification.
 948 | 
 949 | ### getSearchRank
 950 | 
 951 | **Signature:** `getSearchRank() : Number`
 952 | 
 953 | Returns the product's search rank.
 954 | 
 955 | ### getShortDescription
 956 | 
 957 | **Signature:** `getShortDescription() : MarkupText`
 958 | 
 959 | Returns the product's short description in the current locale.
 960 | 
 961 | ### getSiteMapChangeFrequency
 962 | 
 963 | **Signature:** `getSiteMapChangeFrequency() : String`
 964 | 
 965 | Returns the product's change frequency needed for the sitemap creation.
 966 | 
 967 | ### getSiteMapIncluded
 968 | 
 969 | **Signature:** `getSiteMapIncluded() : Number`
 970 | 
 971 | Returns the status if the product is included into the sitemap.
 972 | 
 973 | ### getSiteMapPriority
 974 | 
 975 | **Signature:** `getSiteMapPriority() : Number`
 976 | 
 977 | Returns the product's priority needed for the sitemap creation.
 978 | 
 979 | ### getStepQuantity
 980 | 
 981 | **Signature:** `getStepQuantity() : Quantity`
 982 | 
 983 | Returns the steps in which the order amount of the product can be increased.
 984 | 
 985 | ### getStoreReceiptName
 986 | 
 987 | **Signature:** `getStoreReceiptName() : String`
 988 | 
 989 | Returns the store receipt name of the product in the current locale.
 990 | 
 991 | ### getStoreTaxClass
 992 | 
 993 | **Signature:** `getStoreTaxClass() : String`
 994 | 
 995 | Returns the store tax class ID.
 996 | 
 997 | ### getTaxClassID
 998 | 
 999 | **Signature:** `getTaxClassID() : String`
1000 | 
1001 | Returns the ID of the product's tax class, by resolving the Global Preference setting selected.
1002 | 
1003 | ### getTemplate
1004 | 
1005 | **Signature:** `getTemplate() : String`
1006 | 
1007 | Returns the name of the product's rendering template.
1008 | 
1009 | ### getThumbnail
1010 | 
1011 | **Signature:** `getThumbnail() : MediaFile`
1012 | 
1013 | Returns the product's thumbnail image.
1014 | 
1015 | ### getUnit
1016 | 
1017 | **Signature:** `getUnit() : String`
1018 | 
1019 | Returns the product's sales unit.
1020 | 
1021 | ### getUnitQuantity
1022 | 
1023 | **Signature:** `getUnitQuantity() : Quantity`
1024 | 
1025 | Returns the product's unit quantity.
1026 | 
1027 | ### getUPC
1028 | 
1029 | **Signature:** `getUPC() : String`
1030 | 
1031 | Returns the Universal Product Code of the product.
1032 | 
1033 | ### getVariants
1034 | 
1035 | **Signature:** `getVariants() : Collection`
1036 | 
1037 | Returns a collection of all variants assigned to this variation master or variation group product.
1038 | 
1039 | ### getVariationGroups
1040 | 
1041 | **Signature:** `getVariationGroups() : Collection`
1042 | 
1043 | Returns a collection of all variation groups assigned to this variation master product.
1044 | 
1045 | ### getVariationModel
1046 | 
1047 | **Signature:** `getVariationModel() : ProductVariationModel`
1048 | 
1049 | Returns the variation model of this product.
1050 | 
1051 | ### includedInBundle
1052 | 
1053 | **Signature:** `includedInBundle(product : Product) : boolean`
1054 | 
1055 | Identifies if the specified product participates in this product bundle.
1056 | 
1057 | ### isAssignedToCategory
1058 | 
1059 | **Signature:** `isAssignedToCategory(category : Category) : boolean`
1060 | 
1061 | Returns 'true' if item is assigned to the specified category.
1062 | 
1063 | ### isAssignedToSiteCatalog
1064 | 
1065 | **Signature:** `isAssignedToSiteCatalog() : boolean`
1066 | 
1067 | Returns true if the product is assigned to the current site (via the site catalog), otherwise false is returned.
1068 | 
1069 | ### isAvailable
1070 | 
1071 | **Signature:** `isAvailable() : boolean`
1072 | 
1073 | Identifies if the product is available.
1074 | 
1075 | ### isBundle
1076 | 
1077 | **Signature:** `isBundle() : boolean`
1078 | 
1079 | Identifies if this product instance is a product bundle.
1080 | 
1081 | ### isBundled
1082 | 
1083 | **Signature:** `isBundled() : boolean`
1084 | 
1085 | Identifies if this product instance is bundled within at least one product bundle.
1086 | 
1087 | ### isCategorized
1088 | 
1089 | **Signature:** `isCategorized() : boolean`
1090 | 
1091 | Identifies if this product is bound to at least one catalog category.
1092 | 
1093 | ### isFacebookEnabled
1094 | 
1095 | **Signature:** `isFacebookEnabled() : boolean`
1096 | 
1097 | Identifies if the product is Facebook enabled.
1098 | 
1099 | ### isMaster
1100 | 
1101 | **Signature:** `isMaster() : boolean`
1102 | 
1103 | Identifies if this product instance is a product master.
1104 | 
1105 | ### isOnline
1106 | 
1107 | **Signature:** `isOnline() : boolean`
1108 | 
1109 | Returns the online status of the product.
1110 | 
1111 | ### isOptionProduct
1112 | 
1113 | **Signature:** `isOptionProduct() : boolean`
1114 | 
1115 | Identifies if the product has options.
1116 | 
1117 | ### isPinterestEnabled
1118 | 
1119 | **Signature:** `isPinterestEnabled() : boolean`
1120 | 
1121 | Identifies if the product is Pinterest enabled.
1122 | 
1123 | ### isProduct
1124 | 
1125 | **Signature:** `isProduct() : boolean`
1126 | 
1127 | Returns 'true' if the instance represents a product.
1128 | 
1129 | ### isProductSet
1130 | 
1131 | **Signature:** `isProductSet() : boolean`
1132 | 
1133 | Returns 'true' if the instance represents a product set, otherwise 'false'.
1134 | 
1135 | ### isProductSetProduct
1136 | 
1137 | **Signature:** `isProductSetProduct() : boolean`
1138 | 
1139 | Returns true if this product is part of any product set, otherwise false.
1140 | 
1141 | ### isRetailSet
1142 | 
1143 | **Signature:** `isRetailSet() : boolean`
1144 | 
1145 | Identifies if this product instance is part of a retail set.
1146 | 
1147 | ### isSearchable
1148 | 
1149 | **Signature:** `isSearchable() : boolean`
1150 | 
1151 | Identifies if the product is searchable.
1152 | 
1153 | ### isSiteProduct
1154 | 
1155 | **Signature:** `isSiteProduct() : boolean`
1156 | 
1157 | Returns 'true' if the product is assigned to the current site (via the site catalog), otherwise 'false' is returned.
1158 | 
1159 | ### isVariant
1160 | 
1161 | **Signature:** `isVariant() : boolean`
1162 | 
1163 | Identifies if this product instance is mastered by a product master.
1164 | 
1165 | ### isVariationGroup
1166 | 
1167 | **Signature:** `isVariationGroup() : boolean`
1168 | 
1169 | Identifies if this product instance is a variation group product.
1170 | 
1171 | ### setAvailableFlag
1172 | 
1173 | **Signature:** `setAvailableFlag(available : boolean) : void`
1174 | 
1175 | Set the availability status flag of the product.
1176 | 
1177 | ### setOnlineFlag
1178 | 
1179 | **Signature:** `setOnlineFlag(online : boolean) : void`
1180 | 
1181 | Set the online status flag of the product for the current site.
1182 | 
1183 | ### setSearchableFlag
1184 | 
1185 | **Signature:** `setSearchableFlag(searchable : boolean) : void`
1186 | 
1187 | Set the flag indicating whether the product is searchable or not in context of the current site.
1188 | 
1189 | ### setSearchPlacement
1190 | 
1191 | **Signature:** `setSearchPlacement(placement : Number) : void`
1192 | 
1193 | Set the product's search placement classification in context of the current site.
1194 | 
1195 | ### setSearchRank
1196 | 
1197 | **Signature:** `setSearchRank(rank : Number) : void`
1198 | 
1199 | Set the product's search rank in context of the current site.
1200 | 
1201 | ## Method Detail
1202 | 
1203 | ## Method Details
1204 | 
1205 | ### assignedToCategory
1206 | 
1207 | **Signature:** `assignedToCategory(category : Category) : boolean`
1208 | 
1209 | **Description:** Identifies if this product is bound to the specified catalog category.
1210 | 
1211 | **Deprecated:**
1212 | 
1213 | Use isAssignedToCategory(Category)
1214 | 
1215 | **Parameters:**
1216 | 
1217 | - `category`: the CatalogCategory to check.
1218 | 
1219 | **Returns:**
1220 | 
1221 | true if the product is bound to the CatalogCategory, false otherwise.
1222 | 
1223 | ---
1224 | 
1225 | ### getActiveData
1226 | 
1227 | **Signature:** `getActiveData() : ProductActiveData`
1228 | 
1229 | **Description:** Returns the active data for this product, for the current site.
1230 | 
1231 | **Returns:**
1232 | 
1233 | the active data for this product for the current site.
1234 | 
1235 | ---
1236 | 
1237 | ### getAllCategories
1238 | 
1239 | **Signature:** `getAllCategories() : Collection`
1240 | 
1241 | **Description:** Returns a collection of all categories to which this product is assigned.
1242 | 
1243 | **Returns:**
1244 | 
1245 | Collection of categories.
1246 | 
1247 | ---
1248 | 
1249 | ### getAllCategoryAssignments
1250 | 
1251 | **Signature:** `getAllCategoryAssignments() : Collection`
1252 | 
1253 | **Description:** Returns all category assignments for this product in any catalog.
1254 | 
1255 | **Returns:**
1256 | 
1257 | Collection of category assignments of the product in any catalog.
1258 | 
1259 | ---
1260 | 
1261 | ### getAllIncomingProductLinks
1262 | 
1263 | **Signature:** `getAllIncomingProductLinks() : Collection`
1264 | 
1265 | **Description:** Returns all incoming ProductLinks.
1266 | 
1267 | **Returns:**
1268 | 
1269 | a collection of all incoming ProductLinks.
1270 | 
1271 | ---
1272 | 
1273 | ### getAllIncomingProductLinks
1274 | 
1275 | **Signature:** `getAllIncomingProductLinks(type : Number) : Collection`
1276 | 
1277 | **Description:** Returns all incoming ProductLinks of a specific type.
1278 | 
1279 | **Parameters:**
1280 | 
1281 | - `type`: the type of ProductLinks to use.
1282 | 
1283 | **Returns:**
1284 | 
1285 | a collection of all incoming ProductLinks of a specific type.
1286 | 
1287 | ---
1288 | 
1289 | ### getAllProductLinks
1290 | 
1291 | **Signature:** `getAllProductLinks() : Collection`
1292 | 
1293 | **Description:** Returns all outgoing ProductLinks.
1294 | 
1295 | **Returns:**
1296 | 
1297 | a collection of all outgoing ProductLinks.
1298 | 
1299 | ---
1300 | 
1301 | ### getAllProductLinks
1302 | 
1303 | **Signature:** `getAllProductLinks(type : Number) : Collection`
1304 | 
1305 | **Description:** Returns all outgoing ProductLinks of a specific type.
1306 | 
1307 | **Parameters:**
1308 | 
1309 | - `type`: the type of ProductLinks to fetch.
1310 | 
1311 | **Returns:**
1312 | 
1313 | a collection of all outgoing ProductLinks of a specific type.
1314 | 
1315 | ---
1316 | 
1317 | ### getAllRecommendations
1318 | 
1319 | **Signature:** `getAllRecommendations(catalog : Catalog) : Collection`
1320 | 
1321 | **Description:** Returns the outgoing recommendations for this product which belong to the specified catalog. The recommendations are sorted by their explicitly set order.
1322 | 
1323 | **Parameters:**
1324 | 
1325 | - `catalog`: the catalog containing the recommendations.
1326 | 
1327 | **Returns:**
1328 | 
1329 | the sorted collection of recommendations, never null but possibly empty.
1330 | 
1331 | ---
1332 | 
1333 | ### getAllRecommendations
1334 | 
1335 | **Signature:** `getAllRecommendations(catalog : Catalog, type : Number) : Collection`
1336 | 
1337 | **Description:** Returns the outgoing recommendations for this product which are of the specified type and which belong to the specified catalog. The recommendations are sorted by their explicitly set order.
1338 | 
1339 | **Parameters:**
1340 | 
1341 | - `catalog`: the catalog containing the recommendations.
1342 | - `type`: the recommendation type.
1343 | 
1344 | **Returns:**
1345 | 
1346 | the sorted collection of recommendations, never null but possibly empty.
1347 | 
1348 | ---
1349 | 
1350 | ### getAttributeModel
1351 | 
1352 | **Signature:** `getAttributeModel() : ProductAttributeModel`
1353 | 
1354 | **Description:** Returns this product's ProductAttributeModel, which makes access to the product attribute information convenient. The model is calculated based on the product attributes assigned to this product's classification category (or any of it's ancestors) and the global attribute definitions for the system object type 'Product'. If this product has no classification category, the attribute model is calculated on the global attribute definitions only. If this product is a variant, then the attribute model is calculated based on the classification category of its corresponding master product.
1355 | 
1356 | **Returns:**
1357 | 
1358 | the ProductAttributeModel for this product.
1359 | 
1360 | ---
1361 | 
1362 | ### getAvailabilityModel
1363 | 
1364 | **Signature:** `getAvailabilityModel() : ProductAvailabilityModel`
1365 | 
1366 | **Description:** Returns the availability model, which can be used to determine availability information for a product.
1367 | 
1368 | **Returns:**
1369 | 
1370 | the availability model for a product.
1371 | 
1372 | ---
1373 | 
1374 | ### getAvailabilityModel
1375 | 
1376 | **Signature:** `getAvailabilityModel(list : ProductInventoryList) : ProductAvailabilityModel`
1377 | 
1378 | **Description:** Returns the availability model of the given inventory list, which can be used to determine availability information for a product.
1379 | 
1380 | **Parameters:**
1381 | 
1382 | - `list`: The inventory list to get the availability model for. Must not be null or an exception will be raised.
1383 | 
1384 | **Returns:**
1385 | 
1386 | the availability model of the given inventory list for a product.
1387 | 
1388 | ---
1389 | 
1390 | ### getAvailableFlag
1391 | 
1392 | **Signature:** `getAvailableFlag() : boolean`
1393 | 
1394 | **Description:** Identifies if the product is available.
1395 | 
1396 | **Deprecated:**
1397 | 
1398 | Use getAvailabilityModel() instead.
1399 | 
1400 | **Returns:**
1401 | 
1402 | the availability status flag of the product.
1403 | 
1404 | ---
1405 | 
1406 | ### getBrand
1407 | 
1408 | **Signature:** `getBrand() : String`
1409 | 
1410 | **Description:** Returns the Brand of the product.
1411 | 
1412 | **Returns:**
1413 | 
1414 | the Brand of the product.
1415 | 
1416 | ---
1417 | 
1418 | ### getBundledProductQuantity
1419 | 
1420 | **Signature:** `getBundledProductQuantity(aProduct : Product) : Quantity`
1421 | 
1422 | **Description:** Returns the quantity of the specified product within the bundle. If the specified product is not part of the bundle, a 0 quantity is returned.
1423 | 
1424 | **Parameters:**
1425 | 
1426 | - `aProduct`: The product to determine the quantity for.
1427 | 
1428 | **Returns:**
1429 | 
1430 | The quantity of the product within the bundle or 0 if the product is not part of the bundle.
1431 | 
1432 | ---
1433 | 
1434 | ### getBundledProducts
1435 | 
1436 | **Signature:** `getBundledProducts() : Collection`
1437 | 
1438 | **Description:** Returns a collection containing all products that participate in the product bundle.
1439 | 
1440 | **Returns:**
1441 | 
1442 | A collection containing all products of the product bundle.
1443 | 
1444 | ---
1445 | 
1446 | ### getBundles
1447 | 
1448 | **Signature:** `getBundles() : Collection`
1449 | 
1450 | **Description:** Returns a collection of all bundles in which this product is included. The method only returns bundles assigned to the current site.
1451 | 
1452 | **Returns:**
1453 | 
1454 | Collection of bundles in which this product is included, possibly empty.
1455 | 
1456 | ---
1457 | 
1458 | ### getCategories
1459 | 
1460 | **Signature:** `getCategories() : Collection`
1461 | 
1462 | **Description:** Returns a collection of all categories to which this product is assigned and which are also available through the current site.
1463 | 
1464 | **Returns:**
1465 | 
1466 | Collection of categories to which this product is assigned and which are also available through the current site.
1467 | 
1468 | ---
1469 | 
1470 | ### getCategoryAssignment
1471 | 
1472 | **Signature:** `getCategoryAssignment(category : Category) : CategoryAssignment`
1473 | 
1474 | **Description:** Returns the category assignment for a specific category.
1475 | 
1476 | **Parameters:**
1477 | 
1478 | - `category`: the category to use when fetching assignments.
1479 | 
1480 | **Returns:**
1481 | 
1482 | The category assignment for a specific category.
1483 | 
1484 | ---
1485 | 
1486 | ### getCategoryAssignments
1487 | 
1488 | **Signature:** `getCategoryAssignments() : Collection`
1489 | 
1490 | **Description:** Returns a collection of category assignments for this product in the current site catalog.
1491 | 
1492 | **Returns:**
1493 | 
1494 | Collection of category assignments.
1495 | 
1496 | ---
1497 | 
1498 | ### getClassificationCategory
1499 | 
1500 | **Signature:** `getClassificationCategory() : Category`
1501 | 
1502 | **Description:** Returns the classification category associated with this Product. A product has a single classification category which may or may not be in the site catalog. The classification category defines the attribute set of the product. See getAttributeModel() for how the classification category is used.
1503 | 
1504 | **Returns:**
1505 | 
1506 | the associated classification Category, or null if none is associated.
1507 | 
1508 | ---
1509 | 
1510 | ### getEAN
1511 | 
1512 | **Signature:** `getEAN() : String`
1513 | 
1514 | **Description:** Returns the European Article Number of the product.
1515 | 
1516 | **Returns:**
1517 | 
1518 | the European Article Number of the product.
1519 | 
1520 | ---
1521 | 
1522 | ### getID
1523 | 
1524 | **Signature:** `getID() : String`
1525 | 
1526 | **Description:** Returns the ID of the product.
1527 | 
1528 | **Returns:**
1529 | 
1530 | ID of the product.
1531 | 
1532 | ---
1533 | 
1534 | ### getImage
1535 | 
1536 | **Signature:** `getImage() : MediaFile`
1537 | 
1538 | **Description:** Returns the product's image.
1539 | 
1540 | **Deprecated:**
1541 | 
1542 | Commerce Cloud Digital introduces a new more powerful product image management. It allows to group product images by self-defined view types (e.g. 'large', 'thumbnail', 'swatch') and variation values (e.g. for attribute color 'red', 'blue'). Images can be annotated with pattern based title and alt. Product images can be accessed from Digital locations or external storage locations. Please use the new product image management. Therefore you have to set up the common product image settings like view types, image location, default image alt and title for your catalogs first. After that you can group your product images by the previously defined view types in context of a product. Finally use getImages(String) and getImage(String, Number) to access your images.
1543 | 
1544 | **Returns:**
1545 | 
1546 | the product's image.
1547 | 
1548 | ---
1549 | 
1550 | ### getImage
1551 | 
1552 | **Signature:** `getImage(viewtype : String, index : Number) : MediaFile`
1553 | 
1554 | **Description:** The method calls getImages(String) and returns the image at the specific index. If no image for specified index is available the method returns null.
1555 | 
1556 | **Parameters:**
1557 | 
1558 | - `viewtype`: the view type annotated to image
1559 | - `index`: the index number of the image within image list
1560 | 
1561 | **Returns:**
1562 | 
1563 | the MediaFile or null
1564 | 
1565 | **Throws:**
1566 | 
1567 | NullArgumentException - if viewtype is null
1568 | 
1569 | ---
1570 | 
1571 | ### getImage
1572 | 
1573 | **Signature:** `getImage(viewtype : String) : MediaFile`
1574 | 
1575 | **Description:** The method calls getImages(String) and returns the first image. If no image is available the method returns null. When called for a variant with defined images for specified view type the method returns the first image. When called for a variant without defined images for specified view type the method returns the first master product image. If no master product images are defined, the method returns null.
1576 | 
1577 | **Parameters:**
1578 | 
1579 | - `viewtype`: the view type annotated to image
1580 | 
1581 | **Returns:**
1582 | 
1583 | the MediaFile or null
1584 | 
1585 | **Throws:**
1586 | 
1587 | NullArgumentException - if viewtype is null
1588 | 
1589 | ---
1590 | 
1591 | ### getImages
1592 | 
1593 | **Signature:** `getImages(viewtype : String) : List`
1594 | 
1595 | **Description:** Returns all images assigned to this product for a specific view type, e.g. all 'thumbnail' images. The images are returned in the order of their index number ascending. When called for a master the method returns the images specific to the master, which are typically the fall back images.
1596 | 
1597 | **Parameters:**
1598 | 
1599 | - `viewtype`: the view type annotated to images
1600 | 
1601 | **Returns:**
1602 | 
1603 | a list of MediaFile objects, possibly empty
1604 | 
1605 | **Throws:**
1606 | 
1607 | NullArgumentException - if viewtype is null
1608 | 
1609 | ---
1610 | 
1611 | ### getIncomingProductLinks
1612 | 
1613 | **Signature:** `getIncomingProductLinks() : Collection`
1614 | 
1615 | **Description:** Returns incoming ProductLinks, where the source product is a site product.
1616 | 
1617 | **Returns:**
1618 | 
1619 | a collection of incoming ProductLinks, where the source product is a site product.
1620 | 
1621 | ---
1622 | 
1623 | ### getIncomingProductLinks
1624 | 
1625 | **Signature:** `getIncomingProductLinks(type : Number) : Collection`
1626 | 
1627 | **Description:** Returns incoming ProductLinks, where the source product is a site product of a specific type.
1628 | 
1629 | **Parameters:**
1630 | 
1631 | - `type`: the type of ProductLinks to fetch.
1632 | 
1633 | **Returns:**
1634 | 
1635 | a collection of incoming ProductLinks, where the source product is a site product of a specific type.
1636 | 
1637 | ---
1638 | 
1639 | ### getLongDescription
1640 | 
1641 | **Signature:** `getLongDescription() : MarkupText`
1642 | 
1643 | **Description:** Returns the product's long description in the current locale.
1644 | 
1645 | **Returns:**
1646 | 
1647 | The product's long description in the current locale, or null if it wasn't found.
1648 | 
1649 | ---
1650 | 
1651 | ### getManufacturerName
1652 | 
1653 | **Signature:** `getManufacturerName() : String`
1654 | 
1655 | **Description:** Returns the name of the product manufacturer.
1656 | 
1657 | **Returns:**
1658 | 
1659 | the name of the product manufacturer.
1660 | 
1661 | ---
1662 | 
1663 | ### getManufacturerSKU
1664 | 
1665 | **Signature:** `getManufacturerSKU() : String`
1666 | 
1667 | **Description:** Returns the value of the manufacturer's stock keeping unit.
1668 | 
1669 | **Returns:**
1670 | 
1671 | the value of the manufacturer's stock keeping unit.
1672 | 
1673 | ---
1674 | 
1675 | ### getMinOrderQuantity
1676 | 
1677 | **Signature:** `getMinOrderQuantity() : Quantity`
1678 | 
1679 | **Description:** Returns the minimum order quantity for this product.
1680 | 
1681 | **Returns:**
1682 | 
1683 | the minimum order quantity of the product.
1684 | 
1685 | ---
1686 | 
1687 | ### getName
1688 | 
1689 | **Signature:** `getName() : String`
1690 | 
1691 | **Description:** Returns the name of the product in the current locale.
1692 | 
1693 | **Returns:**
1694 | 
1695 | The name of the product for the current locale, or null if it wasn't found.
1696 | 
1697 | ---
1698 | 
1699 | ### getOnlineCategories
1700 | 
1701 | **Signature:** `getOnlineCategories() : Collection`
1702 | 
1703 | **Description:** Returns a collection of all currently online categories to which this product is assigned and which are also available through the current site. A category is currently online if its online flag equals true and the current site date is within the date range defined by the onlineFrom and onlineTo attributes.
1704 | 
1705 | **Returns:**
1706 | 
1707 | Collection of currently online categories to which this product is assigned and which are also available through the current site.
1708 | 
1709 | ---
1710 | 
1711 | ### getOnlineFlag
1712 | 
1713 | **Signature:** `getOnlineFlag() : boolean`
1714 | 
1715 | **Description:** Returns the online status flag of the product.
1716 | 
1717 | **Returns:**
1718 | 
1719 | the online status flag of the product.
1720 | 
1721 | ---
1722 | 
1723 | ### getOnlineFrom
1724 | 
1725 | **Signature:** `getOnlineFrom() : Date`
1726 | 
1727 | **Description:** Returns the date from which the product is online or valid.
1728 | 
1729 | **Returns:**
1730 | 
1731 | the date from which the product is online or valid.
1732 | 
1733 | ---
1734 | 
1735 | ### getOnlineTo
1736 | 
1737 | **Signature:** `getOnlineTo() : Date`
1738 | 
1739 | **Description:** Returns the date until which the product is online or valid.
1740 | 
1741 | **Returns:**
1742 | 
1743 | the date until which the product is online or valid.
1744 | 
1745 | ---
1746 | 
1747 | ### getOptionModel
1748 | 
1749 | **Signature:** `getOptionModel() : ProductOptionModel`
1750 | 
1751 | **Description:** Returns the product's option model. The option values selections are initialized with the values defined for the product, or the default values defined for the option.
1752 | 
1753 | **Returns:**
1754 | 
1755 | the products option model.
1756 | 
1757 | ---
1758 | 
1759 | ### getOrderableRecommendations
1760 | 
1761 | **Signature:** `getOrderableRecommendations() : Collection`
1762 | 
1763 | **Description:** Returns a list of outgoing recommendations for this product. This method behaves similarly to getRecommendations() but additionally filters out recommendations for which the target product is unorderable according to its product availability model.
1764 | 
1765 | **Returns:**
1766 | 
1767 | the sorted collection of recommendations, never null but possibly empty.
1768 | 
1769 | **See Also:**
1770 | 
1771 | ProductAvailabilityModel.isOrderable()
1772 | 
1773 | ---
1774 | 
1775 | ### getOrderableRecommendations
1776 | 
1777 | **Signature:** `getOrderableRecommendations(type : Number) : Collection`
1778 | 
1779 | **Description:** Returns a list of outgoing recommendations for this product. This method behaves similarly to getRecommendations(Number) but additionally filters out recommendations for which the target product is unorderable according to its product availability model.
1780 | 
1781 | **Parameters:**
1782 | 
1783 | - `type`: the recommendation type.
1784 | 
1785 | **Returns:**
1786 | 
1787 | the sorted collection of recommendations, never null but possibly empty.
1788 | 
1789 | **See Also:**
1790 | 
1791 | ProductAvailabilityModel.isOrderable()
1792 | 
1793 | ---
1794 | 
1795 | ### getPageDescription
1796 | 
1797 | **Signature:** `getPageDescription() : String`
1798 | 
1799 | **Description:** Returns product's page description in the default locale.
1800 | 
1801 | **Returns:**
1802 | 
1803 | The product's page description in the default locale, or null if it wasn't found.
1804 | 
1805 | ---
1806 | 
1807 | ### getPageKeywords
1808 | 
1809 | **Signature:** `getPageKeywords() : String`
1810 | 
1811 | **Description:** Returns the product's page keywords in the default locale.
1812 | 
1813 | **Returns:**
1814 | 
1815 | The product's page keywords in the default locale, or null if it wasn't found.
1816 | 
1817 | ---
1818 | 
1819 | ### getPageMetaTag
1820 | 
1821 | **Signature:** `getPageMetaTag(id : String) : PageMetaTag`
1822 | 
1823 | **Description:** Returns the page meta tag for the specified id. The meta tag content is generated based on the product detail page meta tag context and rule. The rule is obtained from the current product context or inherited from variation groups, master product, the primary category, up to the root category. Null will be returned if the meta tag is undefined on the current instance, or if no rule can be found for the current context, or if the rule resolves to an empty string.
1824 | 
1825 | **Parameters:**
1826 | 
1827 | - `id`: the ID to get the page meta tag for
1828 | 
1829 | **Returns:**
1830 | 
1831 | page meta tag containing content generated based on rules
1832 | 
1833 | ---
1834 | 
1835 | ### getPageMetaTags
1836 | 
1837 | **Signature:** `getPageMetaTags() : Array`
1838 | 
1839 | **Description:** Returns all page meta tags, defined for this instance for which content can be generated. The meta tag content is generated based on the product detail page meta tag context and rules. The rules are obtained from the current product context or inherited from variation groups, master product, the primary category, up to the root category.
1840 | 
1841 | **Returns:**
1842 | 
1843 | page meta tags defined for this instance, containing content generated based on rules
1844 | 
1845 | ---
1846 | 
1847 | ### getPageTitle
1848 | 
1849 | **Signature:** `getPageTitle() : String`
1850 | 
1851 | **Description:** Returns the product's page title in the default locale.
1852 | 
1853 | **Returns:**
1854 | 
1855 | The product's page title in the default locale, or null if it wasn't found.
1856 | 
1857 | ---
1858 | 
1859 | ### getPageURL
1860 | 
1861 | **Signature:** `getPageURL() : String`
1862 | 
1863 | **Description:** Returns the product's page URL in the default locale.
1864 | 
1865 | **Returns:**
1866 | 
1867 | The product's page URL in the default locale, or null if it wasn't found.
1868 | 
1869 | ---
1870 | 
1871 | ### getPriceModel
1872 | 
1873 | **Signature:** `getPriceModel() : ProductPriceModel`
1874 | 
1875 | **Description:** Returns the price model, which can be used to retrieve a price for this product.
1876 | 
1877 | **Returns:**
1878 | 
1879 | the price model, which can be used to retrieve a price for this product.
1880 | 
1881 | ---
1882 | 
1883 | ### getPriceModel
1884 | 
1885 | **Signature:** `getPriceModel(optionModel : ProductOptionModel) : ProductPriceModel`
1886 | 
1887 | **Description:** Returns the price model based on the specified optionModel. The price model can be used to retrieve a price for this product. Prices are calculated based on the option values selected in the specified option model.
1888 | 
1889 | **Parameters:**
1890 | 
1891 | - `optionModel`: the option model to use when fetching the price model.
1892 | 
1893 | **Returns:**
1894 | 
1895 | the price model based on the specified optionModel.
1896 | 
1897 | ---
1898 | 
1899 | ### getPrimaryCategory
1900 | 
1901 | **Signature:** `getPrimaryCategory() : Category`
1902 | 
1903 | **Description:** Returns the primary category of the product within the current site catalog.
1904 | 
1905 | **Returns:**
1906 | 
1907 | The product's primary category or null.
1908 | 
1909 | ---
1910 | 
1911 | ### getPrimaryCategoryAssignment
1912 | 
1913 | **Signature:** `getPrimaryCategoryAssignment() : CategoryAssignment`
1914 | 
1915 | **Description:** Returns the category assignment to the primary category in the current site catalog or null if no primary category is defined within the current site catalog.
1916 | 
1917 | **Returns:**
1918 | 
1919 | The category assignment to the primary category or null.
1920 | 
1921 | ---
1922 | 
1923 | ### getProductLinks
1924 | 
1925 | **Signature:** `getProductLinks() : Collection`
1926 | 
1927 | **Description:** Returns all outgoing ProductLinks, where the target product is also available in the current site. The ProductLinks are unsorted.
1928 | 
1929 | **Returns:**
1930 | 
1931 | a collection of outgoing ProductLinks where the target product is also available in the current site.
1932 | 
1933 | ---
1934 | 
1935 | ### getProductLinks
1936 | 
1937 | **Signature:** `getProductLinks(type : Number) : Collection`
1938 | 
1939 | **Description:** Returns all outgoing ProductLinks of a specific type, where the target product is also available in the current site. The ProductLinks are sorted.
1940 | 
1941 | **Parameters:**
1942 | 
1943 | - `type`: the type of ProductLinks to fetch.
1944 | 
1945 | **Returns:**
1946 | 
1947 | a collection of outgoing ProductLinks where the target product is also available in the current site.
1948 | 
1949 | ---
1950 | 
1951 | ### getProductSetProducts
1952 | 
1953 | **Signature:** `getProductSetProducts() : Collection`
1954 | 
1955 | **Description:** Returns a collection of all products which are assigned to this product and which are also available through the current site. If this product does not represent a product set then an empty collection will be returned.
1956 | 
1957 | **Returns:**
1958 | 
1959 | Collection of products which are assigned to this product and which are also available through the current site.
1960 | 
1961 | ---
1962 | 
1963 | ### getProductSets
1964 | 
1965 | **Signature:** `getProductSets() : Collection`
1966 | 
1967 | **Description:** Returns a collection of all product sets in which this product is included. The method only returns product sets assigned to the current site.
1968 | 
1969 | **Returns:**
1970 | 
1971 | Collection of product sets in which this product is included, possibly empty.
1972 | 
1973 | ---
1974 | 
1975 | ### getRecommendations
1976 | 
1977 | **Signature:** `getRecommendations() : Collection`
1978 | 
1979 | **Description:** Returns the outgoing recommendations for this product which belong to the site catalog. If this product is not assigned to the site catalog, or there is no site catalog, an empty collection is returned. Only recommendations for which the target product exists and is assigned to the site catalog are returned. The recommendations are sorted by their explicitly set order.
1980 | 
1981 | **Returns:**
1982 | 
1983 | the sorted collection of recommendations, never null but possibly empty.
1984 | 
1985 | ---
1986 | 
1987 | ### getRecommendations
1988 | 
1989 | **Signature:** `getRecommendations(type : Number) : Collection`
1990 | 
1991 | **Description:** Returns the outgoing recommendations for this product which are of the specified type and which belong to the site catalog. Behaves the same as getRecommendations() but additionally filters by recommendation type.
1992 | 
1993 | **Parameters:**
1994 | 
1995 | - `type`: the recommendation type.
1996 | 
1997 | **Returns:**
1998 | 
1999 | the sorted collection of recommendations, never null but possibly empty.
2000 | 
2001 | ---
2002 | 
2003 | ### getSearchableFlag
2004 | 
2005 | **Signature:** `getSearchableFlag() : boolean`
2006 | 
2007 | **Description:** Returns, whether the product is currently searchable.
2008 | 
2009 | **Returns:**
2010 | 
2011 | the searchable status flag of the product.
2012 | 
2013 | ---
2014 | 
2015 | ### getSearchableIfUnavailableFlag
2016 | 
2017 | **Signature:** `getSearchableIfUnavailableFlag() : boolean`
2018 | 
2019 | **Description:** Returns the searchable status of the Product if unavailable. Besides true or false, the return value null indicates that the value is not set.
2020 | 
2021 | **Returns:**
2022 | 
2023 | The searchable status of the product if unavailable or null if not set.
2024 | 
2025 | ---
2026 | 
2027 | ### getSearchPlacement
2028 | 
2029 | **Signature:** `getSearchPlacement() : Number`
2030 | 
2031 | **Description:** Returns the product's search placement classification. The higher the numeric product placement value, the more relevant is the product when sorting search results. The range of numeric placement values is defined in the meta data of object type 'Product' and can therefore be customized.
2032 | 
2033 | **Returns:**
2034 | 
2035 | The product's search placement classification.
2036 | 
2037 | ---
2038 | 
2039 | ### getSearchRank
2040 | 
2041 | **Signature:** `getSearchRank() : Number`
2042 | 
2043 | **Description:** Returns the product's search rank. The higher the numeric product rank, the more relevant is the product when sorting search results. The range of numeric rank values is defined in the meta data of object type 'Product' and can therefore be customized.
2044 | 
2045 | **Returns:**
2046 | 
2047 | The product's search rank.
2048 | 
2049 | ---
2050 | 
2051 | ### getShortDescription
2052 | 
2053 | **Signature:** `getShortDescription() : MarkupText`
2054 | 
2055 | **Description:** Returns the product's short description in the current locale.
2056 | 
2057 | **Returns:**
2058 | 
2059 | the product's short description in the current locale, or null if it wasn't found.
2060 | 
2061 | ---
2062 | 
2063 | ### getSiteMapChangeFrequency
2064 | 
2065 | **Signature:** `getSiteMapChangeFrequency() : String`
2066 | 
2067 | **Description:** Returns the product's change frequency needed for the sitemap creation.
2068 | 
2069 | **Returns:**
2070 | 
2071 | The product's sitemap change frequency.
2072 | 
2073 | ---
2074 | 
2075 | ### getSiteMapIncluded
2076 | 
2077 | **Signature:** `getSiteMapIncluded() : Number`
2078 | 
2079 | **Description:** Returns the status if the product is included into the sitemap.
2080 | 
2081 | **Returns:**
2082 | 
2083 | the value of the attribute 'siteMapIncluded'.
2084 | 
2085 | ---
2086 | 
2087 | ### getSiteMapPriority
2088 | 
2089 | **Signature:** `getSiteMapPriority() : Number`
2090 | 
2091 | **Description:** Returns the product's priority needed for the sitemap creation.
2092 | 
2093 | **Returns:**
2094 | 
2095 | The product's sitemap priority.
2096 | 
2097 | ---
2098 | 
2099 | ### getStepQuantity
2100 | 
2101 | **Signature:** `getStepQuantity() : Quantity`
2102 | 
2103 | **Description:** Returns the steps in which the order amount of the product can be increased.
2104 | 
2105 | **Returns:**
2106 | 
2107 | the order amount by which the product can be increased.
2108 | 
2109 | ---
2110 | 
2111 | ### getStoreReceiptName
2112 | 
2113 | **Signature:** `getStoreReceiptName() : String`
2114 | 
2115 | **Description:** Returns the store receipt name of the product in the current locale.
2116 | 
2117 | **Returns:**
2118 | 
2119 | The store receipt name of the product for the current locale, or null if it wasn't found.
2120 | 
2121 | ---
2122 | 
2123 | ### getStoreTaxClass
2124 | 
2125 | **Signature:** `getStoreTaxClass() : String`
2126 | 
2127 | **Description:** Returns the store tax class ID. This is an optional override for in-store tax calculation.
2128 | 
2129 | **Returns:**
2130 | 
2131 | the store tax class id.
2132 | 
2133 | ---
2134 | 
2135 | ### getTaxClassID
2136 | 
2137 | **Signature:** `getTaxClassID() : String`
2138 | 
2139 | **Description:** Returns the ID of the product's tax class, by resolving the Global Preference setting selected. If the Localized Tax Class setting under Global Preferences -> Products is selected, the localizedTaxClassID attribute value will be returned, else the legacy taxClassID attribute value will be returned.
2140 | 
2141 | **Returns:**
2142 | 
2143 | the ID of the product's tax class depending on the Global Preference setting selected for Products.
2144 | 
2145 | ---
2146 | 
2147 | ### getTemplate
2148 | 
2149 | **Signature:** `getTemplate() : String`
2150 | 
2151 | **Description:** Returns the name of the product's rendering template.
2152 | 
2153 | **Returns:**
2154 | 
2155 | the name of the product's rendering template.
2156 | 
2157 | ---
2158 | 
2159 | ### getThumbnail
2160 | 
2161 | **Signature:** `getThumbnail() : MediaFile`
2162 | 
2163 | **Description:** Returns the product's thumbnail image.
2164 | 
2165 | **Deprecated:**
2166 | 
2167 | Commerce Cloud Digital introduces a new more powerful product image management. It allows to group product images by self-defined view types (e.g. 'large', 'thumbnail', 'swatch') and variation values (e.g. for attribute color 'red', 'blue'). Images can be annotated with pattern based title and alt. Product images can be accessed from Digital locations or external storage locations. Please use the new product image management. Therefore you have to set up the common product image settings like view types, image location, default image alt and title for your catalogs first. After that you can group your product images by the previously defined view types in context of a product. Finally use getImages(String) and getImage(String, Number) to access your images.
2168 | 
2169 | **Returns:**
2170 | 
2171 | the product's thumbnail image.
2172 | 
2173 | ---
2174 | 
2175 | ### getUnit
2176 | 
2177 | **Signature:** `getUnit() : String`
2178 | 
2179 | **Description:** Returns the product's sales unit.
2180 | 
2181 | **Returns:**
2182 | 
2183 | the products sales unit.
2184 | 
2185 | ---
2186 | 
2187 | ### getUnitQuantity
2188 | 
2189 | **Signature:** `getUnitQuantity() : Quantity`
2190 | 
2191 | **Description:** Returns the product's unit quantity.
2192 | 
2193 | **Returns:**
2194 | 
2195 | the products unit quantity.
2196 | 
2197 | ---
2198 | 
2199 | ### getUPC
2200 | 
2201 | **Signature:** `getUPC() : String`
2202 | 
2203 | **Description:** Returns the Universal Product Code of the product.
2204 | 
2205 | **Returns:**
2206 | 
2207 | the Universal Product Code of the product.
2208 | 
2209 | ---
2210 | 
2211 | ### getVariants
2212 | 
2213 | **Signature:** `getVariants() : Collection`
2214 | 
2215 | **Description:** Returns a collection of all variants assigned to this variation master or variation group product. All variants are returned regardless of whether they are online or offline. If this product does not represent a variation master or variation group product then an empty collection is returned.
2216 | 
2217 | **Returns:**
2218 | 
2219 | Collection of variants associated with this variation master or variation group product.
2220 | 
2221 | ---
2222 | 
2223 | ### getVariationGroups
2224 | 
2225 | **Signature:** `getVariationGroups() : Collection`
2226 | 
2227 | **Description:** Returns a collection of all variation groups assigned to this variation master product. All variation groups are returned regardless of whether they are online or offline. If this product does not represent a variation master product then an empty collection is returned.
2228 | 
2229 | **Returns:**
2230 | 
2231 | Collection of variation groups associated with this variation master product.
2232 | 
2233 | ---
2234 | 
2235 | ### getVariationModel
2236 | 
2237 | **Signature:** `getVariationModel() : ProductVariationModel`
2238 | 
2239 | **Description:** Returns the variation model of this product. If this product is a master product, then the returned model will encapsulate all the information about its variation attributes and variants. If this product is a variant product, then the returned model will encapsulate all the same information, but additionally pre-select all the variation attribute values of this variant. (See ProductVariationModel for details on what "selected" means.) If this product is neither a master product or a variation product, then a model will be returned but will be essentially empty and not useful for any particular purpose.
2240 | 
2241 | **Returns:**
2242 | 
2243 | the variation model of the product.
2244 | 
2245 | ---
2246 | 
2247 | ### includedInBundle
2248 | 
2249 | **Signature:** `includedInBundle(product : Product) : boolean`
2250 | 
2251 | **Description:** Identifies if the specified product participates in this product bundle. If this product does not represent a bundle at all, then false will always be returned.
2252 | 
2253 | **Parameters:**
2254 | 
2255 | - `product`: the product to check for participation.
2256 | 
2257 | **Returns:**
2258 | 
2259 | true if the product participates in the bundle, false otherwise.
2260 | 
2261 | ---
2262 | 
2263 | ### isAssignedToCategory
2264 | 
2265 | **Signature:** `isAssignedToCategory(category : Category) : boolean`
2266 | 
2267 | **Description:** Returns 'true' if item is assigned to the specified category.
2268 | 
2269 | **Parameters:**
2270 | 
2271 | - `category`: the category to check.
2272 | 
2273 | **Returns:**
2274 | 
2275 | true if item is assigned to category.
2276 | 
2277 | ---
2278 | 
2279 | ### isAssignedToSiteCatalog
2280 | 
2281 | **Signature:** `isAssignedToSiteCatalog() : boolean`
2282 | 
2283 | **Description:** Returns true if the product is assigned to the current site (via the site catalog), otherwise false is returned. In case of the product being a variant, the variant will be considered as assigned if its master, one of the variation groups it is in or itself is assigned to the site catalog. In case this is triggered for a variation group the variation group is considered as assigned if its master or itself is assigned.
2284 | 
2285 | **Returns:**
2286 | 
2287 | 'true' if product assigned to the site catalog
2288 | 
2289 | ---
2290 | 
2291 | ### isAvailable
2292 | 
2293 | **Signature:** `isAvailable() : boolean`
2294 | 
2295 | **Description:** Identifies if the product is available.
2296 | 
2297 | **Deprecated:**
2298 | 
2299 | Use getAvailabilityModel().isInStock() instead
2300 | 
2301 | **Returns:**
2302 | 
2303 | the value of the attribute 'available'.
2304 | 
2305 | ---
2306 | 
2307 | ### isBundle
2308 | 
2309 | **Signature:** `isBundle() : boolean`
2310 | 
2311 | **Description:** Identifies if this product instance is a product bundle.
2312 | 
2313 | **Returns:**
2314 | 
2315 | true if the product is a bundle, false otherwise.
2316 | 
2317 | ---
2318 | 
2319 | ### isBundled
2320 | 
2321 | **Signature:** `isBundled() : boolean`
2322 | 
2323 | **Description:** Identifies if this product instance is bundled within at least one product bundle.
2324 | 
2325 | **Returns:**
2326 | 
2327 | true if the product is bundled, false otherwise.
2328 | 
2329 | ---
2330 | 
2331 | ### isCategorized
2332 | 
2333 | **Signature:** `isCategorized() : boolean`
2334 | 
2335 | **Description:** Identifies if this product is bound to at least one catalog category.
2336 | 
2337 | **Returns:**
2338 | 
2339 | true if the product is bound to at least one catalog category, false otherwise.
2340 | 
2341 | ---
2342 | 
2343 | ### isFacebookEnabled
2344 | 
2345 | **Signature:** `isFacebookEnabled() : boolean`
2346 | 
2347 | **Description:** Identifies if the product is Facebook enabled.
2348 | 
2349 | **Returns:**
2350 | 
2351 | the value of the attribute 'facebookEnabled'.
2352 | 
2353 | ---
2354 | 
2355 | ### isMaster
2356 | 
2357 | **Signature:** `isMaster() : boolean`
2358 | 
2359 | **Description:** Identifies if this product instance is a product master.
2360 | 
2361 | **Returns:**
2362 | 
2363 | true if the product is a master, false otherwise.
2364 | 
2365 | ---
2366 | 
2367 | ### isOnline
2368 | 
2369 | **Signature:** `isOnline() : boolean`
2370 | 
2371 | **Description:** Returns the online status of the product. The online status is calculated from the online status flag and the onlineFrom onlineTo dates defined for the product.
2372 | 
2373 | **Returns:**
2374 | 
2375 | the online status of the product.
2376 | 
2377 | ---
2378 | 
2379 | ### isOptionProduct
2380 | 
2381 | **Signature:** `isOptionProduct() : boolean`
2382 | 
2383 | **Description:** Identifies if the product has options.
2384 | 
2385 | **Returns:**
2386 | 
2387 | true if product has options, false otherwise.
2388 | 
2389 | ---
2390 | 
2391 | ### isPinterestEnabled
2392 | 
2393 | **Signature:** `isPinterestEnabled() : boolean`
2394 | 
2395 | **Description:** Identifies if the product is Pinterest enabled.
2396 | 
2397 | **Returns:**
2398 | 
2399 | the value of the attribute 'pinterestEnabled'.
2400 | 
2401 | ---
2402 | 
2403 | ### isProduct
2404 | 
2405 | **Signature:** `isProduct() : boolean`
2406 | 
2407 | **Description:** Returns 'true' if the instance represents a product. Returns 'false' if the instance represents a product set.
2408 | 
2409 | **Returns:**
2410 | 
2411 | true if the instance is a product, false otherwise.
2412 | 
2413 | **See Also:**
2414 | 
2415 | isProductSet()
2416 | 
2417 | ---
2418 | 
2419 | ### isProductSet
2420 | 
2421 | **Signature:** `isProductSet() : boolean`
2422 | 
2423 | **Description:** Returns 'true' if the instance represents a product set, otherwise 'false'.
2424 | 
2425 | **Returns:**
2426 | 
2427 | true if the instance is a product set, false otherwise.
2428 | 
2429 | **See Also:**
2430 | 
2431 | isProduct()
2432 | 
2433 | ---
2434 | 
2435 | ### isProductSetProduct
2436 | 
2437 | **Signature:** `isProductSetProduct() : boolean`
2438 | 
2439 | **Description:** Returns true if this product is part of any product set, otherwise false.
2440 | 
2441 | **Returns:**
2442 | 
2443 | true if the product is part of any product set, false otherwise.
2444 | 
2445 | ---
2446 | 
2447 | ### isRetailSet
2448 | 
2449 | **Signature:** `isRetailSet() : boolean`
2450 | 
2451 | **Description:** Identifies if this product instance is part of a retail set.
2452 | 
2453 | **Deprecated:**
2454 | 
2455 | Use isProductSet() instead
2456 | 
2457 | **Returns:**
2458 | 
2459 | true if the product is part of a retail set, false otherwise.
2460 | 
2461 | ---
2462 | 
2463 | ### isSearchable
2464 | 
2465 | **Signature:** `isSearchable() : boolean`
2466 | 
2467 | **Description:** Identifies if the product is searchable.
2468 | 
2469 | **Returns:**
2470 | 
2471 | the value of the attribute 'searchable'.
2472 | 
2473 | ---
2474 | 
2475 | ### isSiteProduct
2476 | 
2477 | **Signature:** `isSiteProduct() : boolean`
2478 | 
2479 | **Description:** Returns 'true' if the product is assigned to the current site (via the site catalog), otherwise 'false' is returned.
2480 | 
2481 | **Deprecated:**
2482 | 
2483 | Use isAssignedToSiteCatalog() instead
2484 | 
2485 | **Returns:**
2486 | 
2487 | 'true' if product assigned to site.
2488 | 
2489 | ---
2490 | 
2491 | ### isVariant
2492 | 
2493 | **Signature:** `isVariant() : boolean`
2494 | 
2495 | **Description:** Identifies if this product instance is mastered by a product master.
2496 | 
2497 | **Returns:**
2498 | 
2499 | true if the product is mastered, false otherwise.
2500 | 
2501 | ---
2502 | 
2503 | ### isVariationGroup
2504 | 
2505 | **Signature:** `isVariationGroup() : boolean`
2506 | 
2507 | **Description:** Identifies if this product instance is a variation group product.
2508 | 
2509 | **Returns:**
2510 | 
2511 | true if the product is a variation group, false otherwise.
2512 | 
2513 | ---
2514 | 
2515 | ### setAvailableFlag
2516 | 
2517 | **Signature:** `setAvailableFlag(available : boolean) : void`
2518 | 
2519 | **Description:** Set the availability status flag of the product.
2520 | 
2521 | **Deprecated:**
2522 | 
2523 | Don't use this method anymore.
2524 | 
2525 | **Parameters:**
2526 | 
2527 | - `available`: Availability status flag.
2528 | 
2529 | ---
2530 | 
2531 | ### setOnlineFlag
2532 | 
2533 | **Signature:** `setOnlineFlag(online : boolean) : void`
2534 | 
2535 | **Description:** Set the online status flag of the product for the current site. If current site is not available (i.e. in case this method is called by a job that runs on organization level) the online status flag is set global, which can affect all sites. In previous versions this method set the online status flag global, instead of site specific.
2536 | 
2537 | **API Versioned:**
2538 | 
2539 | From version 10.6. In prior versions this method set the online status flag global, instead of site specific.
2540 | 
2541 | **Parameters:**
2542 | 
2543 | - `online`: Online status flag.
2544 | 
2545 | ---
2546 | 
2547 | ### setSearchableFlag
2548 | 
2549 | **Signature:** `setSearchableFlag(searchable : boolean) : void`
2550 | 
2551 | **Description:** Set the flag indicating whether the product is searchable or not in context of the current site. If current site is not available (i.e. in case this method is called by a job that runs on organization level) the searchable flag is set global, which can affect all sites. In previous versions this method set the searchable flag global, instead of site specific.
2552 | 
2553 | **API Versioned:**
2554 | 
2555 | From version 10.6. In prior versions this method set the searchable flag global, instead of site specific.
2556 | 
2557 | **Parameters:**
2558 | 
2559 | - `searchable`: The value of the attribute 'searchable'.
2560 | 
2561 | ---
2562 | 
2563 | ### setSearchPlacement
2564 | 
2565 | **Signature:** `setSearchPlacement(placement : Number) : void`
2566 | 
2567 | **Description:** Set the product's search placement classification in context of the current site. If current site is not available (i.e. in case this method is called by a job that runs on organization level) the search placement is set global, which can affect all sites. In previous versions this method set the search placement classification global, instead of site specific.
2568 | 
2569 | **API Versioned:**
2570 | 
2571 | From version 10.6. In prior versions this method set the search placement classification global, instead of site specific.
2572 | 
2573 | **Parameters:**
2574 | 
2575 | - `placement`: The product's search placement classification.
2576 | 
2577 | ---
2578 | 
2579 | ### setSearchRank
2580 | 
2581 | **Signature:** `setSearchRank(rank : Number) : void`
2582 | 
2583 | **Description:** Set the product's search rank in context of the current site. If current site is not available (i.e. in case this method is called by a job that runs on organization level) the search rank is set global, which can affect all sites. In previous versions this method set the search rank global, instead of site specific.
2584 | 
2585 | **API Versioned:**
2586 | 
2587 | From version 10.6. In prior versions this method set the search rank global, instead of site specific.
2588 | 
2589 | **Parameters:**
2590 | 
2591 | - `rank`: The product's search rank.
2592 | 
2593 | ---
```
Page 58/61FirstPrevNextLast