イベントデータの送信

REST API 経由でイベントデータを上げる際には、イベントデータとともに以下のプロパティを送信します。

  • _type ... イベントタイプを示す文字列。イベントタイプは "installed" や "level up" 等、任意の文字列を指定可能です(省略可)。 メトリクス定義時に "Filter by type" を指定した場合は、このイベントタイプの値を元に分析対象イベントデータのフィルターリングが行われます。 我々のサンプルシナリオでは "MyUser" を使います。
  • _deviceID ... 送信元デバイスを特定するユニークな ID。
  • _triggeredAt ... イベントが発生した時間(UNIX 時間。ミリ秒、UTC)
  • _uploadedAt ... イベントがアップロードされた時間(UNIX 時間。ミリ秒、UTC)

イベントデータ本体のキーと値のペアは、以下のルールに従っている限り任意に設定可能です。

  • キーの長さが 1-64 キャラクターであること(UTF-8)。
  • Value は JSON number、string、boolean、array のいずれかであること。
    • Value は null や空であってはならない。
    • Array の中身は、JSON number、string、boolean のいずれかであること。
    • Number は 38 桁以下であり、かつ 10^-128 から 10^126 の間であること。
  • キーと値のペア全体のサイズが 2 KB を超えないこと(UTF-8)。

イベントデータのアップロードは、1 つずつ行うことも、一度にまとめて行うこともできます。

以下、イベントデータを 1 つアップロードする例を挙げます。

curl -v -X POST \
  -H "Authorization: Basic {BASE64_ENCODED_APPID_AND_APPKEY}" \
  -H "Content-Type: application/vnd.kii.EventRecord+json" \
  "https://api-jp.kii.com/api/apps/{APP_ID}/events" \
  -d '{"_type": "MyUser", "_deviceID": "DEVICE_ID", "_triggeredAt": "1350450764053", "_uploadedAt": "1350450764053", "gender": "M", "city": "San Francisco", "location": "USA", "children": 2, "age": 35}'

次に、複数のイベントデータを一度にアップロードする例を挙げます。

curl -v -X POST \
  -H "Authorization: Basic {BASE64_ENCODED_APPID_AND_APPKEY}" \
  -H "Content-Type: application/vnd.kii.EventRecordList+json" \
  "https://api-jp.kii.com/api/apps/{APP_ID}/events" \
  -d '[ {"_type": "MyUser", "_deviceID": "DEVICE_ID", "_triggeredAt": "1350450764053", "_uploadedAt": "1350450764099", "gender": "M", "city": "San Francisco", "location": "USA","children": 2, "age": 35}, {"_type": "MyUser", "_deviceID": "DEVICE_ID", "_triggeredAt": "1350450764100", "_uploadedAt": "1350450764183", "gender": "F", "city": "San Francisco", "location": "USA", "children": 0, "age": 12} ]'

いずれのケースにおいても、アップロードは Basic 認証 を使って行います。{BASE64_ENCODED_APPID_AND_APPKEY} には AppID と任意の値をコロン(:) で連結した文字列を Base64 エンコードしたものを入れてください。