출입 시도 또는 거부 기록
귀사의 시스템에서 이미 결정한 출입 시도 또는 거부를 기록합니다. Door/Gate Controller에는 연결하지 않으며 출입문은 잠금 해제되지 않습니다.
귀사의 시스템이 입장을 거부하거나, 잠금 해제 없이 시도를 Door & Gate Access 접근 로그에 표시해야 할 때 사용하십시오. Performance Hub는 멤버십 상태, 출입 시간 또는 기타 출입 규칙을 평가하지 않습니다.
거부 이벤트는 Door & Gate Access 접근 로그에 Denied 결과, 파트너 이름, 출입문, 회원 식별자(보낸 경우), 읽기 쉬운 형태의 사유 코드와 함께 표시됩니다. 예를 들어 membership_expired는 "Membership Expired"로 표시됩니다. reason_display_text와 user_email은 이벤트와 함께 저장됩니다.
매개변수
-
door_id
string필수목록 엔드포인트에서 반환된 Door/Gate Controller ID입니다.
-
facility_id
string둘 중 하나통합에 구성된 시설 식별자 유형을 제공하십시오. 직접 연결 통합에는 facility_id를, 연결 식별자 통합에는 linking_identifier를 사용하십시오. 둘 다 보내지 마십시오. API는 파트너 계정에 구성된 식별자 유형을 사용하고 다른 하나는 무시합니다. 자세히 알아보기Performance Hub 시설 ID입니다. 직접 연결 통합에 필요합니다.
-
linking_identifier
string둘 중 하나통합에 구성된 시설 식별자 유형을 제공하십시오. 직접 연결 통합에는 facility_id를, 연결 식별자 통합에는 linking_identifier를 사용하십시오. 둘 다 보내지 마십시오. API는 파트너 계정에 구성된 식별자 유형을 사용하고 다른 하나는 무시합니다. 자세히 알아보기파트너 시설 식별자입니다. 연결 식별자 통합에 필요합니다.
-
outcome
string필수denied또는attempted입니다. -
reason
string선택최대 64자의 소문자 snake_case 사유 코드입니다.
outcome이denied이면 필수입니다. 예:membership_expired. -
reason_display_text
string선택사람이 읽을 수 있는 최대 256자의 사유입니다. 예:
Membership expired on 2026-04-01. -
member_id
string선택파트너 회원 ID입니다. 알 수 없는 카드처럼 자격 증명이 회원과 일치하지 않으면 생략하십시오.
-
user_email
string선택출입을 시도한 사람의 이메일입니다.
-
timestamp
string선택시도가 발생한 시각으로, 시간대가 포함된 ISO 8601 형식입니다. 예:
2026-05-18T10:15:30Z. 기본값은 요청을 수신한 시각입니다. 미래로 5분 이상이거나 30일보다 오래된 값은 사용할 수 없습니다. -
idempotency_key
string선택최대 128자의 재전송 방지 키입니다. 같은 파트너, 시설, 출입문에 같은 키를 다시 사용하면 원래 결과가 반환됩니다.
반환값
이벤트가 기록되면 201을 반환합니다. 같은 idempotency_key를 재전송하면 idempotent가 true로 설정된 200을 반환하며 다른 이벤트를 만들지 않습니다.
dry-run 키는 dry_run이 true로 설정된 200을 반환합니다. 아무것도 기록되지 않습니다.
일반적인 실패:
400- 본문이 잘못되었거나, 거부에reason이 없거나, 타임스탬프가 범위를 벗어났거나,facility_id/linking_identifier가 연결된 시설과 일치하지 않습니다.403- 키가 읽기 전용입니다.403 integration_not_enabled- 시설에 대해 통합이 활성화되어 있지 않습니다.message에 사유가 표시됩니다.404- 연결된 시설에서 Door/Gate Controller를 찾을 수 없습니다.
요청
curl -X POST https://partner-api.performancehub.co/partner/v1/access-control/doors/00000000000000000000000000000007/access-events \
-u sk_live_YOUR_PARTNER_SECRET_KEY: \
-H "Content-Type: application/json" \
-d '{
"facility_id": "550e8400-e29b-41d4-a716-446655440000",
"outcome": "denied",
"reason": "membership_expired",
"reason_display_text": "Membership expired on 2026-04-01",
"member_id": "mem_12345",
"user_email": "member@example.com",
"timestamp": "2026-05-18T10:15:30Z",
"idempotency_key": "evt_abc12345"
}'
응답
{
"status": "recorded",
"event_id": "00000000-0000-0000-0000-000000000045",
"outcome": "denied",
"door_id": "00000000000000000000000000000007",
"facility_id": "550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2026-05-18T10:15:30.000Z"
}
멱등 재전송
{
"status": "recorded",
"event_id": "00000000-0000-0000-0000-000000000045",
"outcome": "denied",
"door_id": "00000000000000000000000000000007",
"facility_id": "550e8400-e29b-41d4-a716-446655440000",
"timestamp": "2026-05-18T10:15:30.000Z",
"idempotent": true
}