- Kameleoon を Git リポジトリと接続して、バリエーションコードを管理する。
- リアルタイムの実験結果が表示されるカスタムダッシュボードを設計する。
- 複数のプロジェクトにわたってゴールとセグメントの作成を自動化する。
Automation API の機能拡張をリクエストするには、Kameleoon チームにご連絡ください。皆様のフィードバックをお待ちしており、既存の UI 機能をすばやく API に追加できます。
チュートリアル
実験を作成する
このチュートリアルでは、Kameleoon プラットフォームでの主要な操作を行うためのステップバイステップの手順を説明します。以下を学びます:実験結果を取得する
実験を開始すると、最もパフォーマンスの良いバリエーションを判断するためのインサイトを提供する結果が生成されます。結果をリクエストして勝者のバリエーションを特定する方法は Retrieving Experiments Results チュートリアルで学べます。認証
Automation API は、認可に OAuth 2.0 フレームワークを使用します。Kameleoon はユースケースに応じて 2 つの主要なフローをサポートします:- Client Credentials フロー: 内部目的で API を使用する Kameleoon の顧客である場合は、このフローを使用します。このフローを使用すると、自身のアカウントと Web プロパティをプログラムで管理できます。
- Authorization Code フロー: アプリケーションを Kameleoon と統合する技術パートナーである場合は、このフローを使用します。このフローを使用すると、他の Kameleoon ユーザーに代わってデータに安全にアクセスできます。
Client Credentials フロー
Client Credentials フローは最もシンプルな認証方法です。このフローを使用するには、クライアント認証情報をアクセストークンと交換します。1. アクセストークンを取得する
認証情報を指定して、トークンエンドポイントに POST リクエストを送信します。curl
access_token を含む JSON オブジェクトで応答します:
2. API にアクセスする
リクエストのAuthorization HTTP ヘッダーに Bearer トークンとしてアクセストークンを含めます。
curl
- アクセストークンはデフォルトで 2 時間 有効です。
- Client Credentials フローではリフレッシュトークンは使用しません。
- すべての API リクエストには HTTPS を使用する必要があります。プレーンな HTTP で行われたリクエストは失敗します。
Authorization Code フロー
Authorization Code フローを使用すると、サードパーティの開発者がアプリケーションを Kameleoon のデータと統合できます。ユーザーのアカウントリソースにアクセスするには、ユーザーから明示的な許可を得る必要があります。OAuth アプリケーションをリクエストするには、Kameleoon のテクニカルアカウントマネージャーにご連絡ください。アプリケーション用のリダイレクト URL を提供する必要があります。Kameleoon は
client_id と client_secret を提供します。1. 認可のためにユーザーをリダイレクトする
アプリケーションからユーザーを認可 URL にリダイレクトします:2. アクセストークンとリフレッシュトークンを取得する
認可コードをトークンと交換します。client_id:client_secret 文字列を Base64 エンコードして、Authorization: Basic ヘッダーに含めます。
curl
3. 期限切れのトークンを更新する
ユーザーを再認可せずに新しいアクセストークンを取得するには:curl
レート制限
Automation API のレート制限は、ユーザーアクセストークンごとに発生します。Kameleoon は 2 つのレート制限ウィンドウを使用します:- 10 秒間隔: 最大 50 リクエスト。
- 1 時間間隔: 最大 1,000 リクエスト。
HTTP 429 Too Many Requests エラーを返します。レート制限を最小限に抑えるには:
- キャッシュを実装する: API レスポンスをローカルに保存し、ページロードごとに API を呼び出さないようにします。
- Data API を使用する: アプリケーションが大規模なリアルタイムトラッキングを必要とする場合は、Data API を使用してください。
HTTP ステータスコード
| Code | Status | 説明 |
|---|---|---|
| 200 | OK | リクエストが成功しました。 |
| 201 | Created | リソースが正常に作成されました。 |
| 400 | Bad Request | リクエスト本文が無効です。Content-Type: application/json ヘッダーがあることを確認してください。 |
| 401 | Unauthorized | API トークンが欠落しているか不正な形式です。 |
| 403 | Forbidden | 必要な権限が不足しているか、トークンが取り消されています。 |
| 429 | Too Many Requests | レート制限を超えました。 |
| 5xx | Server Error | 内部エラーが発生しました。問題が解決しない場合は Kameleoon サポートに連絡してください。 |
クエリパラメータ
複数のオブジェクトを取得するエンドポイントでは、データのページネーション、フィルタリング、ソートにクエリパラメータを使用します。ページネーション
クエリはデフォルトで 1 ページあたり 20 アイテム を返します(最大 200)。最大上限を取得するにはperPage=-1 を使用します。
| パラメータ | 型 | 説明 |
|---|---|---|
page | integer | 取得するページ番号。 |
perPage | integer | ページあたりのアイテム数(デフォルト 20、最大 200)。 |
filter | array | フィルタリングパラメータ。 |
sort | array | ソートパラメータ。 |
フィルタリング
フィルタを URL で送信する際は、パーセントエンコードする必要があります。 例:filter=[{"field":"name","operator":"EQUAL","parameters":["Test"]}]
| Field | 型 | 説明 |
|---|---|---|
field | string | フィルタリング対象のフィールド。 |
operator | enum | オプションには次が含まれます: EQUAL、NOT_EQUAL、LESS、GREATER、LIKE、IN、IS_NULL など。 |
parameters | array | 一致させる具体的な値。 |
ソート
| Field | 型 | 説明 |
|---|---|---|
field | string | ソート対象のフィールド。 |
direction | enum | ASC(昇順)または DESC(降順)。 |