> ## Documentation Index
> Fetch the complete documentation index at: https://docs.auxia.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Log Events

> Log Events APIを使用すると、ユーザーイベントとプロパティをAuxiaにリアルタイムで送信できます。

<Note>
  日本語版はAIによる翻訳です。正確な情報については[英語版](/api-reference/log-events)をご参照ください。
</Note>

このAPIを通じて送信されたイベントは、トリートメントのターゲティング、適格性評価、およびパーソナライゼーションに使用されます。

<Info>
  Log Events用のAPIキーは、他のAuxia APIとは別のものです。Log Events APIキーを取得するには、Auxiaまでお問い合わせください。
</Info>

## API定義

```
POST https://apis.auxia.io/v1/LogEvents
```

#### Path Parameters

<table>
  <thead>
    <tr>
      <th>Name</th>
      <th>Type</th>
      <th>Description</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>api-key</td>
      <td>String</td>

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

#### Headers

<table>
  <thead>
    <tr>
      <th>Name</th>
      <th>Type</th>
      <th>Description</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>x-api-key</td>
      <td>String</td>

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

    <tr>
      <td>Content-Type</td>
      <td>String</td>
      <td>application/json</td>
    </tr>
  </tbody>
</table>

### リクエストボディ（Raw）

```json lines theme={null}
{
    "projectId": "1250",
    "userId": "user_12345",
    "events": [
        {
            "eventName": "button_click",
            "insertId": "evt_67890",
            "eventProperties": {
                "button_name": {
                    "stringValue": "submit_button"
                },
                "clicks_count": {
                    "longValue": "1"
                }
            },
            "userProperties": {
                "subscription_tier": {
                    "stringValue": "premium"
                },
                "is_active": {
                    "booleanValue": true
                }
            },
            "clientEventTimestamp": "2025-10-01T17:20:00Z",
            "sessionId": "session_abc123",
            "country": "US",
            "region": "CA",
            "city": "San Francisco",
            "deviceId": "device_xyz789",
            "appVersionId": "1.2.3"
        }
    ]
}
```

### curlの例

```json lines theme={null}
curl --location --request POST 'https://apis.auxia.io/v1/LogEvents' \
--header 'Content-Type: application/json' \
--header 'x-api-key: *********************' \
--data-raw '{
    "projectId": "1250",
    "userId": "user_12345",
    "events": [
        {
            "eventName": "button_click",
            "insertId": "evt_67890",
            "eventProperties": {
                "button_name": {
                    "stringValue": "submit_button"
                }
            },
            "clientEventTimestamp": "2025-10-01T17:20:00Z"
        }
    ]
}'
```

### レスポンス

```json lines theme={null}
{ }
```

## スキーマリファレンス

### リクエスト

各リクエストには、単一ユーザーのイベントを含める必要があります。

<table>
  <thead>
    <tr>
      <th>Name</th>
      <th>Data Type</th>
      <th>Required?</th>
      <th>Description</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>projectId</td>
      <td>String</td>
      <td>Required</td>
      <td>AuxiaのプロジェクトIDです。特定の顧客に対して、常に同じ値を使用してください。</td>
    </tr>

    <tr>
      <td>userId</td>
      <td>String</td>
      <td>Required</td>
      <td>ユーザーの一意の識別子です。このIDは、Auxia全体のイベントや属性と結合できます。</td>
    </tr>

    <tr>
      <td>events</td>
      <td>Array of ExternalEvent</td>
      <td>Required</td>
      <td>ユーザーの1つ以上のイベントです。以下のExternalEventを参照してください。</td>
    </tr>
  </tbody>
</table>

### ExternalEvent

<table>
  <thead>
    <tr>
      <th>Name</th>
      <th>Data Type</th>
      <th>Required?</th>
      <th>Description</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>eventName</td>
      <td>String</td>
      <td>Required</td>
      <td>イベントの種類を識別する名前です（例: <code>button\_click</code>、<code>page\_view</code>、<code>purchase</code>）。</td>
    </tr>

    <tr>
      <td>clientEventTimestamp</td>
      <td>String (ISO 8601)</td>
      <td>Required</td>
      <td>クライアントでイベントが発生したタイムスタンプです。形式: <code>2025-10-01T17:20:00Z</code></td>
    </tr>

    <tr>
      <td>insertId</td>
      <td>String</td>
      <td>Optional</td>
      <td>このイベントの一意の識別子です。Auxiaはこれを使用して同一ユーザーのイベントを重複排除します。正確に1回の処理を保証するために推奨されます。</td>
    </tr>

    <tr>
      <td>eventProperties</td>
      <td>Map\<String, PropertyValue></td>
      <td>Optional</td>
      <td>イベントに関連するデータを表すキーと値のペアです。サポートされる値の型については、以下のPropertyValueを参照してください。</td>
    </tr>

    <tr>
      <td>userProperties</td>
      <td>Map\<String, PropertyValue></td>
      <td>Optional</td>
      <td>ユーザーに関連するデータを表すキーと値のペアです。これらはAuxia内のユーザーのプロファイル属性を更新します。</td>
    </tr>

    <tr>
      <td>serverReceivedTimestamp</td>
      <td>String (ISO 8601)</td>
      <td>Optional</td>
      <td>サーバーがイベントを受信したタイムスタンプです。バックエンドからイベントが転送される場合に有用です。</td>
    </tr>

    <tr>
      <td>preLoginTempUserId</td>
      <td>String</td>
      <td>Optional</td>
      <td>サインアウト状態のユーザーの識別子です。サインアウトとサインイン間のユーザーアクティビティを統合するために使用されます。</td>
    </tr>

    <tr>
      <td>sessionId</td>
      <td>String</td>
      <td>Optional</td>
      <td>単一ユーザーセッションの一意の識別子です。</td>
    </tr>

    <tr>
      <td>country</td>
      <td>String</td>
      <td>Optional</td>
      <td>ユーザーの国です（例: <code>US</code>、<code>JP</code>）。</td>
    </tr>

    <tr>
      <td>region</td>
      <td>String</td>
      <td>Optional</td>
      <td>ユーザーの地域です（例: <code>CA</code>、<code>NY</code>）。</td>
    </tr>

    <tr>
      <td>city</td>
      <td>String</td>
      <td>Optional</td>
      <td>ユーザーの都市です（例: <code>San Francisco</code>）。</td>
    </tr>

    <tr>
      <td>ipAddress</td>
      <td>String</td>
      <td>Optional</td>
      <td>ユーザーのIPアドレスです。</td>
    </tr>

    <tr>
      <td>deviceId</td>
      <td>String</td>
      <td>Optional</td>
      <td>ユーザーのデバイスの一意の識別子です。</td>
    </tr>

    <tr>
      <td>appVersionId</td>
      <td>String</td>
      <td>Optional</td>
      <td>イベントを生成したアプリのバージョンです（例: <code>1.2.3</code>）。</td>
    </tr>
  </tbody>
</table>

### PropertyValue

各プロパティ値には、以下のいずれか1つの型を正確に含める必要があります:

<Note>
  `longValue`は、精度を保持するためにJSONでは文字列としてシリアライズされます（例: `1`ではなく`"1"`）。これは64ビット整数に対する標準的なprotobuf JSONシリアライゼーションの動作です。
</Note>

<table>
  <thead>
    <tr>
      <th>Name</th>
      <th>Data Type</th>
      <th>Description</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>longValue</td>
      <td>Int64</td>
      <td>整数値です。</td>
    </tr>

    <tr>
      <td>doubleValue</td>
      <td>Double</td>
      <td>浮動小数点値です。</td>
    </tr>

    <tr>
      <td>stringValue</td>
      <td>String</td>
      <td>文字列値です。</td>
    </tr>

    <tr>
      <td>booleanValue</td>
      <td>Boolean</td>
      <td>ブール値です（<code>true</code>または<code>false</code>）。</td>
    </tr>

    <tr>
      <td>timestampValue</td>
      <td>String (ISO 8601)</td>
      <td>タイムスタンプ値です。</td>
    </tr>
  </tbody>
</table>

### レスポンス

空のレスポンス（`{ }`）は、リクエストが正常に完了したことを示します。

失敗した場合、標準のHTTPステータスコードとエラーの説明が返されます。

<table>
  <thead>
    <tr>
      <th>Status Code</th>
      <th>Description</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>400</td>
      <td>Bad Request -- 必須フィールドが不足しているか、データ形式が無効です。</td>
    </tr>

    <tr>
      <td>401</td>
      <td>Unauthorized -- APIキーが無効または未設定です。</td>
    </tr>

    <tr>
      <td>500</td>
      <td>Internal Server Error -- 予期しないエラーが発生しました。リクエストを再試行してください。</td>
    </tr>
  </tbody>
</table>

## 使用上の注意

* このAPIは**リアルタイムのユーザー単位イベント取り込み**用に設計されています。各リクエストには、単一ユーザーのイベントを含める必要があります。
* 最良の結果を得るために、できるだけリアルタイムに近い形でイベントを送信してください。
* 失敗したリクエストを再試行する際に、べき等なイベント配信を保証するために`insertId`を使用してください。
* イベントと共に送信された`userProperties`は、Auxia内のユーザーのプロファイルを更新し、トリートメントのターゲティングやパーソナライゼーションに利用できるようになります。
