curl -X GET 'https://verification.didit.me/v3/events/?event_category=payment&event_category=dispute&matched_only=true&occurred_from=2026-10-01T00:00:00Z&limit=50' \
-H 'x-api-key: YOUR_API_KEY'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
for item in client.monitoring_events.list():
print(item)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
for await (const item of didit.monitoringEvents.list()) {
console.log(item);
}ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
iter := client.MonitoringEvents.ListAutoPaging(ctx, didit.MonitoringEventsListParams{})
for iter.Next() {
fmt.Printf("%+v\n", iter.Current())
}
if err := iter.Err(); err != nil {
log.Fatal(err)
}import me.didit.Didit;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
for (var item : client.monitoringEvents().list()) {
System.out.println(item);
}<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
foreach ($didit->monitoringEvents->list() as $item) {
print_r($item->toArray());
}require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
didit.monitoring_events.list.auto_paging_each do |item|
puts item.to_h
endusing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
await foreach (var item in await client.MonitoringEvents.ListAsync())
{
Console.WriteLine(JsonSerializer.Serialize(item));
}{
"count": 2,
"next": null,
"previous": null,
"results": [
{
"event_uuid": "11111111-2222-3333-4444-555555555555",
"event_id": "chargeback-2026-10-16-000318",
"event_category": "dispute",
"action_type": "chargeback_opened",
"occurred_at": "2026-10-16T14:02:11Z",
"received_at": "2026-10-16T14:02:12.418230Z",
"status": "IN_REVIEW",
"score": 60,
"subject_vendor_data": "user-42",
"subject_entity_type": "individual",
"subject_uuid": "66666666-7777-8888-9999-000000000000",
"counterparty_vendor_data": null,
"session_id": null,
"device_fingerprint": null,
"ip_address": null,
"ip_country": null,
"amount": "250.000000000000000000",
"currency": "EUR",
"game_id": null,
"round_id": null,
"bonus_id": null,
"affiliate_code": null,
"payment_reference_id": "dep_735",
"retention_class": "monetary_or_compliance",
"rules_matched_count": 1,
"correlation_pending": false,
"is_droppable": false
},
{
"event_uuid": "22222222-3333-4444-5555-666666666666",
"event_id": "login-2026-10-15-000912",
"event_category": "auth",
"action_type": "login",
"occurred_at": "2026-10-15T08:30:00.120000Z",
"received_at": "2026-10-15T08:30:00.734512Z",
"status": "ACCEPTED",
"score": 0,
"subject_vendor_data": "user-42",
"subject_entity_type": "individual",
"subject_uuid": "66666666-7777-8888-9999-000000000000",
"counterparty_vendor_data": null,
"session_id": "web-session-abc",
"device_fingerprint": "fp-a8c1",
"ip_address": "203.0.113.42",
"ip_country": "ES",
"amount": null,
"currency": null,
"game_id": null,
"round_id": null,
"bonus_id": null,
"affiliate_code": null,
"payment_reference_id": null,
"retention_class": "standard",
"rules_matched_count": 0,
"correlation_pending": false,
"is_droppable": true
}
]
}列出监控事件 API
按类别、状态、主体、设备、IP、付款参考和时间范围筛选监控事件,按最新排序列出。由 Didit 提供。
curl -X GET 'https://verification.didit.me/v3/events/?event_category=payment&event_category=dispute&matched_only=true&occurred_from=2026-10-01T00:00:00Z&limit=50' \
-H 'x-api-key: YOUR_API_KEY'from didit import Didit
# Reads DIDIT_API_KEY.
client = Didit()
for item in client.monitoring_events.list():
print(item)import Didit from "@didit-protocol/sdk-node";
// Reads DIDIT_API_KEY.
const didit = new Didit();
for await (const item of didit.monitoringEvents.list()) {
console.log(item);
}ctx := context.Background()
// Reads DIDIT_API_KEY.
client := didit.NewClient()
iter := client.MonitoringEvents.ListAutoPaging(ctx, didit.MonitoringEventsListParams{})
for iter.Next() {
fmt.Printf("%+v\n", iter.Current())
}
if err := iter.Err(); err != nil {
log.Fatal(err)
}import me.didit.Didit;
// Reads DIDIT_API_KEY.
Didit client = new Didit();
for (var item : client.monitoringEvents().list()) {
System.out.println(item);
}<?php
require 'vendor/autoload.php';
use Didit\DiditClient;
// Reads DIDIT_API_KEY.
$didit = new DiditClient();
foreach ($didit->monitoringEvents->list() as $item) {
print_r($item->toArray());
}require "didit"
# Reads DIDIT_API_KEY.
didit = Didit::Client.new
didit.monitoring_events.list.auto_paging_each do |item|
puts item.to_h
endusing System;
using System.Text.Json;
using Didit;
// Reads DIDIT_API_KEY.
using var client = new DiditClient();
await foreach (var item in await client.MonitoringEvents.ListAsync())
{
Console.WriteLine(JsonSerializer.Serialize(item));
}{
"count": 2,
"next": null,
"previous": null,
"results": [
{
"event_uuid": "11111111-2222-3333-4444-555555555555",
"event_id": "chargeback-2026-10-16-000318",
"event_category": "dispute",
"action_type": "chargeback_opened",
"occurred_at": "2026-10-16T14:02:11Z",
"received_at": "2026-10-16T14:02:12.418230Z",
"status": "IN_REVIEW",
"score": 60,
"subject_vendor_data": "user-42",
"subject_entity_type": "individual",
"subject_uuid": "66666666-7777-8888-9999-000000000000",
"counterparty_vendor_data": null,
"session_id": null,
"device_fingerprint": null,
"ip_address": null,
"ip_country": null,
"amount": "250.000000000000000000",
"currency": "EUR",
"game_id": null,
"round_id": null,
"bonus_id": null,
"affiliate_code": null,
"payment_reference_id": "dep_735",
"retention_class": "monetary_or_compliance",
"rules_matched_count": 1,
"correlation_pending": false,
"is_droppable": false
},
{
"event_uuid": "22222222-3333-4444-5555-666666666666",
"event_id": "login-2026-10-15-000912",
"event_category": "auth",
"action_type": "login",
"occurred_at": "2026-10-15T08:30:00.120000Z",
"received_at": "2026-10-15T08:30:00.734512Z",
"status": "ACCEPTED",
"score": 0,
"subject_vendor_data": "user-42",
"subject_entity_type": "individual",
"subject_uuid": "66666666-7777-8888-9999-000000000000",
"counterparty_vendor_data": null,
"session_id": "web-session-abc",
"device_fingerprint": "fp-a8c1",
"ip_address": "203.0.113.42",
"ip_country": "ES",
"amount": null,
"currency": null,
"game_id": null,
"round_id": null,
"bonus_id": null,
"affiliate_code": null,
"payment_reference_id": null,
"retention_class": "standard",
"rules_matched_count": 0,
"correlation_pending": false,
"is_droppable": true
}
]
}rules_matched_count 变化的因素请见事件规则。授权
您的应用 API 密钥,可在 Business Console 的“开发者 -> API 密钥”中获取。主密钥拥有完整访问权限。指定名称的密钥可设置作用域:针对每个资源设为无权限、只读或读写,限定于特定工作流或已通过的会话、限定于 IP 地址列表,以及设置到期日期。401 表示密钥错误、已撤销或已过期;403 表示未发送密钥、密钥无权访问该资源或操作,或请求来自其 IP 列表之外的地址;在会话路由上返回 404 表示该会话不在该密钥允许的工作流或状态范围内。没有媒体访问权限的密钥获取到的图片、视频和 PDF URL 将为 null;没有会话写入权限的密钥获取到的会话链接和 token 将为 null。请参阅 https://docs.didit.me/console/api-keys。
查询参数
每页最大事件数。默认值为 50。超过 1000000 的值将返回 400;非数值、零或负值将回退至 50。
1 <= x <= 1000000要跳过的事件数量。默认为 0。建议使用响应中的 next URL。
0 <= x <= 1000000仅包含这些类别中的事件。对多个值重复该参数(?event_category=payment&event_category=dispute);匹配其中任一类别的事件都会被返回。
auth, session, gameplay, bonus, affiliate, payment, dispute, security, responsible_gambling, custom 仅包含具有这些操作类型的事件(精确匹配,区分大小写)。对多个值重复使用。
仅包含具有这些状态的事件。对多个值重复使用。
ACCEPTED, APPROVED, IN_REVIEW, DECLINED 仅包含这些保留类别中的事件。对多个值重复使用。
low_value, standard, risk_relevant, monetary_or_compliance 对主体的 vendor_data 进行精确匹配。相同的 ID 可以指代个人也可以指代公司;添加 subject_entity_type 以指定其一,或使用 GET /v3/events/subjects/{vendor_data}/。
company 仅返回企业主体的事件;任何其他非空值(例如 individual)仅返回个人的事件。省略此项则返回两者。
individual, company 对随事件发送的 business.vendor_data 的精确匹配。
对 session.session_id 的精确匹配。
对 device_context.fingerprint 的精确匹配。
对事件的 IP 地址进行精确匹配。
对已提升的 game_id 的精确匹配。
对已提升的 round_id 的精确匹配。
对已提升的 affiliate_code 的精确匹配。
对支付参考信息的精确匹配(来自 transaction_context.payment_reference_id 或 payload.payment_reference_id)。
对已提升的 counterparty_vendor_data 的精确匹配。
true(亦可为 1 或 yes,不区分大小写)仅返回匹配至少一条规则的事件(rules_matched_count 大于 0)。任何其他值将被忽略。
仅包含 occurred_at 在此时间点或之后(包含)的事件。发送 ISO 8601 格式的值:2026-10-01T00:00:00Z、带有百分号编码 + 的显式偏移量(2026-10-01T02:00:00%2B02:00;未编码的 + 会被解码为空格导致该值无法解析),或仅日期(2026-10-01),表示当天的 00:00:00 UTC。无偏移量的值按 UTC 读取。不接受任何其他格式的值。
仅包含 occurred_at 在此时间点或之前(包含)的事件。仅日期表示当天的开始,因此 occurred_to=2026-10-15 会排除 10 月 15 日的其余时间;发送 2026-10-15T23:59:59Z 以包含全天。发送 ISO 8601 格式的值:2026-10-01T00:00:00Z、带有百分号编码 + 的显式偏移量(2026-10-01T02:00:00%2B02:00;未编码的 + 会被解码为空格导致该值无法解析),或仅日期(2026-10-01),表示当天的 00:00:00 UTC。无偏移量的值按 UTC 读取。不接受任何其他格式的值。
对 event_id、action_type、subject_vendor_data 或 counterparty_vendor_data 进行不区分大小写的子字符串匹配。