日本語版はAIによる翻訳です。正確な情報については英語版をご参照ください。 英語版を表示
メインコンテンツまでスキップ

Get Treatments

Get Treatments APIは、アプリやその他のサーフェスでトリートメントをレンダリングするために必要なすべての詳細情報を取得します。

API定義

POST https://apis.auxia.io/v1/GetTreatments

Path Parameters

NameTypeDescription
api_keyString

Auxiaを使用する各プロジェクトまたは企業に発行される文字列のAPIキーです。 リクエストパラメータまたはヘッダーのいずれかに設定できます。

Headers

NameTypeDescription
x-api-keyString

Auxiaを使用する各プロジェクトまたは企業に発行される文字列のAPIキーです。このAPIキーには、このAPIを呼び出す権限が必要です。 リクエストパラメータまたはヘッダーのいずれかに設定できます。

ステータスコード

  1. 200: OK トリートメントが正常に返されます。
  2. 401: Unauthorized 正しいAPIキー、projectId、その他のパラメータがリクエストに含まれていることを確認してください。

リクエストボディ(Raw)

{
"projectId": "1250",
// This is an example user ID. Actual user ID can be obfuscated. See
// documentation below
"userId": "gGTE8CWUIgpzPivCejVk7JN284V",
"contextualAttributes": [
{
"key": "profile_id",
"stringValue": "pr1234"
},
{
"key": "last_action",
"stringValue": "button_x_clicked"
}
],
"surfaces": [
{
"surface": "HOME_SCREEN",
"maximumTreatmentCount": 1
},
{
"surface": "CART_SCREEN",
"maximumTreatmentCount": 3,
"minimumTreatmentCount": 1
}
],
// Optional. Defaults to "en".
"languageCode": "en"
}

curlの例

curl --location --request POST 'https://apis.auxia.io/v1/GetTreatments' \
--header 'Content-Type: application/json' \
--header 'x-api-key: *********************' \
--data-raw '{
"projectId": "1250",
"userId": "gGTE8CWUIgpzPivCejVk79JN284V",
"contextualAttributes": [
{
"key": "profile_id",
"integerValue": 10
},
{
"key": "last_action",
"stringValue": "button_x_clicked"
}
],
"surfaces": [
{
"surface": "HOME_SCREEN",
"maximumTreatmentCount": 1
},
{
"surface": "CART_SCREEN",
"maximumTreatmentCount": 3,
"minimumTreatmentCount": 1
}
]
}'

レスポンス

{
"responseId": "690e24d8-16a6-4518-bf37-09a8f0120dfb",
"userTreatments": [
{
"treatmentId": "6",
"treatmentTrackingId": "6_690e24d8-16a6-4518-bf37-09a8f0120dfb",
"rank": "1",
"treatmentContent": "{ \"title\": \"You have a new message!\", \"description\": \"Learn how our product helps you\", \"cta_name\": \"Learn more\", \"cta_link\": \"/tabs/home/feed\"}",
"treatmentType": "IN_APP_CONTENT_CARD",
"surface": "HOME_SCREEN",
"contentLanguageCode": "en",
},
{
"treatmentId": "4",
"treatmentTrackingId": "4_690e24d8-16a6-4518-bf37-09a8f0120dfb",
"rank": "1",
"treatmentContent": "{ \"title\": \"Check out your trends\", \"description\": \"87% of users found this feature useful\", \"cta_name\": \"View trends\", \"cta_link\": \"/actionscreen\"}",
"treatmentType": "IN_APP_CONTENT_CARD",
"surface": "CART_SCREEN",
"contentLanguageCode": "en",
},
{
"treatmentId": "3",
"treatmentTrackingId": "3_690e24d8-16a6-4518-bf37-09a8f0120dfb",
"rank": "2",
"treatmentContent": "{ \"title\": \"Check leaderboard\", \"description\": \"See your global ranking\", \"cta_name\": \"View leaderboard\", \"cta_link\": \"/leaderboardscreen\"}",
"treatmentType": "IN_APP_CONTENT_CARD",
"surface": "HOME_SCREEN",
"contentLanguageCode": "en",
}
]
}

スキーマリファレンス

リクエスト

NameData TypeRequired?Description
projectIdstringRequired

特定の顧客のプロジェクトに対して、常に同じ値を使用してください。

userIdstringRequired

各ユーザーの一意のIDです。

contextualAttributesjsonOptional

アプリのコンテキストからの追加属性のセットです。例: 現在の画面、最近のアクション、ユーザーのコンテキスト選択など。各コンテキスト属性はキーと値のペアです。

含めるべき内容:

  1. Auxiaが最後に認識したものよりも新しい可能性のあるユーザー属性。これにより、最新のシグナルがトリートメント選択のルール処理やMLモデルに含まれるようになります。
  2. アプリ内のユーザーの現在のコンテキストを識別するその他のシグナル。例えば、last_button_clickedcurrent_screen_idなどです。

同じキーを持つ重複した属性は例外をスローします。

例:

  • { "key": "profile_id", "stringValue": "pr1234" }
  • { "key": "profile_id", "integerValue": 10 }
surfacesjsonRequired

リクエストには少なくとも1つのサーフェスを含める必要があります。各サーフェスには以下が含まれます:

  • surfaceは、特定のUIコンポーネント、画面(ホーム画面)、またはユースケース(クーポン)のトリートメントをリクエストするためのクライアント設定パラメータです。サーフェスの一般的な例はHOME_SCREENPURCHASE_SCREENです。
  • maximumTreatmentCount(Optional)は、指定されたサーフェスに対してクライアントに返されるトリートメントの最大数です。値が設定されていない場合、デフォルトは1です。
  • minimumTreatmentCount(Optional)は、指定されたサーフェスに対してクライアントに返されるトリートメントの最小数です。このフィールドが設定されている場合、レスポンスは0またはminimumTreatmentCountの値以上のいずれかであることが保証されます。値が設定されていない場合、デフォルトは0です。

例:

  • { "surface": "CAROUSEL", "maximumTreatmentCount": 10, "minimumTreatmentCount": 1 }
languageCodestringOptional

トリートメントのコンテンツに対してリクエストされる言語コードです。形式: IETF BCP 47。このフィールドが未指定の場合、デフォルトの言語(en)が使用されます。リクエストされた言語の翻訳がないトリートメントは返されません。

maximumTreatmentCountint64Optional

クライアントに返されるトリートメントの最大数です。値が設定されていない場合、デフォルトは1です。

レスポンス

NameData TypeDescription
responseIdstring

getTreatmentsの各呼び出しに対して生成される一意のIDです。このIDは、レスポンス内の各トリートメントに固有のUserTreatment.treatmentTrackingIdと比較して、レスポンス全体に対するグローバルなIDです。 レスポンスでトリートメントが0件返された場合を除き、このグローバルなレスポンスIDではなく、十分なフィードバックループを確保するためにトリートメントIDが必要です。

userTreatmentsjson(下記の表を参照)

UIやメッセージングシステムでレンダリングするために必要な情報を含むトリートメントのリストです。

userTreatments

NameData TypeDescription
treatmentIdstring

特定のトリートメントを識別する一意のIDです。Auxiaコンソールの「Overview」セクションの「Treatments」でも確認できます。

treatmentTrackingIdstring

特定のトリートメントだけでなく、そのトリートメントが返された特定のRPC呼び出しも参照する一意のIDです。

surfacestring

リクエストで上記に定義されたサーフェスの名前で、このトリートメントがレンダリングされるべき、またはこのトリートメントが使用されるべきサーフェスです。

rankint64

指定されたサーフェスに対するレスポンス内のトリートメントのランクです。Auxiaは、レスポンスでプロビジョニングされる前に、各ユーザーのトリートメントをランク付けしてソートします。

treatmentTypestring

コンテンツのレンダリング方法を決定するために使用されるクライアント設定パラメータです。 例: タイトル、テキスト、画像を含むカードをレンダリングする「In App Content Card」や、異なるUIコンポーネント用の「Banner」など。

treatmentContentjson

(アプリ内で)表示される、または(メッセージに)含まれるコンテンツです。 コンテンツ内のプレースホルダーは、パーソナライゼーションシグナルで置き換えることができます。 コンテンツ形式は、Treatment Config UIを通じてAuxiaのお客様が管理します。 プレーンテキスト、JSON、HTML、JSスニペット、またはクライアントUIで直接使用可能な任意の形式を使用できます。 例: { "content": "{ title: 'Check out your trends', description: '87% of users found this feature useful', cta_name: 'View trends', cta_link: '/actionscreen' }" }

contentLanguageCodestring

トリートメントのコンテンツの言語コードです。形式: IETF BCP 47。

付録

言語と翻訳

in_app_content_cardなどのトリートメントコンテンツは、異なる言語に翻訳できます。

翻訳を使用するには、以下のエンドポイントにPOSTする際に「language_code」JSONフィールドで特定の言語コードを選択してください:

https://apis.auxia.io/v1/GetTreatments

curl --location --request POST 'https://apis.auxia.io/v1/GetTreatments' \
--header 'Content-Type: application/json' \
--header 'x-api-key: *********************' \
--data-raw '{
"projectId": "1250",
"userId": "gGTE8CWUIgpzPivCejVk7JN284V",
"contextualAttributes": [
{
"key": "profile_id",
"stringValue": "pr1234"
},
{
"key": "last_action",
"stringValue": "button_x_clicked"
}
],
"surfaces": [
{
"surface": "HOME_SCREEN",
"maximumTreatmentCount": 1
}
],
"languageCode": "vi"
}'

レスポンス

{
"responseId": "18c7c4b3-2093-494a-9996-94989abac914",
"userTreatments": [
{
"treatmentId": "4",
"treatmentTrackingId": "4_18c7c4b3-2093-494a-9996-94989abac914",
"rank": "1",
"treatmentContent": "... translated content ...",
"treatmentType": "IN_APP_CONTENT_CARD",
"surface": "HOME_SCREEN",
"contentLanguageCode": "vi",
}
]
}

未翻訳の場合

リクエストされた言語にトリートメントが翻訳されていない場合、そのトリートメントは返されません。

curl --location --request POST 'https://apis.auxia.io/v1/GetTreatments \
--header 'Content-Type: application/json' \
--header 'x-api-key: *********************' \
--data-raw '{
"projectId": "1250",
"userId": "gGTE8CWUIgpzPivCejVk7JN284V",
"contextualAttributes": [
{
"key": "profile_id",
"stringValue": "pr1234"
},
{
"key": "last_action",
"stringValue": "button_x_clicked"
}
],
"surfaces": [
{
"surface": "HOME_SCREEN",
"maximumTreatmentCount": 1
}
],
"languageCode": "eo"
}' # The language code `eo` is not supported.

レスポンス

{
"responseId": "e9861c48-f8bf-42dd-a189-a471c35002ad"
}