Skip to main content

Product

Zuora

Product

A product is an item or service that your company sells. In the subscription economy, a product is generally a service that your customers subscribe to rather than a physical item that they purchase one time. For example, customers subscribe to a service that provides them a car when and where they need a car rather than buying a car outright.

A Product object contains all of the items in a specific product, especially product rate plans and product rate plan charges. Each Product object can have multiple rate plans, which in turn can each have multiple rate plan charges. Each rate plan charge can have multiple tiers. Taken together, all of these items create a single product.

Customers subscribe to products that are in your product catalog. Product objects collectively compose your product catalog. You create your product catalog by creating products. As soon as you create your first product, you create your product catalog.

You use the Product object to identify what is in the product catalog, and to identify the product rate plan ID that you need for a subscribe() call to create a subscription.

The set of {Product objects, ProductRatePlan objects, ProductRatePlanCharge objects} is a defined set of products that a company sells, such as in the example, Family Plan, Topaz level.

The set of {Subscription object, ProductRatePlan objects, ProductRatePlanCharge objects} is an instance of a product with defined quantites, such as five-member Family Plan, Topaz level.

Example

A cell phone family calling plan is a single product called Family Plan with the following characteristics:

  • Three rate plans
    • Topaz: 500-minute rate plan
    • Ruby: 800-minute rate plan
    • Diamond: 1000-minute rate plan
  • Each rate plan has three rate plan charges
    • One-time fees
    • Monthly fees
    • Usage fees
  • The rate plan charge for usage fees has rate plan charge tiers
    • Topaz usage fees
      • 1-200 overage minutes: 60¢ per minute
      • 201-400 overage minutes: 30¢ per minute
      • 401+ overage minutes: 15¢ per minute
    • Ruby usage fees
      • 1-200 overage minutes: 40¢ per minute
      • 201-400 overage minutes: 20¢ per minute
      • 401+ overage minutes: 10¢ per minute
    • Diamond usage fees
      • 1-200 overage minutes: 20¢ per minute
      • 201-400 overage minutes: 10¢ per minute
      • 401+ overage minutes: 5¢ per minute

product-diagram.png

Supported Calls

You can use this object with the following calls:

Walkthroughs and use cases

Here are some common ways to use this object:

  • Create products in the product catalog
  • Update existing products in the product catalog
    • Modify rate plans
    • Modify rate plan charges

Field Descriptions

All field names are case sensitive. Check enumerated values in descriptions to confirm capitalization and spacing. See Field Types for additional information.

Name Required to Create? Allowed Operations Description
AllowFeatureChanges optional Create
Query
Update
Delete
Filter

Controls whether to allow your users to add or remove features while creating or amending a subscription.

Type: boolean
Character limit: ​n/a
Version notes: WSDL 58.0+
Values: true, false (default)

Category optional

Create
Query
Update
Delete
Filter

Category of the product. Used by Zuora Quotes Guided Product Selector.

Type: string
Character limit: ​100​
Version notes: WSDL16.0+​
Values: One of the following:

  • Base Products
  • Add On Services
  • Miscellaneous Products
CreatedById optional

Query
Filter

The ID of the Zuora user who created the Product object.

Type: zns:ID
Character limit: 32
Version notes: WSDL 20.0+
Values: automatically generated

CreatedDate optional

Query
Filter

The date when the Product object was created.

Type: dateTime
Character limit: n/a
Version notesWSDL 20.0+
Valuesautomatically generated

Description optional Create
Query
Update
Delete
Filter

A description of the product. 

Type: string
Character limit: 500
Version notes: --
Values: a string of 500 characters or fewer

EffectiveEndDate required Create
Query
Update
Delete
Filter
The date when the product expires and can't be subscribed to anymore.

Type

  • date: Supported as of WSDL version 69+
  • dateTime: Supported through WSDL version 68

Character limit: 29
Version notes: --
Values: a valid date and time value

EffectiveStartDate required Create
Query
Update
Delete
Filter
The date when the product becomes available and can be subscribed to.

Type

  • date: Supported as of WSDL version 69+
  • dateTime: Supported through WSDL version 68

Character limit: 29
Version notes: --
Values: a valid date and time value

Id required

Query
Filter

The ID of this object. Upon creation, the ID of this object is ProductId.

Type: zns:ID
Character limit: 32
Version notes: --
Valuesautomatically generated

Name optional Create
Query
Update
Delete
Filter
The name of the product. This information is displayed in the product catalog pages in the web-based UI.

Type: string
Character limit: 100
Version notes: --
Values: a string of 100 characters or fewer

ProductNumber optional

Create
Update
Query

The natural key of the product.  

For existing objects that were created before this field was introduced, this value will be null. Use this field in the CRUD: Update a product operation to specify a value. Zuora also provides a tool to help you automatically backfill this field with tenant ID for your existing product catalog. If you want to use this backfill tool, contact Zuora Global Support.

  • Type: string
  • Character limit: 100
  • Values: one of the following:
    • leave null for automatically generated string
    • an alphanumeric string of 100 characters or fewer
  • Version notes: WSDL 133.0+
SKU required Create
Query
Update
Delete
Filter
The unique SKU for the product.

Type: string
Character limit: 50
Version notes: --
Values: one of the following:

  • leave null for automatically generated
  • an alphanumeric string of 50 characters or fewer
UpdatedById optional

Query
Filter

The ID of the last user to update the object.

Type: zns:ID
Character limit: 32
Version notes: --
Valuesautomatically generated

UpdatedDate optional

Query
Filter

The date when the object was last updated.

TypedateTime
Character limit: 29
Version notes: --
Valuesautomatically generated

Additional Field Detail

Id

The ID of this object. Every object has a unique identifier that Zuora automatically assigns upon creation. You use this ID later when you work with the object. For example, if you send an amend() call to modify an existing subscription, then you need to include the specific Subscription object's ID with the call.

The ID for the Product object is ProductId.

SKU

The unique SKU for the product. If you don't supply a value, then Zuora sets the value automatically. Zuora starts with the value, SKU-00000001, and increments each time a product is created with no specified SKU field value.