Passer au contenu principal

Objectif

L’Automation API utilise un objet paramsIO pour filtrer, paginer et trier les collections de requêtes. Ce tutoriel présente des cas d’utilisation pratiques de paramsIO, notamment :
  • Récupérer plusieurs siteId à l’aide de valeurs siteCode
  • Filtrer les expériences par statut
  • Définir des critères de pagination pour contrôler la taille des résultats
Le pattern paramsIO est utilisé sur de nombreux endpoints et suit une structure cohérente, ce qui en fait un outil puissant pour une récupération de données précise.

Prérequis

Access token

L’Automation API nécessite un access token. Récupérez le token de manière programmatique en suivant les instructions de l’article Démarrer.

Comprendre paramsIO

L’objet paramsIO transmet des requêtes structurées aux endpoints API. Il comprend généralement des outils de pagination, de tri et de filtrage. Consultez l’article Démarrer pour plus d’informations sur paramsIO.

Structure du filtre

Les filtres utilisent une structure JSON cohérente :
PropriétéTypeDescription
fieldStringLa propriété de la collection sur laquelle filtrer (par exemple, "code", "status")
operatorStringL’opérateur de comparaison (par exemple, "EQUAL", "BETWEEN", "GREATER")
parametersArrayUn tableau de valeurs à faire correspondre
Les objets JSON de filtre doivent être encodés en URL lors de leur ajout à l’URL de l’endpoint. Par exemple, [ devient %5B et " devient %22.

Cas d’utilisation 1 : Récupérer plusieurs siteIds par siteCode

L’Automation API nécessite l’id numérique interne pour la plupart des opérations. Cet exemple récupère simultanément plusieurs IDs de site à l’aide de valeurs siteCode.

Étape 1 : Définir le filtre

Pour récupérer plusieurs sites, utilisez l’opérateur EQUAL avec un tableau de codes de site :
[
  {
    "field": "code",
    "operator": "EQUAL",
    "parameters": ["xdrio4plsn", "adflwp2mms", "lricdj5pqw"]
  }
]

Étape 2 : Envoyer la requête

Envoyez une requête GET à l’endpoint /sites avec le filtre encodé en URL : Endpoint : GET https://api.kameleoon.com/sites Exemple de requête :
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>'

Étape 3 : Traiter la réponse

L’API renvoie tous les sites correspondants dans un tableau 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"
    ...
  }
]
Utilisez ces valeurs d’id pour les opérations API ultérieures.

Cas d’utilisation 2 : Filtrer les expériences actives avec pagination

Cet exemple montre comment combiner filtrage et pagination pour récupérer les expériences actives par lots gérables.

Étape 1 : Définir le filtre et la pagination

Créez un filtre pour les expériences actives et spécifiez les paramètres de pagination : Filtre JSON :
[
  {
    "field": "status",
    "operator": "EQUAL",
    "parameters": ["ACTIVE"]
  }
]
Paramètres de pagination :
  • page=1 : Première page de résultats
  • perPage=200 : Limiter à 200 éléments par page

Étape 2 : Envoyer la requête

Envoyez une requête GET à l’endpoint /experiments : Endpoint : GET https://api.kameleoon.com/experiments Exemple de requête :
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>'

Étape 3 : Traiter la réponse

L’API renvoie jusqu’à 200 expériences actives :
[
  {
    "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"],
    ...
  }
]
Pour récupérer des pages supplémentaires, incrémentez le paramètre page dans les requêtes suivantes.

Cas d’utilisation 3 : Combiner plusieurs filtres

Pour interroger plus précisément, combinez plusieurs conditions de filtre. Par exemple, trouvez les expériences actives sur un site spécifique :
[
  {
    "field": "status",
    "operator": "EQUAL",
    "parameters": ["ACTIVE"]
  },
  {
    "field": "siteId",
    "operator": "EQUAL",
    "parameters": ["xdrio4plsn"]
  }
]
Exemple de requête :
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>'

Bonnes pratiques

  1. Encodage URL : Encodez en URL le JSON du filtre avant de l’ajouter à l’URL de la requête.
  2. Pagination : Utilisez perPage pour limiter la taille des résultats et éviter les timeouts sur les grandes collections.
  3. Filtres multiples : Combinez les conditions de filtre pour réduire les transferts de données inutiles.
  4. Choix de l’opérateur : Utilisez des opérateurs pour plusieurs valeurs au lieu de plusieurs requêtes distinctes.

Ressources connexes