Skip to main content

Overview

The Kameleoon platform offers multiple APIs that customers can use for different purposes. These APIs allow you to conduct front-end A/B experiments seamlessly, integrate Kameleoon into your digital ecosystem better (by fetching data from Kameleoon and sending data to Kameleoon), and automate specific tasks. Providing advanced, well-documented APIs is crucial to us so that your technical teams can use the Kameleoon platform to its full potential.

We have categorized our APIs into three main groups: the Activation API (JavaScript API), the Automation API (REST API), and the Data API (REST API). This article offers a high-level overview of these three APIs so that developers can easily identify the API they need and refer to its documentation. It also demonstrates how our platform is open, technically advanced, and can be expanded and integrated with other systems.

The Activation API

The Activation API is a JavaScript API that comes with the Kameleoon application file installed on your website. This API allows you to call its methods directly through JavaScript code and access various data structures, such as geolocation and weather data of the current visitor. Additionally, it provides the Kameleoon Conversion Score (KCS), which is our real-time, customer-centric, machine-learning powered score.

note

Please note that the KCS score is only available if you have our AI Predictive Targeting add-on.

This API serves several purposes:

  • Provide methods to implement front-end A/B testing variations without any flickering. It is crucial to use these methods to ensure proper functioning of the Kameleoon platform and leverage its Anti-Flickering technology. All Front-End developers working with Kameleoon should be familiar with them.

  • Provide tracking methods to send data to Kameleoon such as conversion data or visitor/customer characteristics like age and gender. The methods are similar to those provided by analytics solutions like Google Analytics. You can call these methods directly using embedded JavaScript code on your HTML pages or via code operated from a Tag Manager such as GTM (Google Tag Manager).

  • Provide methods to manage your website's product catalog, such as registering a product view or purchase, adding a product to the cart, obtaining automatic product recommendations, or obtaining statistics on a particular product.

  • Provide useful real-time information gathered by Kameleoon. For example, you can track the number of page views for a visitor, and the data layer is stored and available for all previous visits of that visitor. You can also determine how long a visitor stayed on your website during their first visit, even if they're on their fifth visit.

  • Provide entry points to override the standard behavior of Kameleoon's software. For example, when a visitor is triggered into an A/B experiment for the first time, the association of the visitor to a variation is done randomly. With the API, you can override this association and register the visitor into a specific variation.

In summary, use this API when implementing experiments or personalizations, tracking data using Kameleoon, retrieving Kameleoon-gathered data, interacting with your product catalog, or customizing and extending any aspect of Kameleoon performed on the front-end/browser.

note

As the Activation API is based entirely on JavaScript, there is no need to be concerned about its scalability. Nearly all of its methods (except for a few that require a server call, such as those related to the product catalog) immediately return and execute their actions synchronously. No authentication is necessary for this API. The fundamental browser architecture and security protocols guarantee that visitors can only access their own data (which is stored in the Local Storage) and not the data of other visitors.

The Activation API is fully documented here. There is also a separate article for custom JavaScript Kameleoon Events.

The Automation API

The Automation API is a REST API that enables you to trigger and perform nearly every action possible through our standard web-based user interfaces programmatically. This implies that you can develop your own software to interact with our platform and take advantage of all its features and capabilities. For instance, some of our clients utilized this API to establish connections between Kameleoon and their Git repositories, allowing Kameleoon variation code to be managed directly on their usual version control system. You can also design your own dashboard and retrieve experiment results directly from Kameleoon. This API is easy to use, and building custom systems to operate or interface with Kameleoon is effortless thanks to it.

note

The API is not intended for extensive usage. This means that it should only be called a dozen times per minute and per customer/user account on our systems. It is not scalable to millions of calls per minute, so it should not be called for every visitor on your website. If you require this, refer to the Data API for more information.

This API is a REST compliant API, so you can call it with any REST capable framework in any language (Java, C#, NodeJS, Python, etc). We conform to REST conventions and any developer familiar with them should feel at ease here. However, this API is not intended to be used extensively. By this we mean it's intended to be called a dozen of times per minute and per customer / user account on our systems. It's not scalable to millions of calls per minute, so should not be called for every visitor on your website (if you need this, see the Data API instead for more information).

note

We offer a VS Code extension that utilizes our Automation API. For more information, please refer to our documentation.

The Automation API is fully documented here.

The Data API

The Data API is a REST API that enables the retrieval or writing of data stored on remote servers, rather than locally on the visitor's browser. In contrast to the Activation API, where data is instantly available on the browser side, this API is designed for communication with external data sources, remote servers, or DMPs. However, it can handle millions of calls per minute (unlike the Automation API), making it suitable for calling for every visitor.

For example, the Data API is used for Cross-Device History Reconciliation, a powerful Kameleoon feature that automatically synchronizes the complete history of actions for a given Unique Visitor across all of their devices. If a visitor browses your website twice on their smartphone and then returns later on their desktop computer, we'll correctly report this as their third visit in the Activation API data layer. Under the surface, our servers make a call to our Data API to ensure data synchronization.

Another excellent use case would be to register "late transactions" that cannot be sent directly to the web platform via the usual Activation API. If your business sells travel packages, and the final transaction or confirmation occurs in person, such as at a physical outlet, rather than on your website, you can use this API to record those transactions, which would be impossible with a web/JS-based API.

The Data API is a REST-compliant API, meaning it can be called using any REST-capable framework in any language, such as Java, C#, NodeJS, Python, and others. We adhere to REST conventions, so developers familiar with them should find it straightforward to use.

The Data API is fully documented here.