Key Concepts & Relationships
This section provides a summary of the key objects used within Revenium and the relationships between one another.
Video Overview
If you prefer watching to reading, check out this 3 minute video that explains the key objects in your Revenium configuration as well as how they relate to one another. The text explanation follows below.
Revenium Objects
Sources - These are systems (data sources) that you connect to Revenium to send usage events for metering & billing. Any source connected to Revenium can be added to Products to create usage-based pricing, and API sources connected to Revenium will automatically generate advanced analytics.
Products - Products incorporate usage events from one or more Sources and are sold to customers. Products can have associated subscription terms and fees, overage rates, quotas, SLAs, and more added to their configuration.
Subscriptions - Subscriptions are issued to Subscribers to allow them to access products. Subscriptions also allow Revenium to track usage by each customer individually.
Subscribers - Subscribers are the owners of subscriptions (i.e. an individual person with an email address).
Subscriber credentials are an optional configuration. If our metering engine receives a metering event that includes a subscription ID without a credential defined, one will be created automatically.
Subscriber Credentials - The use of these credentials allows distinct reporting for several Subscribers who may be generating usage under a single Subscription (common in the API world where multiple API keys/tokens may be created for different applications to access a product). When credentials are automatically created in Revenium, a unique ID for each credential is associated with a Subscription. The unique ID in a credential is most commonly an API key or the JWT/OAuth client id granted by an IDP or API gateway, but can be any unique identifier created by your application to identify the consumer of your products.
Relationships Between Objects
Products can be associated with more than one source.
Products are typically associated with numerous Subscriptions (one per subscriber who has purchased access to the Product)
Subscriptions can optionally be associated with multiple Credentials. Using this approach, if a single subscriber requires multiple tokens to use your product, they all can be associated with a single subscription, while still reporting usage separately by credential. (imagine a B2B scenario where a company purchases access to a service for its employees, but still wants to be able to report on individual usage to map costs back to an appropriate user or department)
Subscriber - Every subscription and credential can have only one subscriber as an owner.
Example Scenario
A healthcare company ("Pharma House") is publishing a product for prescription drug research. Their product is "Platinum Unlimited" and includes access to 5 data sources that perform different functions required to conduct research. These sources need to be accessed by 2 Subscribers. Subscriber 1 has 5 different gateway-provided applications accessing the product, and Subscriber 2 has only a single application. The setup in Revenium would appear as follows:
Corresponding Configuration in Revenium
Subscribers: One subscriber is created for each end user. These subscribers are identified by their email addresses.
Sources: Five sources would be created and connected using Revenium's connectors or our metering API. As a part of source creation in Revenium, unique identifiers for each would be created by Revenium.
These unique identifiers would then be configured in the gateway policy or connected application (i.e. python or .NET) to correlate the source traffic to the record in Revenium (note: options exist to automate this synchronization, but are beyond the scope of this simple tutorial).
Product: A single product ("Platinum Unlimited") would be built in Revenium and the 5 sources that make up this product bundle would be added to its configuration.
Subscriptions: Two subscriptions are required, one for each Subscriber who subscribed to the "Platinum Unlimited" Product.
Credentials: Pharma House's customers need to report usage separately for several different use-cases internally. Therefore, we create a Subscriber Credential that links each authentication token from the data sources to a Revenium subscription.
Customer 1: Pharma House creates five Subscriber Credentials (one for each auth token) and associates Subscribers 1's subscription to all five Credentials.
Customer 2: Pharma House creates a single Subscriber Credential for Subscriber 2 and associates their auth token with that Credential and Subscription.
Using this configuration, each Subscriber can access the "Platinum Unlimited" product with no change to how they are accessing the data sources (APIs or otherwise), and Revenium will meter and rate each subscription accordingly.
Last updated