NSO Classes enable you to organize inventory items, or Non-Subscription Offerings (NSOs), within your product catalog into a hierarchy. You can leverage this hierarchy within a customer User Self-Service application to present customers with a categorized display of NSOs available for purchase.
Note: If you plan to organize inventory items into a hierarchy, it is a best practice to plan your hierarchy before creating NSO Classes within Aria.
Creating an NSO Class
Getting here: Products > Non-subscription Offering Classes
- Click New.
The Create New Non-subscription Offering Class screen appears.
- Fill in the three text fields:
Class Name: The display name of the class, which can be returned via API.
Client Defined Identifier: A string that can be used to reference this NSO Class within API Calls across all Aria instances, allowing you to port your Aria-integrated codebase from a staging environment to production.
Description: A string to describe details about the class, which can be returned via API.
- Choose Active if you want this class to be available for association with inventory items; or Inactive if you do not want this class to be available for association with inventory items.
Trying to associate inactive NSO Classes with inventory items will result in an “Item class is invalid” error.
- If you have already created some NSO Classes, you will be able to check one or more classes within a Class Hierarchy to be “parent classes” of this NSO Class.
When creating subsequent NSO Classes, this class will show within the Class Hierarchy.
Note: You can also use the API call create_item_class_m to create an NSO Class. You can edit an NSO Class at any time by clicking it on the Non-Subscription Offering Classes screen, or by calling the API call edit_item_class_m.
Associating Inventory Items with a Non-Subscription Offering Class
Getting here: API Live > Admintools API > update_inventory_item_m
- Gather all appropriate values for the Inventory item including:
- All NSO information
- Service name and service number of associated service
- NSO Class number (to be used in the API field parent_class
- Fill in all required fields, marked with a red asterisk (field_value can be blank if that is not appropriate).
Use one of the following numeric values for the item_type field: 0 - Inventory Item, 1 - Months To Stack (Deprecated), 2 - Resource Item
- Fill in the parent_class field with the number of the associated NSO Class. You can associate more than one parent class to an inventory item within the same API call by clicking the Add Row button next to parent_class.
- Click Agree & Execute.
Note: The only way to associate an inventory item with an NSO Class is by calling the Admintools API create_inventory_item_m or update_inventory_item_m.
Using NSO Classes
Below is a simple example of NSO Classes in use. Imagine that you want to present an online product catalog.
Getting here: Utilities > API Live > get_top_level_item_class_m (or REST call in USS application)
First, create links to the top-level categories within the NSO Class hierarchy. In this example, calling get_top_level_item_class_m returns:
The raw building blocks for a web page—class_label for link text, and class_description that describes each inventory item category—are returned. Construct links using the respective class_no’s that, when clicked, call get_items_by_class_m in Aria.
Getting here: Utilities > API Live > get_items_by_class_m (or REST call in USS application)
In this example, if I call get_items_by_class_m for class_no = 1000225 (Internet), I get:
The raw building blocks for a web page with all items in the Internet NSO Class are returned.