Saltar al contenido principal
La Automation API es un servicio conforme a REST que le permite realizar de forma programática la mayoría de las acciones disponibles en la interfaz web de Kameleoon. Use la Automation API para crear software personalizado que interactúe con la plataforma Kameleoon y sus funcionalidades principales. Por ejemplo, puede utilizar la Automation API para:
  • Conectar Kameleoon con repositorios Git para gestionar el código de las variaciones.
  • Diseñar dashboards personalizados con resultados de experimentos en tiempo real.
  • Automatizar la creación de objetivos y segmentos en varios proyectos.
Kameleoon puede cambiar endpoints y parámetros en nuevas versiones de la Automation API. Suscríbase a las actualizaciones del changelog de Kameleoon para recibir notificaciones sobre los cambios previstos.
La Automation API no admite altos volúmenes de solicitudes. Limite las llamadas a 12 por minuto por cuenta o usuario. No use la Automation API para hacer seguimiento de alta frecuencia de cada visitante del sitio web. Para volúmenes de solicitudes mayores, use la Data API.
Contacte con el equipo de Kameleoon para solicitar una mejora de la Automation API. Apreciamos sus comentarios y podemos añadir rápidamente a la API funcionalidades ya existentes en la interfaz.

Tutoriales

Crear un experimento

Este tutorial proporciona instrucciones paso a paso para realizar tareas clave en la plataforma Kameleoon. Aprenderá a:

Recuperar los resultados de un experimento

Una vez que lanza un experimento, este genera resultados que aportan información para determinar la variación con mejor rendimiento. Aprenda a solicitar los resultados e identificar la variación ganadora en el tutorial Recuperar los resultados de los experimentos.

Autenticación

La Automation API utiliza el framework OAuth 2.0 para la autorización. Kameleoon admite dos flujos principales según el caso de uso:
  • Client Credentials Flow: use este flujo si es cliente de Kameleoon y utiliza la API con fines internos. Este flujo le permite gestionar de forma programática su propia cuenta y sus propiedades web.
  • Authorization Code Flow: use este flujo si es un socio tecnológico que integra una aplicación con Kameleoon. Este flujo le permite acceder de forma segura a los datos en nombre de otros usuarios de Kameleoon.

Flujo Client Credentials

El flujo Client Credentials es el método de autenticación más sencillo. Para usar este flujo, intercambie sus credenciales de cliente por un access token.
Puede encontrar su client_id y client_secret en la plataforma Kameleoon. Vaya a Account > My profile y haga clic en See my API credentials.

1. Obtener un access token

Envíe una solicitud POST al endpoint de token con sus credenciales.
curl
curl -X POST "https://api.kameleoon.com/oauth/token" \
     -H "Content-Type: application/x-www-form-urlencoded" \
     -d "grant_type=client_credentials" \
     -d "client_id=YOUR_CLIENT_ID" \
     -d "client_secret=YOUR_CLIENT_SECRET"
El servidor de autorización responde con un objeto JSON que contiene el access_token:
{
  "access_token": "eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9..."
}

2. Acceder a la API

Incluya el access token como Bearer token en la cabecera HTTP Authorization de sus solicitudes.
curl
curl -H "Authorization: Bearer <ACCESS_TOKEN>" \
     -H "Content-Type: application/json" \
     "https://api.kameleoon.com/experiments"
  • Los access tokens son válidos durante 2 horas por defecto.
  • El flujo Client Credentials no utiliza refresh tokens.
  • Debe usar HTTPS para todas las solicitudes a la API. Las solicitudes realizadas sobre HTTP en claro fallarán.

Flujo Authorization Code

El flujo Authorization Code permite a los desarrolladores externos integrar sus aplicaciones con los datos de Kameleoon. Debe obtener permiso explícito de un usuario para acceder a los recursos de su cuenta.
Contacte con su Technical Account Manager de Kameleoon para solicitar una aplicación OAuth. Debe proporcionar una URL de redirección para su aplicación. A continuación, Kameleoon le proporcionará un client_id y un client_secret.

1. Redirigir al usuario para la autorización

Redirija a los usuarios desde su aplicación a la URL de autorización:
https://api.kameleoon.com/oauth/authorize?client_id=my-application-name&response_type=code&redirect_uri=https://application.company.com/
Tras conceder el permiso, Kameleoon redirige al usuario a la URL de su aplicación con un código de autorización:
https://application.company.com/?code=AUTHORIZATION_CODE

2. Obtener access y refresh tokens

Intercambie el código de autorización por tokens. Codifique en Base64 la cadena client_id:client_secret e inclúyala en la cabecera Authorization: Basic.
curl
curl -X POST "https://api.kameleoon.com/oauth/token" \
     -H "Content-Type: application/x-www-form-urlencoded" \
     -H "Authorization: Basic <BASE64_ENCODED_CREDENTIALS>" \
     -d "grant_type=authorization_code" \
     -d "code=AUTHORIZATION_CODE" \
     -d "redirect_uri=https://application.company.com/"
La respuesta contiene tanto el access token como el refresh token:
{
  "access_token": "...",
  "refresh_token": "..."
}

3. Renovar un token caducado

Para obtener un nuevo access token sin tener que volver a autorizar al usuario:
curl
curl -X POST "https://api.kameleoon.com/oauth/token" \
     -H "Content-Type: application/x-www-form-urlencoded" \
     -H "Authorization: Basic <BASE64_ENCODED_CREDENTIALS>" \
     -d "grant_type=refresh_token" \
     -d "refresh_token=YOUR_REFRESH_TOKEN"

Limitación de tasa (rate limiting)

La limitación de tasa de la Automation API se aplica por access token de usuario. Kameleoon utiliza dos ventanas de rate limiting:
  • Intervalo de 10 segundos: hasta 50 solicitudes.
  • Intervalo de 1 hora: hasta 1.000 solicitudes.
Si supera estos límites, la API devuelve un error HTTP 429 Too Many Requests. Para minimizar la limitación de tasa:
  • Implemente caché: almacene las respuestas de la API localmente y evite llamar a la API en cada carga de página.
  • Use la Data API: si su aplicación requiere tracking en tiempo real a gran escala, use la Data API.

Códigos de estado HTTP

CódigoEstadoDescripción
200OKLa solicitud fue correcta.
201CreatedEl recurso se creó correctamente.
400Bad RequestEl cuerpo de la solicitud no es válido. Asegúrese de que la cabecera Content-Type: application/json esté presente.
401UnauthorizedEl token de API falta o está mal formado.
403ForbiddenNo tiene los permisos necesarios o el token ha sido revocado.
429Too Many RequestsHa superado el límite de tasa.
5xxServer ErrorSe ha producido un error interno. Contacte con el soporte de Kameleoon si el problema persiste.

Parámetros de consulta

Para los endpoints que recuperan varios objetos, use parámetros de consulta para paginar, filtrar u ordenar los datos.

Paginación

Las consultas devuelven 20 elementos por página por defecto (máximo 200). Use perPage=-1 para recuperar el máximo permitido.
ParámetroTipoDescripción
pageintegerEl número de página que se va a recuperar.
perPageintegerElementos por página (por defecto 20, máximo 200).
filterarrayParámetros de filtrado.
sortarrayParámetros de ordenación.

Filtrado

Debe codificar los filtros con porcentaje (percent-encode) cuando los envíe en una URL. Ejemplo: filter=[{"field":"name","operator":"EQUAL","parameters":["Test"]}]
CampoTipoDescripción
fieldstringEl campo por el que filtrar.
operatorenumLas opciones incluyen: EQUAL, NOT_EQUAL, LESS, GREATER, LIKE, IN, IS_NULL, etc.
parametersarrayLos valores específicos con los que se debe coincidir.

Ordenación

CampoTipoDescripción
fieldstringEl campo por el que ordenar.
directionenumASC (ascendente) o DESC (descendente).