Saltar al contenido principal

Objetivo

La Automation API utiliza un objeto paramsIO para filtrar, paginar y ordenar colecciones de consulta. Este tutorial muestra casos de uso prácticos de paramsIO, incluidos:
  • Recuperar varios siteId usando valores de siteCode
  • Filtrar experimentos por estado
  • Establecer criterios de paginación para controlar el tamaño de los resultados
El patrón paramsIO se utiliza en muchos endpoints y sigue una estructura coherente, lo que lo convierte en una herramienta potente para una recuperación precisa de datos.

Requisitos

Token de acceso

La Automation API requiere un token de acceso. Obtenga el token de forma programática siguiendo las instrucciones del artículo de introducción.

Comprender paramsIO

El objeto paramsIO pasa consultas estructuradas a los endpoints de la API. Normalmente incluye herramientas de paginación, ordenación y filtrado. Consulte el artículo de introducción para obtener más información sobre paramsIO.

Estructura de un filtro

Los filtros utilizan una estructura JSON coherente:
PropiedadTipoDescripción
fieldStringLa propiedad de la colección por la que filtrar (por ejemplo, "code", "status")
operatorStringEl operador de comparación (por ejemplo, "EQUAL", "BETWEEN", "GREATER")
parametersArrayUn array de valores con los que comparar
Los objetos JSON de filtro deben estar codificados en URL cuando se añaden a la URL del endpoint. Por ejemplo, [ se convierte en %5B y " se convierte en %22.

Caso de uso 1: Recuperar varios siteIds por siteCode

La Automation API requiere el id numérico interno para la mayoría de las operaciones. Este ejemplo recupera varios IDs de sitio simultáneamente utilizando valores de siteCode.

Paso 1: Definir el filtro

Para recuperar varios sitios, utilice el operador EQUAL con un array de códigos de sitio:
[
  {
    "field": "code",
    "operator": "EQUAL",
    "parameters": ["xdrio4plsn", "adflwp2mms", "lricdj5pqw"]
  }
]

Paso 2: Enviar la solicitud

Envíe una solicitud GET al endpoint /sites con el filtro codificado en URL: Endpoint: GET https://api.kameleoon.com/sites Ejemplo de solicitud:
curl -L -X GET 'https://api.kameleoon.com/sites?filter=%5B%7B%22field%22%3A%22code%22%2C%22operator%22%3A%22EQUAL%22%2C%22parameters%22%3A%5B%22xdrio4plsn%22%2C%22adflwp2mms%22%2C%22lricdj5pqw%22%5D%7D%5D' \
-H 'Authorization: Bearer <ACCESS_TOKEN>'

Paso 3: Gestionar la respuesta

La API devuelve todos los sitios coincidentes en un array JSON:
[
  {
    "id": 42099,
    "url": "https://www.example-production.com/",
    "name": "Production Environment",
    "code": "xdrio4plsn"
    ...
  },
  {
    "id": 42100,
    "url": "https://www.example-staging.com/",
    "name": "Staging Environment",
    "code": "adflwp2mms"
    ...
  },
  {
    "id": 42101,
    "url": "https://www.example-test.com/",
    "name": "Test Environment",
    "code": "lricdj5pqw"
    ...
  }
]
Utilice estos valores id para operaciones posteriores de la API.

Caso de uso 2: Filtrar experimentos activos con paginación

Este ejemplo muestra cómo combinar filtrado y paginación para recuperar experimentos activos en lotes manejables.

Paso 1: Definir el filtro y la paginación

Cree un filtro para experimentos activos y especifique parámetros de paginación: Filtro JSON:
[
  {
    "field": "status",
    "operator": "EQUAL",
    "parameters": ["ACTIVE"]
  }
]
Parámetros de paginación:
  • page=1: Primera página de resultados
  • perPage=200: Limitar a 200 elementos por página

Paso 2: Enviar la solicitud

Envíe una solicitud GET al endpoint /experiments: Endpoint: GET https://api.kameleoon.com/experiments Ejemplo de solicitud:
curl -L -X GET 'https://api.kameleoon.com/experiments?perPage=200&page=1&filter=%5B%7B%22field%22%3A%22status%22%2C%22operator%22%3A%22EQUAL%22%2C%22parameters%22%3A%5B%22ACTIVE%22%5D%7D%5D' \
-H 'Authorization: Bearer <ACCESS_TOKEN>'

Paso 3: Gestionar la respuesta

La API devuelve hasta 200 experimentos activos:
[
  {
    "id": 12345,
    "siteId": 54321,
    "name": "My Active Experiment",
    "description": "Testing new checkout page",
    "baseURL": "https://yourwebsite.com",
    "type": "AI",
    "trackingTools": [],
    "status": "ACTIVE",
    "dateCreated": "2026-02-03T18:41:00",
    "tags": ["checkout", "mobile"],
    ...
  }
]
Para recuperar páginas adicionales, incremente el parámetro page en las solicitudes siguientes.

Caso de uso 3: Combinar varios filtros

Para realizar consultas con mayor precisión, combine varias condiciones de filtro. Por ejemplo, encuentre experimentos activos en un sitio específico:
[
  {
    "field": "status",
    "operator": "EQUAL",
    "parameters": ["ACTIVE"]
  },
  {
    "field": "siteId",
    "operator": "EQUAL",
    "parameters": ["xdrio4plsn"]
  }
]
Ejemplo de solicitud:
curl -L -X GET 'https://api.kameleoon.com/experiments?filter=%5B%7B%22field%22%3A%22status%22%2C%22operator%22%3A%22EQUAL%22%2C%22parameters%22%3A%5B%22ACTIVE%22%5D%7D%2C%7B%22field%22%3A%22siteId%22%2C%22operator%22%3A%22EQUAL%22%2C%22parameters%22%3A%5B%22xdrio4plsn%22%5D%7D%5D' \
-H 'Authorization: Bearer <ACCESS_TOKEN>'

Buenas prácticas

  1. Codificación en URL: Codifique en URL el JSON del filtro antes de añadirlo a la URL de la solicitud.
  2. Paginación: Utilice perPage para limitar el tamaño del resultado y evitar timeouts en colecciones grandes.
  3. Varios filtros: Combine condiciones de filtro para reducir la transferencia de datos innecesaria.
  4. Elección de operador: Utilice operadores para varios valores en lugar de varias solicitudes separadas.

Recursos relacionados