# Profiles APIトラブルシューティング

Profiles APIを次の目的で使用する場合、以下の問題が発生する可能性があります。

セグメントIDをツールに提供します。ツールはセグメントを使用して、パーソナライズされたメッセージングを提供したり、アクティビティを監視および報告したりできます。

このトピックには以下が含まれます。

* [ルーティング操作が完了していることを確認する](/ja/products/customer-data-platform/audience-studio/profiles/profiles-api-troubleshooting#make-sure-that-the-routing-operation-has-been-completed)
* [ツールへのセグメントIDの返却](/ja/products/customer-data-platform/audience-studio/profiles/profiles-api-troubleshooting#returning-segment-ids-to-your-tool)
* [返却できるセグメントIDの数の制限](/ja/products/customer-data-platform/audience-studio/profiles/profiles-api-troubleshooting#limit-the-number-of-segment-ids-that-can-be-returned)
* [キーカラムの不一致](/ja/products/customer-data-platform/audience-studio/profiles/profiles-api-troubleshooting#key-column-mismatch)
* [Profiles APIセットアップの確認](/ja/products/customer-data-platform/audience-studio/profiles/profiles-api-troubleshooting#review-the-profiles-api-set-up)
* [セグメント属性とプロファイル値に対するProfiles APIキーカラムの検証](/ja/products/customer-data-platform/audience-studio/profiles/profiles-api-troubleshooting#verify-the-profiles-api-key-column-against-the-segment-attributes-and-profile-values)
* [Profiles APIトークンとリアルタイムセグメントを設定した後に動作データを送信するようにする](/ja/products/customer-data-platform/audience-studio/profiles/profiles-api-troubleshooting#make-sure-to-send-behavior-data-after-configuring-profiles-api-token-and-real-time-segment)
* [JS SDKから送信される動作データにキーカラムを含めるようにする](/ja/products/customer-data-platform/audience-studio/profiles/profiles-api-troubleshooting#make-sure-to-include-a-key-column-for-behavior-data-sent-from-js-sdk)


## ルーティング操作が完了していることを確認する

以下のJS SDKエンドポイントを使用する場合、リアルタイムセグメンテーションを使用するには、バックエンドからのルーティング有効化が必要です。**Treasure サポート**に連絡して、ルーティングを有効にする`account`、`database`、および`table`をお知らせください。バックエンドから有効化します。この制限は将来のリリースで削除される予定です。

* AP02リージョン
  * **ap02.records.in.treasuredata.com**
* 東京リージョン
  * **ap01.records.in.treasuredata.com**
* 米国リージョン
  * **us01.records.in.treasuredata.com**
* EU01リージョン
  * **eu01.records.in.treasuredata.com**


## ツールへのセグメントIDの返却

API呼び出しがセグメントIDを返せない理由はいくつかあります。

## 返却できるセグメントIDの数の制限

APIが返すことができるセグメントIDの数には1KBの制限があります。セグメントIDはProfile APIによって配列として返されます。Profiles APIを設定する際にセグメントを選択する場合は、セグメントの数を制限してください。

## キーカラムの不一致

Profiles APIセットアップのセグメントには、Profile APIで指定されたキーカラムと一致する値を持つプロファイルが含まれている必要があります。APIキーカラムと一致するプロファイルがない場合、API呼び出しはセグメントIDを返しません。

セグメント内のプロファイルを確認して、少なくともいくつかのプロファイルがProfiles APIキーカラムと一致する値を持っていることを確認できます。

## Profiles APIセットアップの確認

次のプロファイルセットアップでは、キーカラムは`gender`です。API呼び出しによってセグメントIDが返されるには、属性としてgenderが指定され、値（`male`や`female`など）を持つセグメント内のレコードが存在する必要があります。

![](/assets/keycolsegment.49f4b251f9eb8fb490ec51031ec857cea4362bdbc2427d4c0fa83b2620ad2473.cf3845cb.png)

次の例は、API呼び出しがどのようになるかを示しています。

`https://cdp.in.treasuredata.com/cdp/lookup/collect/segments?version=2&token=<apiToken>&key.gender=female&callback=TreasureJSONPCallback1`

`key.gender=female`に注目してください。

この例では、API呼び出しは、genderが'female'である指定されたセグメント内のプロファイルを見つけるように設定されており、プロファイルが含まれているセグメントのIDを取得するように設定されています。

genderとして`female`を指定する設定はセグメント内にあります。Profiles APIキーを呼び出してセグメントIDを取得する設定は、WebアプリまたはクライアントにあるJavaScript内にあります。

## セグメント属性とプロファイル値に対するProfiles APIキーカラムの検証

セグメントをチェックして、指定されたキーカラムを持つプロファイルがセグメント内に存在するかどうかを確認できます。指定された属性の値を返すプロファイルを表示できます。

次の例では、セグメント内のgender値は'Female'に設定されています。セグメントは16のプロファイルを返し、API呼び出しがこのセグメントにいくつかの値を返すことができ、呼び出された場合にこのセグメントIDを提供できることを確認します。

![](/assets/segdefaultfolder.609b68c07c2138ad4fe090a651432f22d4007001aa1af52b7f467f1aee5299d8.cf3845cb.png)

## Profiles APIトークンとリアルタイムセグメントを設定した後に動作データを送信するようにする

Profiles APIトークンとリアルタイムセグメントを登録した後、Profiles APIから動作データを取得するためのルール情報をバックエンドに保存します。

APIトークンとリアルタイムセグメントプロファイルを設定した後、JS SDKから動作データを送信してください。

## JS SDKから送信される動作データにキーカラムを含めるようにする

Profiles API経由でデータを取得する場合は、JS SDKから送信されるデータにキーカラム（Profiles APIトークンで指定）を含めてください。

キーはSDKデータに存在する必要があります。そうでない場合、Profiles APIはセグメントを正しく取得できません。

ルックアップキーとして`td_global_id`を使用する場合、Profiles APIはAPIリクエストのクエリパラメータではなく、ブラウザクッキーからルックアップ値を取得します。ブラウザ外でのテストや検証目的（例：Postman）の場合は、別のカラムを使用して手動でルックアップ値を渡してください。