Glossary
| Term | Description | Demo URL |
|---|---|---|
| Integration Service |
An Integration Service is a Service, generally Third Party, bundling Runtime Functionality that may be useful to Dodgeball Clients. This functionality may be leveraged either through one Global Interface, or it may be further decomposed into multiple paralle Integration Service Functions.To be useful, an Integration must be bound to a specific Dodgeball Customer Account and further controlled through specific Integration Parameters
|
The Catalog of Integration Services: https://app.dbdemo.dodgeballhq.com/integration?tab=INTEGRATION_CATALOG |
| Integration |
An Integration is a Specific Binding of an Integration Service to an Account that must generally be configured so as to fill in all Required Invocation Information necessary to execute the specific Integration Service Functions on behalf of the Current Dodgeball Account
|
A specific Integration Management Page, in this case for Kount:https://app.dbdemo.dodgeballhq.com/integration/96199eca-3f84-44e4-b777-e8a7115195cb |
| Integration Service Function |
A particular Function that may be invoked at Application Runtime by the Dodgeball Back End System (generally but not always within Checkpoint Evaluation)
|
Generally rendered as Service Blocks within the Dodgeball Checkpoint Editor |
| Integration Parameters |
Individual settings, often API Keys, that may or must be set in order for a given Integration to work correctly. These may be scoped overall to the Integration, or may only apply to a specific Integration Service Function (such as individual Ekata Service Function Keys)
|
The Browser Tracking Selector, Keys, etc are Integration Parameters:https://app.dbdemo.dodgeballhq.com/integration/96199eca-3f84-44e4-b777-e8a7115195cb |
| Dodgeball Support |
The Dodgeball Support Account is a specific Private Account owned by Dodgeball deployed into the Dodgeball Trust Console Application that is used to manage deployments overall
|
|
| Dodgeball Management Service |
A particular Integration only accessible when logged in to the Dodgeball Support Account used to manage various services. In particular, API Parameters set via the Dodgeball Support Account provide EasyBill Credentials for customer accounts
|
|
| Hidden Integrations |
Some integrations, for example the DTL integration, are not Customer Meaningful but still required for Dodgeball Functionality. We underlying Integration Services are then marked up with the Hidden flag, which renders them invisible within the Service Catalog
|
|
| Deprecated Integrations | This concept was initially created to support the removal of Integrations over time. In the event, it now refer to integrations that:- If not enabled, do not show up on the Service Catalog- Show up in the “My Services” list if enabled for the given account.- May be removed from “My Services” (if not used in any checkpoints) but may not be added directly by the user if missing. Two specific Deprecated Integrations are the Ekata Integration, and the Dodgeball Management Service integrationDeprecated integrations are added in for a given customer up request to Engineering. |
Overview
The Service Catalog is a tab in the Dodgeball Trust Console Application by means of which customers may enable, disable, and configure Integrations. These pages specifically:
- Provides a list view of all Third Party Integrations currently enabled for their account.
- Provides for the ability to view all available Integration Services and specifically enable services of interest.
- Allows customers to disable Integrations so long as they are not leveraged within any published Checkpoint.
- Serves to Manage Integration Parameters, including:
- EasyBill enablement (for integrations subject to EasyBill)
- Provides for Enabling/Disabling Browser Tracking Options in case the specific Integration supports this.
- Allows for configuration and management of customer-supplied API Keys and integration-specific parameters.
- When leveraged using the Dodgeball Support Account logins (from 1Password) provides for setting Easybill API Keys and Parameters as well as for enabling/disabling Session Replay for a given account.
Integrations
Integrations are a core part of Dodgeball. After integrating with a service provider, Dodgeball sends the integration ID to the backend to load the integration on the app. Integrations can be categorized into three groups:
Purely Frontend Integrations:
These integrations require a frontend component that must be loaded on the client browser to execute. An example is Device Fingerprinting.
Mixed Integrations:
- These integrations involve backend logic that depends on successfully loading the client script on the frontend. An example is Sardine, where the client SDK is required, and Sift where it is optional but helpful.
- Blocking Integrations:
- These integrations include a blocking component that requires user interaction, such as Multi-Factor Authentication (MFA).
- Pure Back End Integrations: Integrations that execute directly within the Dodgeball Back End servers, generally as part of Checkpoint Execution. An example is Sentilink.
Service Functions
Each integration consists of zero or more service functions. These are distinct functional blocks with unique purposes, accessible via the checkpoint editor.
For example, in the screenshot below, Seon is an integration, while:
- Get Bin Risk
- Get Email Address Risk
…are service functions.
Service function blocks are:
- Called in a checkpoint.
- Responsible for processing incoming data.
- Designed to perform specific tasks.
Important: Each service function requires a specific collection of data parameters to operate correctly. For instance:
- The Get IP Address Risk block from Seon needs an IP Address to function properly.
- The Get Phone Number Risk block can skip an IP Address but must have access to a Phone Number.
Service Catalog
The Service Catalog is divided into two sections:
- My Services: Displays active integrations, including third-party options like Sift and Dodgeball-specific services (e.g., Dodgeball Geolocation Service). This page includes details such as:
- Checkpoints that use the integration
- Integration status
- Browser tracker settings
- Show All Services: A comprehensive list of all available integrations, categorized for easy access.
Loading Front End Integrations
Front End (Client) Integrations are loaded within the Client Browser Context at the point in Client Code where the Dodgeball Client SDK (https://www.npmjs.com/package/@dodgeball/trust-sdk-client) is loaded. At this load site, the Dodgeball init Web Service Function is called. This call queries the Client Database for all Client SDK integrations that are enabled. The back end service looks up Front End Code for every enabled Front End Service: this front end code is then loaded into the Client Context.
Browser Tracking Toggle
A specific form of Front End SDK Enablement consists of enabling Browser Tracking. This is meant to describe the situation in which a particular Third Party Service explicitly Tracks or Fingerprints the client. In many such cases, the service will also pass a Service ID into the Back End (through the POST /metadata call) thereby passing integration-specific (and Dodgeball-Opaque) client identifiers.
Enabling Browser Tracking
The Browser Tracking Toggle:
- When toggled on, enables Browser Tracking on the client.
- Some integrations require it for core functionality, while others use it for additional features.
Removing In-Use Integrations
- Restriction: Integrations referenced in any checkpoint cannot be removed.
- Solution: Ensure no active checkpoint references the integration before attempting removal. Otherwise, users will encounter the error message below.
Dodgeball Support Account
The Dodgeball Support Account is a helper account that simplifies administrative tasks. Instead of needing to change lines of code directly to enable/disable features for each customer, which requires the involvement of engineers, we can take advantage of the Dodgeball Support Account.
- The email address associated with Dodgeball Support is: service_admin@dodgballhq.com
Example: As seen in the screenshot below, the Dodgeball Management Service integration allows admins to enable session replay via a semicolon-separated list of accounts.
Easy Bill
Dodgeball has direct contracts with some Third Party Integration Services allowing us to resell their services. These services are marked up with the EasyBill Annotation, as indicated below.
The Integration Details page contains a Toggle allowing the customer to choose between:
- Leveraging Dodgeball Credentials (which they do not see).
- Using their own Credentials for this specific Service.
For example:
Note that this enablement widget details the Cost in Credits for each Integration Service Function. This Cost in Credit is charged on every Checkpoint Call that leverages the EasyBill credentials (we do not charge if the customer declines EasyBill and enters their own credentials).
Debugging Twilio
Twilio presents a specific configuration problem: the Twilio MFA Service gives no visible error in case the customer has set an invalid API Key. In this situation, the Twilio Service will silently fail to send MFA prompts. To debug such issues, the customer must work directly with the Twilio API Dashboard. Note: if the customer is using Dodgeball Twilio Keys per EasyBill, we can log in to the Dodgeball Production Twilio Account to validate the EasyBill Configuration and view logs.
Common Problems Customers May Encounter
- Error Removing an Integration: An integration tied to a checkpoint cannot be removed.
- Misconfigured SDKs: Using a backend SDK on the frontend or vice versa will cause functionality issues.
- Browser Tracker Misuse: Disabling the browser tracker for integrations that require it could impair their functionality.
- Loading Client SDKs: AdBlockers can prevent device fingerprinting and tracking services from running.
FAQ
A Customer wants to use Ekata
Before Ekata may be used within a given deployment, Engineering must enable it in the account.
The DTL Block is Missing on the Checkpoint Editor
DTL is a Hidden Integration that should be enabled on every newly created account. If it isn’t found, it too must be added by Engineering.
I’m Trying to Add an Integration but the Save Button is Disabled
This occurs when a Required Integration Parameter is not set. In case you wish to add an Integration while still awaiting appropriate keys (for example to do a demo but not execute runtime calls against this Integration) simply fill in any text for each Required Parameter and then the Save button will be enabled.
I’m trying to Enable Session Replay for an Account
Log in using the Dodgeball Support service_admin@dodgeballhq.com login from 1P. Open up the Dodgeball Management Service and add the desired Account Slug to the semicolon-separated list populating the Session Replay Accounts Parameter:
Knowledge Validation Questions
- What is the purpose of the Browser Tracking toggle, and which scenarios require enabling it?
- Why can’t you remove an integration that is still referenced in a checkpoint?
- What is the role of the Dodgeball Support Account, and how does it differ from the primary account?
- How does the EasyBill feature simplify integration management for customers?
- What challenges can arise when debugging integrations like Twilio?
- How do I find all checkpoints leveraging a given integration?
- What happens if an integration block shows up on a Checkpoint page but is never connected downstream of the Trigger Step?