Repro - Mobile Analytics for growth
English
アカウント登録 管理画面に戻る
  • 動作環境
  • 管理画面ガイド
  • 開発ガイド
    • アカウント作成
    • iOS/Android SDK
    • Web
    • オーディエンスAPI
    • オーディエンスインポート(β)
    • プッシュAPI
    • ユーザープロフィールAPI
      • はじめに
        • Repro API トークンの取得
      • API 経由でユーザープロフィールを更新する
        • 認証
        • 単位時間あたりのアクセス上限
        • APIフォーマット
          • 文字列
          • 整数
          • 小数
          • 日付
        • ユーザープロフィールAPIのペイロード例
          • 1人のユーザーのプロフィールを更新する
      • ユーザープロフィールAPIのリクエスト
      • ユーザープロフィールAPIのレスポンス
        • 202 Accepted
        • 400 Bad Request
          • 1001 ペイロードの形式に誤りがあります
          • 1002 ユーザーIDが登録されていません
          • 1003 ユーザープロフィールの key, type, value が適切に設定されていません
        • 401 Unauthorized
        • 403 Forbidden
        • 404 Not Found
        • 429 Too Many Requests
    • ユーザープロフィールバルクインポート
    • ニュースフィードAPI
    • 削除ユーザー登録API
    • Booster導入ガイド
    • メール(β)
  • リリースノート
  • FAQ

ユーザープロフィールAPI¶

ユーザープロフィールAPIを使うと、自社のデータベースにのみ保持しているユーザーの属性情報(会員ランクや、LTV、性別、Emailなど)をユーザープロフィールに登録できます。

このAPIを利用して更新したユーザープロフィールの情報を基にして、対象となるユーザーを絞り込んだプッシュ通知やメッセージを送信することができます。

これにより以下のような施策を実現できます。

  • ゴールド会員ユーザー向けに特典情報を告知するプッシュ通知を送る
  • LTVの高いロイヤルカスタマーのみに特設ページへ招待する内メッセージを送る

ユーザープロフィールに関する詳細は ユーザープロフィール をご覧ください。

注釈

  • ユーザープロフィールAPIでは、標準ユーザープロフィール を更新することはできません。

はじめに¶

ユーザープロフィールAPIを使うには、Repro API トークンを利用する必要があります。

Repro API トークンの取得¶

  1. 設定 > プロジェクト設定 に行き、 認証情報 > Repro API トークン を確認します。
Repro API Token

警告

「APIトークンの再発行」をすると既存のAPIトークンを利用できなくなり、あとから復元することはできません。

API 経由でユーザープロフィールを更新する¶

ユーザープロフィールAPIはHTTPの POST メソッドを受けつけるエンドポイントと紐付いています。

POST https://api.reproio.com/v2/user_profiles

認証¶

取得した Repro API トークンをHTTPヘッダーの X-Repro-Token フィールドに設定してください。

単位時間あたりのアクセス上限¶

ユーザープロフィールAPIには、単位時間当たりのアクセス制限があります。

  • アクセス上限設定値は、APIトークンごとに1分あたり1000件です。
  • リクエストが正常に完了すると、レスポンスの X-RateLimit-Limit ヘッダーに単位時間あたりのリクエスト上限回数が記載されます。
  • リクエスト数がアクセス上限数を超えると、 HTTP Status 429 (Too Many Requests) が返ります。

レスポンスヘッダーの詳細は ユーザープロフィールAPIのレスポンス をご覧ください。

警告

  • アクセス上限設定値は予告なく変動する場合があります。

  • アクセス上限設定値は、機能単位でのAPIトークンごととなります。
    例えば、プッシュAPIとユーザープロフィールAPIは同じAPIトークンを利用していますが、別機能のため同時にリクエストしたとしても、それぞれ1件づつのカウントとなります。

APIフォーマット¶

メッセージをHTTP bodyにJSONフォーマットでセットします。

  • user_id: アプリやWebサイト内で ユーザーID APIを使って登録されたユーザーのIDを指定します。
    • 登録されていないユーザーの場合は、 HTTP Status 400 (Bad Request) が返ります。詳細は ユーザープロフィールAPIのレスポンス をご覧ください。
  • user_profiles: 1つのペイロードで複数設定できます。(配列形式で格納します)
    • key: プロフィールのキーです。文字列のみが指定できます。nilや空文字列は不可、上限は255文字です。
    • type: プロフィールの型です。 string (文字列)、 int (整数)、 decimal (小数)、 datetime (日付) が指定できます。
    • value: プロフィールの値です。型に応じた値を指定します。

文字列¶

セットできる文字数の上限は255文字です。

{
  "key": "Job",
  "type": "string",
  "value": "Developer"
}

整数¶

{
  "key": "Age",
  "type": "int",
  "value": 25
}

小数¶

{
  "key": "Height",
  "type": "decimal",
  "value": 176.5
}

日付¶

ISO8601 フォーマットに準拠した文字列のみセットできます。

{
  "key": "LastLogin",
  "type": "datetime",
  "value": "2017-08-01T12:34:56.789+09:00"
}

ユーザープロフィールAPIのペイロード例¶

1人のユーザーのプロフィールを更新する¶

{
  "user_id": "user-123",
  "user_profiles": [
    {
      "key": "Job",
      "type": "string",
      "value": "Developer"
    },
    {
      "key": "Age",
      "type": "int",
      "value": 25
    }
  ]
}

注釈

  • 同じキーのプロフィールを複数指定した場合、一番最後のプロフィールが更新の対象となります。

警告

  • 既に存在しているユーザープロフィールキーやデータ型は後から変更や削除をすることができません。詳しくは、 ユーザープロフィール をご覧ください。

ユーザープロフィールAPIのリクエスト¶

リクエストヘッダー

リクエストのヘッダーには、以下の値を設定します。

ヘッダー 説明 必須
Content-Type application/jsonを指定します。 必須
X-Repro-Token Repro API トークンの取得 で取得したトークンを指定します。 必須

リクエストボディ

メッセージをJSONフォーマットで設定します。

ユーザープロフィールAPIのレスポンス¶

レスポンスヘッダー

レスポンスのヘッダーには、以下の値が含まれます。

ステータス ヘッダー 説明
正常 X-RateLimit-Limit 単位時間あたりのアクセス上限
正常 X-RateLimit-Remaining アクセスできる残り回数
正常 X-RateLimit-Reset アクセス数がリセットされる時刻(unixtime)
リクエスト制限 Retry-After 再実行可能になるまでの秒数

レスポンスボディ

ユーザープロフィールAPIをコールした際の、レスポンスに含まれるステータスコードとエラーメッセージの一覧は下記になります。

202 Accepted¶

リクエストが成功しました。更新したユーザーIDおよびプロフィールに関してはレスポンスボディをご確認ください。

レスポンスボディ:

{
  "user_id": "user-123",
  "user_profiles": [
    {
      "key": "Job",
      "type": "string",
      "value": "Developer"
    },
    {
      "key": "Age",
      "type": "int",
      "value": 25
    },
    {
      "key": "LastLogin",
      "type": "datetime",
      "value": "2017-08-01 03:34:56.789"
    }
  ]
}

注釈

  • 日付型のプロフィールの値はサーバー側でUTCに変換されます。

400 Bad Request¶

リクエストにエラーがあります。エラーメッセージを確認の上、対応してください。

1001 ペイロードの形式に誤りがあります¶

user_id や user_profiles の形式をご確認ください。

レスポンスボディ:

{
  "error": {
    "code": 1001,
    "messages": [
      "user_id is missing"
    ]
  }
}

1002 ユーザーIDが登録されていません¶

指定したユーザーIDはまだアプリやWebサイトから登録されていません。

レスポンスボディ:

{
  "error": {
    "code": 1002,
    "messages": [
      "'user-123' is not registered"
    ]
  }
}

1003 ユーザープロフィールの key, type, value が適切に設定されていません¶

エラーメッセージに加えて、 APIフォーマット もご確認ください。

レスポンスボディ:

{
  "error": {
    "code": 1003,
    "messages": [
      "Job does not have a valid value"
    ]
  }
}

警告

  • 1つでも適切に設定されていないプロフィールがあると同じペイロード内の全てのプロフィールが更新されません。

401 Unauthorized¶

Repro API トークンが指定されていません。

レスポンスボディ:

{
  "status": "unauthorized",
  "error": {
    "messages": [
      "Please include your Repro API Token as \"X-Repro-Token\" HTTP header."
    ]
  }
}

403 Forbidden¶

指定した Repro API トークンが間違っています。

レスポンスボディ:

{
  "status": "forbidden",
  "error": {
    "messages": [
      "Please check your Repro API Token as \"X-Repro-Token\" HTTP header."
    ]
  }
}

404 Not Found¶

エンドポイントが存在しません。

レスポンスボディ:

{
  "status": "not_found",
  "error": {
    "messages": [
      "Not found."
    ]
  }
}

429 Too Many Requests¶

リクエスト数が多すぎます。 Retry-After ヘッダーに記載された秒数待った後、リクエストを再開してください。

レスポンスボディ:

{
  "status": "too_many_requests",
  "error": {
      "messages": [
          "Too many requests hit the API too quickly."
      ]
  }
}
  • « プッシュAPI
  • ユーザープロフィールバルクインポート »

About Us Careers Terms of Service Privacy Policy Cookie Policy

© 2022 Repro Inc.