Roller Integration Guide
OVERVIEW
Your Alpine database can be configured to automatically integrate with your Roller account, syncing over ticket admissions, check-ins, and membership payments, on a regular basis. Never miss a beat again and see comprehensive data in one place, your Alpine database, without worrying about manually needing to do exports and imports.
WHAT WE PUSH INTO ROLLER
This integration pulls information from Roller; your Alpine database does not push data to your Roller account. If you update data originally created in Roller from Alpine, it will not update in Roller.
WHAT WE PULL FROM ROLLER
On a nightly basis, Alpine will pull all Transactions from Roller from the last time it synced—meaning that Alpine will be at most only 24 hours behind the latest data within Roller.
-
Customer Data: Customer profiles including names, emails, phone numbers, and addresses
-
Booking Data: Bookings with their associated products, statuses, and customer relationships
-
Product Data: Product information including types, subtypes, and names
-
Ticket Data: Individual tickets associated with bookings
-
Attendance Data: Check-in records for events and sessions
CONSTITUENT MAPPING
All Alpine Actions will be associated with one Constituent, matched by customer email from Roller.
|
Roller Field |
Alpine Constituent Field |
|---|---|
|
|
First Name |
|
|
Last Name |
|
|
|
|
|
Phone |
|
|
Address |
Constituent Creation Rules:
-
Constituents are only created for customers with valid bookings (not cancelled)
-
Customers must be associated with valid products (memberships, sessions, or donations)
-
Email address is required for Constituent creation
-
Bookings must be created after the integration start date
ACTION TYPE MAPPINGS
Every Roller booking can encompass several different Alpine Actions: one Roller booking may involve tickets to sessions, as well as membership purchases. This means that each Roller booking will correspond to several Alpine Actions, grouped by the following criteria:
Membership Payment Actions
Within a Roller Booking, all items with product type "pass" and sub_type "membership" will be combined into a single Alpine Action of Type Membership Payment.
|
Roller Field |
Alpine Action Field |
|---|---|
|
|
Notes (as "[ROLLER] Booking Reference") |
|
|
Date (Happened At / Action Date) |
|
Multiple |
Ticket Quantity |
|
Sum of item prices |
Amount |
|
|
Membership Length |
|
|
Notes (as "Status") |
|
|
Notes (as "[ROLLER] Booking Item ID") |
|
|
Campaign Name |
|
|
Campaign |
Grouping Logic: Multiple membership items within the same booking combine into a single Membership Payment Action. For example, a Roller booking with one Primary Adult and one Secondary Adult appears on the same Membership Payment Action. The notes section would look like:
Family Membership - Primary Adult - 1
Booking Fee: 4.61
Family Membership - Second Adult - 1
Status: Paid
RSVP Actions (Ticket Purchases)
Within a Roller Booking, all items that have product type "pass" and sub_type "session", "recurringsessions", or null will be combined into a single Alpine Action of Type RSVP.
|
Roller Field |
Alpine Action Field |
|---|---|
|
|
Date (Happened At / Action Date) |
|
|
Notes (as "[ROLLER] Booking Reference") |
|
Multiple |
Ticket Quantity |
|
Sum of item prices |
Amount |
|
|
Notes (as "Status") |
|
|
Notes (as "[ROLLER] Booking Item ID") |
|
|
Notes (if present) |
|
|
Campaign Name |
|
|
Campaign |
Grouping Logic: Multiple ticket items within the same booking reference are combined into a single RSVP Action.
Check-In Actions
Attendance records that can be matched to existing Roller will be synced in Alpine as Check-In Actions.
|
Roller Field |
Alpine Action Field |
|---|---|
|
|
Date (Happened At / Action Date) |
|
|
Linked to corresponding RSVP Action |
|
|
Notes (as "[ROLLER] Booking Item ID") |
|
|
Notes (as Event Start Time: {datetime}) |
|
|
Notes |
Matching Logic: Check-in Actions are created from attendance records and are matched to their corresponding purchase (RSVP) Actions by linking them via a combination of the bookingReference ID, bookingItemId (item ID), and Action type. This ensures accurate matching, especially in cases where multiple items are present in a single booking.
BOOKING STATUS HANDLING
Cancelled Bookings
-
When Roller bookings are cancelled, the integration processes them during the next nightly sync cycle.
-
Partially cancelled bookings: The integration updates Alpine Actions to reflect current quantity and amount
-
Fully cancelled bookings: The integration removes the corresponding Alpine Action
-
Valid Product Filtering
Only bookings associated with the following product types are processed:
-
Memberships:
type= "pass" ANDsub_type= "membership" -
Sessions:
type= "pass" ANDsub_typeIN ["session", "recurringsessions", null]
CONNECTING TO YOUR ROLLER ACCOUNT
To integrate your Roller account, some prerequisites must be met. Ensure that the necessary Roller integration fields are present under the "Integrations" tab in the client's Alpine database. If these fields are missing, submit a support ticket for an engineer to create the integration, making the Roller fields available.
Next, you'll need API credentials from your Roller account to connect it to Alpine. Follow these steps to create a Roller API Key:
Create API Key
-
Log into your Roller account.
-
Navigate to "Settings" > "Integrations."
-
Click "Create client key."
-
Select "API Key" and name it "Humanitru."
-
Click "Create."
Once the API fields are established, clients have two options:
-
Users can input existing API credentials into Alpine to start the sync. This includes the Roller Client ID and Roller Client Secret. If no sync date is set, the system syncs all Roller records from the last 6 months.
-
If the client desires to start the sync from a specific historical date, an engineering story will be required to configure that sync start date.
TECHNICAL CAVEATS
Data Scope Restrictions
-
If a booking created in Roller before the sync start date is later canceled, Alpine will not track the cancellation. This creates an unmatchable scenario where Roller's historical data shows the original booking, but Alpine has no corresponding record for reconciliation
-
Requires valid email addresses for Constituent creation
-
Identity changes: The Roller integration does not automatically update existing Constituent records when customer identity information changes in Roller. If a customer updates their name or email address in your Roller system, these changes will not be reflected in their corresponding Alpine Constituent profile. In cases where email addresses are changed, this may result in the creation of duplicate Constituent records during the next sync. To maintain data accuracy, you will need to manually update Constituent information in Alpine when customers make identity changes in Roller, and periodically review for potential duplicate records that may be created due to email address changes.
Technical Limitations
-
Donation processing is currently disabled in the code