Connect to Your Revenera (Revulytics) Data with R!
While I was developing the package Revulytics was acquired by Flexera, but retained its name. When I was virtually done with the package Flexera rebranded it as Flexera Usage Intelligence and then Revenera. This package/repo was formerly called revulyticsR (through version 0.0.3). Starting with dev version 0.0.3.9000 and the release of 0.1.0 to Cran and GitHub it will be known as reveneraR.
reveneraR facilitates making a connection to the Revulytics API and executing various queries. You can use it to get active users (daily, monthly, etc) or to query on various advanced events and get the results in tidy data frames.
The development version can be installed from GitHub:
devtools::install_github("chrisumphlett/reveneraR")
.
A session must first be established before querying the API. This is
done using your Revenera username and password with
revultyics_auth()
.
get_users()
. For a given period of time (a day, week,
or month) Revenera’s API summarizes and returns the number of new,
active or lost users. With this function you can return daily, weekly,
or monthly users for multiple product ids. For lost users the number of
days of inactivity to be counted lost is set at 30 by default (but you
can change), and the last date of activity is the lost date (you can
choose it to be the last date plus the number of days of inactivity, the
date it is considered lost).get_categories_and_events()
. For a list of product ids
get all of the categories and events that have been defined (and
identify it each is a basic or advanced). This can then be passed into
subsequent queries to pull data on multiple events.get_product_properties()
. For a list of product ids get
all of the product properties, both standard and custom. This can then
be passed into get_client_metadata()
.get_client_metadata()
. For a list of product ids get
selected properties for each client, which is essentially metadata. This
works by pulling all of the clients that are installed within specified
date range.get_daily_client_properties()
to pull daily values of
properties for a product within a given date range.get_raw_data_files()
to retrieve the list of raw data
file exports if that add-on is enabled and the download URLs.You will need your own credentials to use the package. A workflow could be:
rev_user <- "my_username"
rev_pwd <- "super_secret"
product_ids_list <- c("123", "456", "789")
start_date <- lubridate::floor_date(Sys.Date(), unit = "months") - months(6)
end_date <- Sys.Date() - 1
session_id <- revulytics_auth(rev_user, rev_pwd)
monthly_active_users <- get_active_users(product_ids_list, "active", "month", start_date, end_date, session_id, rev_user)
category_event <- get_categories_and_events(product_ids_list, session_id, rev_user)
product_properties <- get_product_properties(product_ids_list, session_id, rev_user)
client_metadata <- get_client_metadata(product_ids_list, session_id, rev_user, product_properties, c("Property1", "Property2"), start_date, end_date)
More info on the API is available at https://docs.revenera.com/ui560/report/.