메인 콘텐츠로 건너뛰기
POST
curl
이벤트 수집은 옵트인 방식입니다. 이벤트를 전송하기 전에 Transactions > Settings > Event monitoring에서 기능을 켜십시오. 그전까지 이 endpoint는 "code": "event_monitoring_disabled"와 함께 403을 반환합니다.
이벤트 수집에서는 엔벨로프, 10개 카테고리, 필수 payload 키, 보존 등급을 다룹니다. 이벤트 규칙에서는 요청 중에 실행되는 규칙과 비동기로 실행되는 규칙을 설명합니다. 백엔드 대신 브라우저나 앱에서 이벤트를 보내려면 SDK 이벤트 제출을 사용하십시오.

인증

x-api-key
string
header
필수

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 를 참고하십시오.

본문

application/json

모든 카테고리에 동일하게 적용되는 이벤트 엔벨로프입니다. camelCase 별칭도 허용됩니다: eventId, eventCategory(또는 category), actionType, occurredAt, timeZone(또는 zoneId), deviceContext(또는 device), transactionContext, customValues(또는 props). subject 내부: vendorData, entityType, fullName. session 내부: sessionId, pageUrl. transaction_context 내부: paymentReferenceId.

event_id
string
필수

애플리케이션별로 고유한 이벤트 식별자입니다. 멱등성 키 역할을 합니다. 동일한 키로 동일한 event_category, action_type, occurred_at, subject.vendor_data, payload를 다시 전송하면 재전송으로 처리되며, 다른 내용이 전송되면 충돌이 발생합니다.

Maximum string length: 128
예시:

"login-2026-10-17-000001"

event_category
enum<string>
필수

이벤트 카테고리입니다.

사용 가능한 옵션:
auth,
session,
gameplay,
bonus,
affiliate,
payment,
dispute,
security,
responsible_gambling,
custom
예시:

"auth"

action_type
string
필수

카테고리 내에서 발생한 내용입니다. 개방형 어휘이며, 이벤트 수집에 나열된 관리형 작업(예: login, deposit_completed, chargeback_opened)을 사용하면 형식화된 검증 및 관리형 규칙 필드가 활성화됩니다. 앞뒤 공백은 제거됩니다.

Required string length: 1 - 128
예시:

"login"

occurred_at
string<date-time>
필수

귀하 측에서 이벤트가 발생한 시점, ISO 8601(오프셋이 없는 값은 UTC로 해석됨) 형식입니다. 과거 7일 이내, 미래 5분 이내여야 합니다.

예시:

"2026-10-17T09:15:02.481Z"

subject
object
필수

이벤트가 속한 사용자 또는 기업입니다. 애플리케이션에서 해당 vendor_data를 가진 사용자(또는 기업)로 확인되며, 없는 경우 새로 생성됩니다.

time_zone
string | null

귀사 측에서 발생한 시점의 시간대(예: Europe/Madrid)입니다. 이벤트와 함께 저장되며, 조회 endpoint에서는 반환되지 않습니다.

Maximum string length: 64
business
object

이벤트가 속한 기업입니다(대상과 다른 경우). vendor_data만 읽습니다.

session
object

이벤트에 대한 귀하의 세션 컨텍스트입니다.

device_context
object

전송된 그대로 저장되고 GET /v3/events/{event_uuid}/에 의해 반환되는 기기 및 네트워크 컨텍스트입니다. 이 서버 레인에서는 Didit이 최종 사용자의 연결을 직접 확인하지 않으므로, 규칙에서 보강되고 사용되는 IP는 직접 전송한 network_context.ip_address입니다.

transaction_context
object

금액 컨텍스트입니다. 여기에 비어 있지 않은 값이 있으면 작업의 필수 payload 키도 충족됩니다.

payload
object

JSON 인코딩 시 최대 16384바이트인 카테고리의 도메인 필드입니다. 일부 작업에는 키(payload 또는 transaction_context)가 필요합니다: gameplay.p2p_settlement에는 game_id, counterparty_vendor_data, stake_amount, net_result_amount, role 및 hand_id, round_id, match_id 중 하나가 필요합니다. gameplay.bet_placed 및 gameplay.bet_settled에는 game_id가 필요합니다. payment.deposit_initiated, payment.deposit_completed, payment.withdrawal_requested 및 payment.withdrawal_completed에는 payment_reference_id, amount, currency, payment_method, status가 필요합니다. payment.withdrawal_address_changed에는 withdrawal_address_hash가 필요합니다. dispute.chargeback_opened, dispute.chargeback_won 및 dispute.chargeback_lost에는 payment_reference_id 및 dispute_id, chargeback_id 중 하나가 필요합니다. session.bot_signal_observed에는 telemetry_schema_version 및 bot_score, actions_per_minute, timing_variance_ms, pointer_entropy, keystroke_entropy, reaction_time_ms_p50 중 하나가 필요합니다. responsible_gambling.self_exclusion_match에는 registry_source, exclusion_status, identity_match_ref가 필요합니다. _changed로 끝나는 모든 security 작업에는 changed_field가 필요하며, 필드가 password, mfa_method, mfa, email, phone, withdrawal_address, payout_method, api_key인 경우 previous_reference_hash 또는 new_reference_hash가 추가로 필요합니다. 카드 번호, 전체 출금 주소, 비밀번호 해시 또는 MFA 시크릿은 절대 전송하지 말고 해시 및 참조를 전송하십시오.

custom_values
object

규칙에서 custom_values.<key> 형태로 참조할 수 있는 최대 100개의 커스텀 키입니다. 값은 스칼라(문자열, 숫자, 불리언 또는 null)여야 하며, 중첩된 객체 및 배열은 거부됩니다.

응답

멱등 재생: 이 event_id 및 동일한 내용을 가진 이벤트가 이미 저장되어 있습니다. 아무것도 다시 저장되거나 평가되지 않았으며 본문은 저장된 이벤트를 설명합니다.

단일 이벤트 수집 결과입니다. 새 이벤트와 멱등한 재생 모두에 대해 동일한 형태가 반환됩니다.

event_uuid
string<uuid>
필수

저장된 이벤트의 Didit 식별자입니다.

event_id
string
필수

귀하의 event_id입니다.

status
enum<string>
필수

실시간 규칙 실행 후 상태입니다. MonitoringEvent.status를 참조하세요.

사용 가능한 옵션:
ACCEPTED,
APPROVED,
IN_REVIEW,
DECLINED
score
integer
필수

실시간 규칙이 실행된 후의 점수입니다.

rules_evaluated_count
integer
필수

요청에서 평가된 이벤트 규칙 수입니다. 규칙이 실행되지 않는 샌드박스 애플리케이션에서는 0입니다.

필수 범위: x >= 0
rules_matched_count
integer
필수

TEST 모드 규칙을 포함하여 일치한 규칙 수입니다.

필수 범위: x >= 0
correlation_pending
boolean
필수

비동기 규칙이 아직 실행되어야 하는 경우 true입니다. 최종 status 및 score를 확인하려면 몇 분 후에 GET /v3/events/{event_uuid}/를 호출하십시오.

retention_class
enum<string>
필수

일치한 규칙에 의해 승격된 후의 보존 클래스입니다.

사용 가능한 옵션:
low_value,
standard,
risk_relevant,
monetary_or_compliance
expires_at
string<date-time> | null
필수

이벤트가 보존 등급에 따라 만료되어 삭제되는 시점입니다. monetary_or_compliance(결제 및 분쟁) 이벤트의 경우 null입니다.

idempotent_replay
boolean
필수

이 event_id 및 동일한 내용을 가진 이벤트가 이미 저장되어 있는 경우 true입니다. 값은 저장된 이벤트의 값이며 규칙이 다시 실행되지 않았습니다.

rule_matches
object[]
필수

이벤트와 일치한 규칙입니다.

마지막 수정일 2026년 11월 7일