Zum Hauptinhalt springen

Ziel

Die Automation API verwendet ein paramsIO-Objekt, um Abfragesammlungen zu filtern, zu paginieren und zu sortieren. Dieses Tutorial demonstriert praktische Anwendungsfälle für paramsIO, darunter:
  • Abrufen mehrerer siteIds mithilfe von siteCode-Werten
  • Filtern von Experimenten nach Status
  • Festlegen von Paginierungskriterien zur Steuerung der Ergebnisgröße
Das paramsIO-Muster wird über viele Endpoints hinweg verwendet und folgt einer konsistenten Struktur, was es zu einem leistungsstarken Werkzeug für die präzise Datenabfrage macht.

Voraussetzungen

Access Token

Die Automation API erfordert ein Access Token. Rufen Sie das Token programmgesteuert ab, indem Sie den Anweisungen im Artikel Erste Schritte folgen.

paramsIO verstehen

Das paramsIO-Objekt übergibt strukturierte Abfragen an API-Endpoints. Es umfasst typischerweise Werkzeuge zur Paginierung, Sortierung und Filterung. Weitere Informationen zu paramsIO finden Sie im Artikel Erste Schritte.

Filterstruktur

Filter verwenden eine konsistente JSON-Struktur:
EigenschaftTypBeschreibung
fieldStringDie Eigenschaft in der Sammlung, nach der gefiltert werden soll (zum Beispiel "code", "status")
operatorStringDer Vergleichsoperator (zum Beispiel "EQUAL", "BETWEEN", "GREATER")
parametersArrayEin Array von Werten, mit denen verglichen werden soll
Filter-JSON-Objekte müssen URL-kodiert sein, wenn sie zur Endpoint-URL hinzugefügt werden. Beispielsweise wird [ zu %5B und " zu %22.

Anwendungsfall 1: Mehrere siteIds nach siteCode abrufen

Die Automation API erfordert für die meisten Operationen die interne numerische id. Dieses Beispiel ruft mehrere Site-IDs gleichzeitig mithilfe von siteCode-Werten ab.

Schritt 1: Den Filter definieren

Um mehrere Sites abzurufen, verwenden Sie den Operator EQUAL mit einem Array von Site-Codes:
[
  {
    "field": "code",
    "operator": "EQUAL",
    "parameters": ["xdrio4plsn", "adflwp2mms", "lricdj5pqw"]
  }
]

Schritt 2: Die Anfrage senden

Senden Sie eine GET-Anfrage an den Endpoint /sites mit dem URL-kodierten Filter: Endpoint: GET https://api.kameleoon.com/sites Beispielanfrage:
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>'

Schritt 3: Die Antwort verarbeiten

Die API gibt alle übereinstimmenden Sites in einem JSON-Array zurück:
[
  {
    "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"
    ...
  }
]
Verwenden Sie diese id-Werte für nachfolgende API-Operationen.

Anwendungsfall 2: Aktive Experimente mit Paginierung filtern

Dieses Beispiel zeigt, wie Sie Filterung und Paginierung kombinieren, um aktive Experimente in handhabbaren Stapeln abzurufen.

Schritt 1: Filter und Paginierung definieren

Erstellen Sie einen Filter für aktive Experimente und geben Sie die Paginierungsparameter an: Filter-JSON:
[
  {
    "field": "status",
    "operator": "EQUAL",
    "parameters": ["ACTIVE"]
  }
]
Paginierungsparameter:
  • page=1: Erste Ergebnisseite
  • perPage=200: Auf 200 Elemente pro Seite begrenzen

Schritt 2: Die Anfrage senden

Senden Sie eine GET-Anfrage an den Endpoint /experiments: Endpoint: GET https://api.kameleoon.com/experiments Beispielanfrage:
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>'

Schritt 3: Die Antwort verarbeiten

Die API gibt bis zu 200 aktive Experimente zurück:
[
  {
    "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"],
    ...
  }
]
Um weitere Seiten abzurufen, erhöhen Sie den Parameter page in nachfolgenden Anfragen.

Anwendungsfall 3: Mehrere Filter kombinieren

Um präziser abzufragen, kombinieren Sie mehrere Filterbedingungen. Finden Sie beispielsweise aktive Experimente auf einer bestimmten Site:
[
  {
    "field": "status",
    "operator": "EQUAL",
    "parameters": ["ACTIVE"]
  },
  {
    "field": "siteId",
    "operator": "EQUAL",
    "parameters": ["xdrio4plsn"]
  }
]
Beispielanfrage:
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>'

Best Practices

  1. URL-Kodierung: Kodieren Sie das Filter-JSON in URL, bevor Sie es zur Anfrage-URL hinzufügen.
  2. Paginierung: Verwenden Sie perPage, um die Ergebnisgröße zu begrenzen und Timeouts bei großen Sammlungen zu vermeiden.
  3. Mehrere Filter: Kombinieren Sie Filterbedingungen, um unnötige Datenübertragungen zu reduzieren.
  4. Operatorwahl: Verwenden Sie Operatoren für mehrere Werte anstelle mehrerer separater Anfragen.

Verwandte Ressourcen