Query API
概要
Rokt Query APIは、アカウントデータ、キャンペーン、およびトランザクションをクエリするための包括的で柔軟なAPIです。インタラクティブなドキュメントはこちらをご覧ください。
認証
Rokt Query APIは、クライアント統合にOAuth 2.0アプローチを活用しています。 詳細はOAuth 2.0 Credentials Flowをご覧ください。 Query APIにアクセスするには、Rokt App IDとApp Secretを使用する必要があります。
Rokt App IDとApp Secretの生成
- my.rokt.comでOne Platformにサインイン
- 左下のアカウントアイコンの下にあるProfile Settingsに移動
- Generate Personal API Credentialsセクションまでスクロールダウン
- アプリの名前を入力し、Generateをクリック
- App IDとApp Secretを安全に保管してください - App Secretには再度アクセスできません
アクセストークンの生成
Roktは、パブリックAPIへの安全な認証のためにOAuth 2.0を使用しています。これにより、認可されたユーザーのみがデータにアクセスできるようにしています。
アクセストークンを生成するには、以下のPOSTリクエストを行います。
curl -X POST https://api.rokt.com/auth/oauth2/token \
--header "Authorization: Basic $ENCODED_TOKEN" \
--header "Content-Type: application/x-www-form-urlencoded" \
--data "grant_type=client_credentials"
アクセストークンは1時間後に期限切れとなり、すべてのAPIリクエストにBearerトークンとして含める必要があります。
ステップバイステップの例
シェルコマンドを使用した完全な例を以下に示します:
# ステップ 1: 環境変数を設定します。これらをバージョン管理に保存しないでください
export ROKT_APP_ID="your_app_id"
export ROKT_APP_SECRET="your_secret"
# ステップ 2: 認証トークンを生成するために資格情報をエンコードします
export ENCODED_TOKEN=$(printf '%s' "${ROKT_APP_ID}:${ROKT_APP_SECRET}" | openssl base64 | tr -d '\n')
# Step 3: Basic認証を使用してエンコードされたトークンでOAuth2/Bearerトークンをリクエストする
BEARER_TOKEN=$(curl -s -X POST https://api.rokt.com/auth/oauth2/token \
-H "Authorization: Basic $ENCODED_TOKEN" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "grant_type=client_credentials" | jq -r '.access_token')
# Step 4: Query APIリクエストでBearerトークンを使用する
curl -X GET "https://api.rokt.com/v1/query/accounts" \
--header 'Content-Type: application/json' \
--header "Authorization: Bearer $BEARER_TOKEN"
重要な注意事項
- スクリプトやバージョン管理での公開を避けるために、常に環境変数を使用して資格情報を管理してください
printfコマンドとopenssl base64を使用することで、改行文字なしで適切にエンコードされます- アクセストークンは有効期限が切れるまで完全なAPIアクセスを提供するため、安全に保管してください
レート制限
APIリクエストは、公平な使用とシステムの安定性を確保するためにレート制限されています。
エラーハンドリング
APIは、適切なHTTPステータスコードを伴う標準化されたエラーレスポンスを返します。
アカウントAPI
ユーザーアカウントの取得
認証されたユーザーに関連付けられているすべてのアカウントを取得します。
説明
このエンドポイントは、認証されたユーザーがアクセスできるすべてのアカウントのリストを返します。レスポンスには、アカウントID、名前、国、通貨、タイムゾーン情報などのアカウント詳細が含まれます。