コンテンツにスキップ

APIリファレンス:複数の設定

複数のコンテンツを取得するスキーマ

Joystickから一度の呼び出しでコンテンツのコレクションを取得できます。

APIを通じて一度に複数の設定を取得する

リクエスト

エンドポイント

POST https://api.getjoystick.com/api/v1/combine/?c=[":cid_1", ":cid_2", ":cid_3"]&dynamic=true

指定された:contentId_00を希望する設定コンテンツIDに置き換えてください。:contentIdは大文字と小文字を区別しません。

ヘッダー

リクエスト属性 必須 備考
Content-Type application/json はい
x-api-key あなたのAPIキー はい ターゲットとしている環境のために作成したAPIキー。各環境ごとに異なります。環境ページで作成・管理されます。

リクエストクエリパラメータ / オプション

クエリパラメータ 説明
c 文字列の配列。必須。 返されるcontentIdsのリストです。
dynamic 任意。コンテンツを'data'オブジェクトにラップし、セグメンテーションとABテストに関する追加のメタデータを持つことを示します。出力については、レスポンスセクションを参照してください。
使用法:/combine/?c=["cid_1", "cid_2"]&dynamic=true
responseType 任意。大文字と小文字を区別します。動的レスポンスの'data'オブジェクトをシリアル化することを示します。'dynamic'と一緒に使用する必要があります。出力については、レスポンスセクションを参照してください。
使用法:/combine/?c=["cid_1", "cid_2"]&dynamic=true&responseType=serialized

リクエストボディ

リクエストボディはJSONである必要があり、空にすることはできません。最低限、以下のスニペットで構成されている必要があります。

{
    "u": "",
    "p": {}
}   
{
    "u": "the-unique-user-id",
    "v": "3.2.1",
    "p": {
        "level": 1,
        "location": "north_pole",
        "balance": 101,
        "days_since_install": 14
    }
}   
属性 要件 説明
u 文字列。必須。 これは特定のユーザーのための一意の識別子です。この識別子を使用して、ユーザーを粘着性のあるABテストグループに分割します。最低限、空の文字列を送信してください。
p オブジェクト。必須。 これはJoystickがセグメンテーションのために使用できるキー:値の属性の辞書です(送信した属性に基づいて異なる設定コンテンツが返されることがあります)。最低限、空のオブジェクトを送信してください。使用詳細を表示
v 任意。 これはリクエストを行っているアプリのバージョンです。これを送信することを強くおすすめします。3部のセマンティックバージョンでなければなりません。例:"3.2.1"

curl --location --request POST 'https://api.getjoystick.com/api/v1/combine/?c=["contentId_01", "contentId_02", "contentId_03"]' \
--header 'X-Api-Key: YOUR-API-KEY' \
--header 'Content-Type: application/json' \
--data-raw '{"u": "", "p": {}}'

トラブルシューティング

問題が発生した場合は、トラブルシューティングガイドを参照してください。

レスポンス

レスポンスボディはcontentIdキーでオブジェクトになります。各オブジェクトは、コンテンツが個別に要求された場合とまったく同じです。

デフォルトのレスポンス

デフォルトのレスポンスは、各contentIdキーの下で設定コンテンツのみを返します。

200 OK
{
    "contentId_01": { "greeting": "Hello, world!" },
    "contentId_02": { "greeting": "Hello, planet!" },
    "contentId_03": { "greeting": "Hello, solar system!" }
}   

メタデータ付きのラップされたレスポンス

リクエストのクエリパラメータにdynamic=trueオプションが設定されている場合のレスポンスです。セグメンテーションとABテストの変換/変異に関する追加情報が返されます(存在する場合)。
(/combine/?c=["contentId_01", "contentId_02", "contentId_03"]&dynamic=true)

200 OK
{
    "contentId_01": {
        "data": { "greeting": "Hello, world!" },
        "hash": "2277e0d4",
        "meta": { "uid": 0, "mod": 0, "seg": []}
    },
    "contentId_02": {
        "data": { "greeting": "Hello, planet!" },
        "hash": "abcd1234",
        "meta": { "uid": 0, "mod": 0, "seg": []}
    },
    "contentId_03": {
        "data": { "greeting": "Hello, solar system!" },
        "hash": "defg9876",
        "meta": { "uid": 0, "mod": 0, "seg": []}
    }
}   

メタデータ付きでシリアル化されたラップされたレスポンス

dynamic=trueとresponseType=serializedの両方のオプションがリクエストのクエリパラメータに設定されている場合のレスポンスです。
(/combine/?c=["contentId_01", "contentId_02", "contentId_03"]&dynamic=true&responseType=serialized)

200 OK
{
    "contentId_01": {
        "data": "{ \"greeting\": \"Hello, world!\" }",
        "hash": "2277e0d4",
        "meta": { "uid": 0, "mod": 0, "seg": []}
    },
    "contentId_02": {
        "data": "{ \"greeting\": \"Hello, planet!\" }",
        "hash": "abcd1234",
        "meta": { "uid": 0, "mod": 0, "seg": []}
    },
    "contentId_03": {
        "data": "{ \"greeting\": \"Hello, solar system!\" }",
        "hash": "defg9876",
        "meta": { "uid": 0, "mod": 0, "seg": []}
    }
}   

詳細情報

各設定オブジェクトの詳細を理解するために、シングルコンテンツAPIを参照してください。

さあ、始めましょう!

サンドボックスアカウントを取得する

あなたのチームにロケットブースターを装備させましょう。今日中にサンドボックスアカウントを取得

コミュニティに参加する

ヒント、サポート、その他のために、私たちのDiscordサーバーにアクセスしてください:Discord