GuideReference

Product Data Model

The Nue Self-Service API exposes a comprehensive product data structure. This reference explains each field in the product model to help you build effective self-service experiences.

Core Product FieldsCopied!

id

  • Unique identifier for the product in Nue

  • Used as reference in API calls and relationships

  • Example: "01tE200000B8pYeIAJ"

name

  • The display name of the product shown to customers

  • Required field

  • Example: "Nue Platform"

sku

  • Stock Keeping Unit - a unique identifier for the product

  • Required field and must be unique across all products

  • Example: "NUE_PLATFORM"

recordType

  • Defines the type of product

  • Values: "Product" (standard products), "Service" (service offerings), or "Bundle" (product collections)

  • Example: "Product"

description

  • Short description of the product displayed in listings and product detail pages

  • Optional field

  • Example: "Manage your customer revenue lifecycles with one platform"

longDescription

  • Rich text description supporting HTML formatting for detailed product descriptions

  • Optional field for more comprehensive product information

configurable

  • Indicates whether this product has configuration options

  • Typically true for bundles, false for standard products

  • Example: false

soldIndependently

  • When true, indicates this product can be purchased standalone

  • Some components within bundles may have this set to false

  • Example: true

status

  • Product lifecycle status

  • Values: "Active", "Inactive", or "Draft"

  • Only "Active" products are typically available in self-service

  • Example: "Active"

imageUrl

  • URL to the product's image for display in the self-service interface

  • Optional field

publishStatus

  • Controls visibility in self-service

  • Values: "Published", "Unpublished", or "Outdated"

  • Only "Published" products appear in the API

  • Example: "Published"

lastPublishedDate

  • Date when the product was last published to the self-service layer

  • Example: "2025-03-12"

lastPublishedById

  • ID of the user who last published this product

  • Example: "005E200000JjwfQIAR"

Pricing and Revenue FieldsCopied!

priceModel

  • Defines how the product is priced

  • Values: "Recurring" (subscriptions), "OneTime" (one-time purchases), "Usage" (consumption-based), "CRBD" (credit burn-down models)

  • Required field

  • Example: "Recurring"

billingTiming

  • Specifies when billing occurs

  • Values: "In Advance" (charges at the start of the period), "In Arrears" (charges after the period)

  • Example: "In Advance"

defaultUomId

  • Reference to the default Unit of Measure (UOM) for this product

  • Required field

  • Example: "a0oE20000056N3vIAE"

autoRenew

  • Indicates whether subscription products should automatically renew at the end of the term

  • Example: true

defaultSubscriptionTerm

  • The default subscription length in the units specified by the UOM (months, years, etc.)

  • Example: 12

defaultRenewalTerm

  • The default renewal period length in the units specified by the UOM

  • Example: 12

evergreen

  • When true, indicates subscriptions have no fixed end date and continue until canceled

  • Example: false

Free Trial ConfigurationCopied!

freeTrialType

  • Unit type for free trials

  • Values: "Days", "Months", or "Years"

  • Example: "Days"

freeTrialUnit

  • The duration of the free trial in the specified unit type

  • Example: 30

Tax ConfigurationCopied!

taxCode

  • Identifier for product tax classification used by tax calculation systems

  • Example: "txcd_30070021"

taxMode

  • Determines how taxes are presented

  • Values: "TaxExclusive" (shows prices without tax), "TaxInclusive" (includes tax in displayed prices)

  • Example: "TaxExclusive"

taxCategory

  • VAT or tax category code used for international tax compliance

  • Optional field

Bundle-Specific FieldsCopied!

bundleTemplate

  • Specifies bundle behavior model

  • Values: "Basic", "Advanced", or "DynamicOptions"

  • Example: "Advanced"

showIncludedProductOptions

  • Controls whether bundle components are displayed to customers in self-service

  • Example: false

referenceProductId

  • Optional reference to another product, used for product variants or related offerings

  • Example: "01tE200000B8pYeIAK"

Categorization and OrganizationCopied!

productCategory

  • Classifies the product

  • Values: "RecurringServices", "PhysicalGoods", "CustomerSupport", "ProfessionalServices", "ShippingAndHandling"

  • Example: "RecurringServices"

startDate

  • The effective start date when this product becomes available

  • Required field

  • Example: "2022-01-01"

endDate

  • Optional end date after which the product is no longer available

  • Example: "2025-12-31"

Custom FieldsCopied!

customFields

  • Container for all custom fields defined for the product, accessible as key-value pairs

  • Example: {"Ruby__Custom_Field__c": "SomeField"}

Unit of Measure (UOM)

The UOM defines how a product is quantified and billed:

name

  • Display name of the unit

  • Example: "User/Month"

quantityDimension

  • What is counted

  • Values include: "User", "Each", "Hour", etc.

  • Example: "User"

termDimension

  • Time period if applicable

  • Values include: "Month", "Year", "Quarter", etc.

  • Example: "Month"

decimalScale

  • Number of decimal places allowed

  • Example: 0

roundingMode

  • How quantities are rounded

  • Values: "Up", "Down", "Nearest"

  • Example: "Up"

Price Book Entries

Price book entries represent specific pricing options for a product:

listPrice

  • Base price amount for this pricing option

  • Example: 99

active

  • Whether this pricing option is currently available

  • Example: true

uom

  • The unit of measure for this pricing option

  • Contains the full UOM object

pricingAttributes

  • Optional attributes for price segmentation

  • Example: [{"name": "Channel Type", "value": "SelfServe"}]

Product Features

Features describe capabilities or aspects of the product:

featureName

  • Display name for the feature

  • Example: "Premium Features"

featureOrder

  • Controls display order in interfaces

  • Example: 0

feature

  • Detailed feature information

  • Contains the feature object

productOptions

  • Options specific to this feature group

  • Contains an array of product options

Product Options (Bundle Components)

For bundles, product options define the included components:

optionName

  • Display name for this component

  • Example: "Revenue Dashboard"

optionType

  • Type of relation

  • Values: "RelatedProduct" or "LinkToBundleQuantity"

  • Example: "RelatedProduct"

defaultQuantity

  • Initial quantity selected

  • Example: 1

minQuantity

  • Minimum allowed quantity

  • Example: 1

quantityEditable

  • Whether customers can change quantity

  • Example: true

required

  • Whether this component is required

  • Example: false

bundled

  • When true, this component is included in the bundle's base price

  • Example: true

recommended

  • Whether this is recommended to customers

  • Example: true

product

  • The full product data for this component

  • Contains the complete product object

Price Tags

Price tags define discounts and special pricing rules:

priceTagType

  • Basis for the pricing rule

  • Values: "Quantity", "Term", etc.

  • Example: "Quantity"

priceType

  • How pricing varies

  • Values: "Volume", "Tiered", "Ramp", etc.

  • Example: "Volume"

uomDimension

  • Which dimension this applies to

  • Example: "User"

priceTiers

  • Definition of tier breakpoints and discount amounts

  • Example: [{"chargeModel": "PerUnit", "discountPercentage": 10, "startUnit": 0}]

Product Type DistinctionsCopied!

Standard Products

Standard products are individual items that can be purchased directly:

  • recordType: "Product"

  • configurable: false

  • soldIndependently: typically true

  • Cannot have product options

Bundles

Bundles are collections of other products:

  • recordType: "Bundle"

  • configurable: true

  • soldIndependently: typically true

  • Contains productOptions that reference other products

  • showIncludedProductOptions controls component visibility

Publication StatusCopied!

Only products with publishStatus: "Published" appear in the Self-Service API. This allows for staging changes before making them available to customers:

  1. Published: Available in the self-service API

  2. Unpublished: Not available in self-service

Pricing ModelsCopied!

The Self-Service API supports several pricing models:

Recurring (Subscription)

  • Regular billing at specified intervals

  • Used for SaaS products, memberships, etc.

  • Uses termDimension field in the UOM to determine billing frequency

OneTime

  • Single purchase with no recurring charges

  • Used for physical goods, services, or lifetime access

  • No renewal terms associated

Custom FieldsCopied!

The Nue Self-Service API supports custom fields on the Product object, allowing you to extend the standard data model with business-specific attributes.

customFields

  • Container for all custom fields defined for the product

  • Accessible as key-value pairs in the product response

  • Example: {"Ruby__Custom_Field__c": "SomeField"}

Custom fields can be used for various purposes:

Enhanced Categorization

  • Example: "Ruby__Product_Line__c": "Enterprise"

  • Example: "Ruby__Market_Segment__c": "SMB"

Technical Information

  • Example: "Ruby__System_Requirements__c": "8GB RAM minimum"

  • Example: "Ruby__API_Version__c": "v3.2"

Compliance Information

  • Example: "Ruby__GDPR_Compliant__c": true

  • Example: "Ruby__Data_Residency__c": "US, EU"

Self-Service Display Attributes

  • Example: "Ruby__UI_Badge__c": "New"

  • Example: "Ruby__Featured_Product__c": true

Working with the Product Data ModelCopied!

When implementing a self-service experience, you'll typically:

  1. Retrieve the product catalog to display available products

  2. Process the product data structure to show relevant information to users

  3. Use the id field to identify selected products in order creation

  4. Use the pricing information to calculate and display costs

  5. For bundles, process productOptions to display and configure components

Upcoming Features to be SupportedCopied!

Credit Provisioning for Usage Based Products

Custom fields on Price Book Entries, Product Options, or Price Tags are not currently exposed in the Self-Service API

Enable Free Trial via Product Configurator