Experiment Evaluation API
Experiment Evaluation APIは、evaluation APIを使用することでリモート評価を通じてユーザーのバリアント割り当てデータを取得するか、flags APIを使用してローカル評価フラグをダウンロードします。
地域
| データのレジデンシー | ベースURL |
|---|---|
| デフォルト | https://api.lab.amplitude.com/v1/ |
| 欧州連合 | https://api.lab.eu.amplitude.com/v1/ |
認可
evaluation APIは、AuthorizationヘッダーにのApi-Keyプレフィックスを付与して設定されたデプロイメントキーを使用してリクエストを認証します。たとえば、Authorization: Api-Key <deployment_key>のようになります。
Evaluation API
GET /v1/vardata
Evaluation APIを使用すると、ユーザーのバリアント割り当てデータを取得できます。このAPIを呼び出すと、Amplitudeは[Experiment] Assignmentイベントを追跡します。
評価クエリパラメータ
| 名前 | 概要 |
|---|---|
user_id | ユーザーのID。 |
device_id | ユーザーのデバイスID。 |
flag_keys | バリアントを取得する対象の、特定のフラグキー。複数のフラグキーをリクエストする場合はコンマで区切ります(例:flag_keys=flag-A,flag-B)。空白または欠落している場合、実験はデプロイメントキーに関連付けられたすべてのフラグと実験を評価します。 |
context | 完全なユーザーコンテキストを含むJSON文字列です。user_propertiesフィールドにユーザープロパティを設定します(例:{"user_properties":{"premium":true}})。ユーザーコンテキストの詳細については、データモデルに記載されている定義を参照してください。 |
評価ヘッダー
| 名前 | 概要 |
|---|---|
Authorization | 認証用にApi-Key <deployment_key>に設定します。 |
X-Amp-Exp-Track | 評価のために割り当てイベントを追跡しない場合はno-trackに設定します。 |
X-Amp-Exp-Exposure-Track | サーバーが各フラグの[Experiment] Exposureイベントを追跡するかどうかを制御します。デフォルトはno-trackです。 評価された各フラグの暴露イベントを追跡するには、trackに設定します。 |
評価レスポンス
レスポンスボディは、フラグキーでキー化されたJSONオブジェクトです。各フラグキーの値は、ユーザーに割り当てられたバリアントです。各バリアントオブジェクトには次のフィールドが含まれています。
| フィールド | タイプ | 必須 | 概要 |
|---|---|---|---|
key | string | 必須 | フラグ/実験に割り当てられたバリアントキー。 |
payload | any | オプション | バリアントのペイロード(設定されている場合)。 任意の有効なJSON値を指定できます。 |
expKey | string | オプション | 同じ実験の異なる実行を区別するために使用される実験キー。 |
evaluationId | string | オプション | デバッグ目的で使用される評価ID。 |
予期しないレスポンスフィールド。
各フラグのバリアントオブジェクトには、将来的に追加のレスポンスフィールドが含まれる可能性があります。コードがこれらの追加フィールドを適切に処理するようにしてください。
例えば:
{
"my-experiment": {
"key": "treatment",
"payload": { "price": 99.99, "discount": "25%" },
"expKey": "exp-1",
"evaluationId": "224681772811_1760563672659_3681"
}
// ...
}
空の結果
:ユーザーがターゲットオーディエンスに含まれていない場合、Evaluation APIが空のオブジェクトを返すことがあります。
{}
評価レスポンスのステータスコード
| ステータスコード | 概要 |
|---|---|
| 200 | リクエストが成功すると、200レスポンスとバリアントへのフラグキーのマップが返されます。flag_keysが指定されていない場合、実験は認証ヘッダー内のデプロイメントキーに関連付けられたすべてのフラグを評価します。 例を使用して、ブラウザからAPIを試すか、curlをコピーしてください。 |
| 400 | リクエストのコンテキストパラメータに無効なJSONが含まれています。 |
| 401 | リクエストに有効なAPIキーが含まれていません。 |
評価の例
表のフィールドを設定し、[送信] を選択してブラウザでリクエストを作成するか、curlコマンドをコピーして自分でリクエストを実行してください。
Evaluation example
GET · /v1/vardataEvaluation APIcurl --request GET \ --url 'https://api.lab.amplitude.com/v1/vardata' \ --header 'Authorization: Api-Key deployment_key'Flags API
GET /v1/flags
Flags APIを使用すると、ローカル評価用のフラグ設定をダウンロードできます。Flags APIを使用して、クライアント側のローカル評価SDKをinitialFlagsでブートストラップしたり、エッジ環境などの外部フラグ設定ストレージを使用して評価を実行したりできます。
このAPIによって返されるデータモデルは、フラグと実験用の管理API形式とは異なります。 Flags API形式は評価をサポートしているため、管理API形式よりも冗長で人間が読みやすいものではありません。
フラグのクエリパラメータ
| 名前 | 概要 |
|---|---|
flag_keys | フラグ設定を取得する対象の、特定のフラグキー。複数のフラグキーをリクエストする場合はコンマで区切ります(例:flag_keys=flag-A,flag-B)。空白または欠落している場合、APIはデプロイメントキーに関連付けられたすべてのフラグと実験を返します。 |
フラグヘッダー
| 名前 | 概要 |
|---|---|
Authorization | 認証用にApi-Key <deployment_key>に設定します。 |
フラグのレスポンス
Flags APIはオブジェクトのJSON配列を返します。ここにある各オブジェクトは、フラグまたは実験を表します。たとえば、これは単一のフラグを使用した基本的なレスポンスです。
[
{
"key": "example-flag",
"metadata": {
"deployed": true,
"evaluationMode": "local",
"flagType": "release",
"flagVersion": 42
},
"segments": [
{
"metadata": {
"segmentName": "All Other Users"
},
"variant": "off"
}
],
"variants": {
"off": {
"key": "off",
"metadata": {
"default": true
}
},
"on": {
"key": "on",
"value": "on"
}
}
}
]
フラグレスポンスのステータスコード
| ステータスコード | 概要 |
|---|---|
| 200 | リクエストが成功すると、フラグ設定の配列を含む200レスポンスが返されます。 |
| 401 | リクエストに有効なAPIキーが含まれていません。 |
これは役に立ちましたか?