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
Didit 모니터링 이벤트를 카테고리, 상태, 대상, 기기, IP, 결제 참조, 시간 범위로 필터링해 최신순으로 조회합니다.
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 값이 변하는 조건은 이벤트에 대한 규칙을 참조하십시오.인증
Business Console의 Developers -> API keys에서 발급받은 귀하 애플리케이션의 API 키입니다. 기본 키는 전체 접근 권한을 갖습니다. 이름이 지정된 키는 리소스별 none, read, write 범위로 권한을 제한할 수 있으며 특정 워크플로나 승인된 세션, IP 주소 목록, 만료일 등으로 제한할 수도 있습니다. 401은 키가 잘못되었거나 폐기되었거나 만료되었음을 의미합니다. 403은 키가 전송되지 않았거나, 키에 해당 리소스나 작업에 대한 접근 권한이 없거나, 요청이 허용된 IP 목록 외부 주소에서 발생했음을 의미합니다. 세션 경로에서의 404는 해당 세션이 키의 허용 워크플로 또는 상태 범위를 벗어났음을 의미합니다. 미디어 접근 권한이 없는 키는 이미지, 비디오, PDF URL을 null로 수신하며, 세션 write 권한이 없는 키는 세션 링크와 token을 null로 수신합니다. https://docs.didit.me/console/api-keys 를 참고하십시오.
쿼리 매개변수
페이지당 최대 이벤트 수입니다. 기본값은 50입니다. 1000000을 초과하는 값은 400을 반환하며, 숫자가 아니거나 0 또는 음수인 값은 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. 인코딩되지 않은 +는 공백으로 디코딩되어 값이 더 이상 파싱되지 않음), 또는 해당 날짜의 00:00:00 UTC를 의미하는 날짜 단독 형식(2026-10-01). 오프셋이 없는 값은 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. 인코딩되지 않은 +는 공백으로 디코딩되어 값이 더 이상 파싱되지 않음), 또는 해당 날짜의 00:00:00 UTC를 의미하는 날짜 단독 형식(2026-10-01). 오프셋이 없는 값은 UTC로 해석됩니다. 다른 형식의 값은 허용되지 않습니다.
event_id, action_type, subject_vendor_data 또는 counterparty_vendor_data에 대해 대소문자를 구분하지 않는 부분 문자열 일치 검색.
응답
이벤트 요약 페이지 하나입니다.
최신 occurred_at 순으로 정렬된 모니터링 이벤트 페이지 하나입니다.