This page provides you with instructions on how to extract data from Bronto and analyze it in Superset. (If the mechanics of extracting data from Bronto seem too complex or difficult to maintain, check out Stitch, which can do all the heavy lifting for you in just a few clicks.)
What is Bronto?
Oracle Bronto is an ecommerce email marketing platform. It integrates ecommerce and point-of-sale data with operational platforms, enabling brands to maximize the value of customer data and deliver relevant, personal messages.
What is Superset?
Apache Superset is a cloud-native data exploration and visualization platform that businesses can use to create business intelligence reports and dashboards. It includes a state-of-the-art SQL IDE, and it's open source software, free of cost. The platform was originally developed at Airbnb and donated to the Apache Software Foundation.
Getting data out of Bronto
You can use Bronto's API to get Bronto data into your data warehouse. The API was originally designed using the SOAP API protocol, but a new REST API lets you access and work with product and order data.
Bronto's API offers numerous endpoints that can provide information on orders, products, and campaigns. Using methods outlined in the API documentation, you can retrieve the data you need. For example, to get a list of all transactions for a given order object, you could GET /orders/{orderId}
.
Sample Bronto data
The Bronto REST API returns JSON-formatted data. Here's an example of the kind of response you might see when querying an objects endpoint.
{ emailAddress:validly formatted email address contactId:string orderDate:ISO-8601 datetime status:PENDING | PROCESSED hasTracking:boolean trackingCookieName:string trackingCookieValue:string deliveryId:string customerOrderId:string discountAmount:number grandTotal:number lineItems:[ { name:string other:string sku:string category:string imageUrl:string productUrl:string quantity:number salePrice:number totalPrice:number unitPrice:number description:string position:number } ] originIp:IPv4 or IPv6 address messageId:string originUserAgent:string shippingAmount:number shippingDate:ISO-8601 datetime shippingDetails:string shippingTrackingUrl:string subtotal:number taxAmount:number cartId:UUID createdDate:ISO-8601 datetime updatedDate:ISO-8601 datetime currency:ISO-4217 currency code states: { processed:boolean shipped:boolean } orderId:UUID }
Loading data into Superset
You must replicate data from your SaaS applications to a data warehouse before you can report on it using Superset. Superset can connect to almost 30 databases and data warehouses. Once you choose a data source you want to connect to, you must specify a host name and port, database name, and username and password to get access to the data. You then specify the database schema or tables you want to work with.
Keeping Bronto data up to date
Now what? You've built a script that pulls data from Bronto and loads it into your data warehouse, but what happens tomorrow when you have new transactions?
The key is to build your script in such a way that it can identify incremental updates to your data. Thankfully, Bronto's API results include fields like createdDate that allow you to identify records that are new since your last update (or since the newest record you've copied). Once you've take new data into account, you can set your script up as a cron job or continuous loop to keep pulling down new data as it appears.
From Bronto to your data warehouse: An easier solution
As mentioned earlier, the best practice for analyzing Bronto data in Superset is to store that data inside a data warehousing platform alongside data from your other databases and third-party sources. You can find instructions for doing these extractions for leading warehouses on our sister sites Bronto to Redshift, Bronto to BigQuery, Bronto to Azure Synapse Analytics, Bronto to PostgreSQL, Bronto to Panoply, and Bronto to Snowflake.
Easier yet, however, is using a solution that does all that work for you. Products like Stitch were built to move data automatically, making it easy to integrate Bronto with Superset. With just a few clicks, Stitch starts extracting your Bronto data, structuring it in a way that's optimized for analysis, and inserting that data into a data warehouse that can be easily accessed and analyzed by Superset.