イベントの取り込みはオプトインです。Transactions → Settings → Event monitoringで有効にしてください。
有効にするまでは何も変わりません。既存の取引ルールは引き続き取引に対してのみ発火します。また、ルールは明示的にイベントを含めない限り取引に適用されるため、誤ってイベントルールが作成されることはありません。有効になるまでは、すべての書き込みレーン(
POST /v3/events/、POST /v3/events/batch/、POST /v3/events/sdk-token/、および/v1/events/デバイスレーン)が403と{"code": "event_monitoring_disabled"}を返し、何も保存、エンリッチ、評価されることはありません。読み取りには影響しません。エンドポイント
/v3/はサーバー向けで、取引APIの他の部分と同じx-api-key認証を使用します。/v1/events/はデバイス向けです。詳しくはSDKからのイベント送信を参照してください。
エンベロープ
カテゴリ
10種類のファーストクラスカテゴリがあり、それぞれに型付きのバリデーションと管理されたルールフィールドが用意されています。authはプロダクト全般を対象とする広いカテゴリです。securityはリスク判定向けのサブセットで、アカウント乗っ取り対策のルールが参照する順序付きのライフサイクルを持ちます。
必須のペイロードキー
一部のアクションは特定のキーがないと関連付けができません。そのため、関連付けられない証跡を保存するのではなく、バリデーションでリジェクトします。例: P2P精算
例: チャージバック
disputeイベントとして送信し、最初のイベントを編集することはありません。
冪等性
event_idはアプリケーションごとに一意であり、これが冪等性の仕組みのすべてです。
- 同じ
event_idで同じ内容の場合は、200と"idempotent_replay": true、そして最初に保存されたイベントが返されます。何度でも再試行できます。 - 同じ
event_idで異なる内容の場合は、409が返されます。誤ってIDを再利用しています。
バッチ
POST /v3/events/batch/は最大500件のイベントを受け付けます。バッチは設計上、部分的な成功を許容します。不正な形式のページビュー1件が、同じバッチ内のチャージバックを巻き添えにすることがあってはならないためです。
207 Multi-Status、すべて保存された場合は201 Createdです。
ステータス
correlation_pending: trueは、複数のサブジェクトにまたがるルールがまだ実行待ちであることを示します。数分以内に解消され、イベントのステータスとスコアが更新されます。詳しくは非同期ルールを参照してください。
データ保持
イベントは取引よりもはるかに量が多いため、受信時にそれぞれ保持クラスに振り分けられます。
この表から、次の2つのルールが導かれます。
- ルールに一致したイベントは証跡となるため、自動的に
risk_relevantに昇格します。 - 決済および紛争のイベントには取引の保持期間が適用されます。イベントの保持スケジュールでは期限切れにならず、クラスごとの上書き設定で短縮することもできません。
IPエンリッチメント
イベントには、取引と同じIPエンリッチメント(国、ASN、VPN/プロキシおよびデータセンターのフラグ)が付与されます。エンリッチメントはイベントごとではなく、一意のIPアドレスごとに取得されます。1つのアドレスから200件のページビューを送信するセッションでも、そのアドレスのエンリッチメントの取得は1回だけです。 重要度の低いテレメトリでは、エンリッチメントの参照がさらに制限されます。他のイベントがすでにそのアドレスを解決している場合にのみエンリッチメントを参照し、独自にルックアップをトリガーすることはありません。GET /v3/events/enrichment-metrics/がその結果を返し、コンソールではイベント一覧の上に同じ数値が表示されます。
イベントの読み出し
event_category、action_type、status、retention_class、subject_vendor_data、business_vendor_data、session_id、device_fingerprint、ip_address、game_id、round_id、affiliate_code、payment_reference_id、counterparty_vendor_data、matched_only、occurred_from、occurred_to、search。複数の値を指定するフィルターでは、パラメーターを繰り返して指定します(?status=A&status=B)。
1つの対象者のタイムライン
vendor_dataが一意となるのは、同じエンティティタイプの中だけです。同じIDがユーザーと企業の両方を指すことがあり、Diditはそれらを2つの異なる対象者として扱います。どちらを要求するかはentity_typeで指定します。指定できる値はindividual(デフォルト)またはcompanyです。企業のIDに対してこれを省略すると、両方ではなく個人のタイムラインが返されます。一覧と同じフィルターを使用できます。
GET /v3/events/{event_uuid}/は、ペイロード、デバイスコンテキスト、IPエンリッチメント、対象者のキャッシュ済みリスクシグナル、および一致したすべてのルールとその根拠を追加で返します。根拠には、一致した各フィールドがサーバー由来、SDK由来、顧客提供のいずれであるかも含まれます。
DELETE /v3/events/{event_uuid}/delete/は、1件のイベントを削除します。削除されたイベントはどの読み出しでも返されなくなり、削除は取り消せません。
次のステップ
イベントに対するルール
イベントデータに対するベロシティ、比率、シーケンス、相関のルール。
SDKによるイベント送信
スコープ付きの認証情報を使い、デバイスから直接イベントを収集します。