Mencatat upaya akses atau penolakan
Mencatat upaya akses atau penolakan yang telah diputuskan oleh sistem Anda. Door/Gate Controller tidak dihubungi, dan pintu tidak terbuka.
Gunakan ini ketika sistem Anda menolak masuk, atau ketika suatu upaya perlu muncul di Access Logs Door & Gate Access tanpa pembukaan kunci. Performance Hub tidak mengevaluasi status keanggotaan, jam akses, atau aturan akses lainnya.
Peristiwa yang ditolak muncul di Access Logs Door & Gate Access dengan hasil Denied, nama mitra Anda, pintunya, pengidentifikasi anggota jika Anda mengirimkannya, dan kode alasan dalam bentuk yang mudah dibaca. Misalnya, membership_expired ditampilkan sebagai "Membership Expired". reason_display_text dan user_email disimpan bersama peristiwa tersebut.
Parameter
-
door_id
stringwajibID Door/Gate Controller yang dikembalikan oleh endpoint list.
-
facility_id
stringsalah satuBerikan jenis pengidentifikasi fasilitas yang dikonfigurasi untuk integrasi Anda: gunakan facility_id untuk integrasi direct-link, atau linking_identifier untuk integrasi linking-identifier. Jangan kirim keduanya; API menggunakan jenis pengidentifikasi yang dikonfigurasi untuk akun mitra Anda dan mengabaikan yang lainnya. Pelajari lebih lanjutID fasilitas Performance Hub. Wajib untuk integrasi direct-link.
-
linking_identifier
stringsalah satuBerikan jenis pengidentifikasi fasilitas yang dikonfigurasi untuk integrasi Anda: gunakan facility_id untuk integrasi direct-link, atau linking_identifier untuk integrasi linking-identifier. Jangan kirim keduanya; API menggunakan jenis pengidentifikasi yang dikonfigurasi untuk akun mitra Anda dan mengabaikan yang lainnya. Pelajari lebih lanjutPengidentifikasi fasilitas mitra. Wajib untuk integrasi linking-identifier.
-
outcome
stringwajibdeniedatauattempted. -
reason
stringopsionalKode alasan dalam snake_case huruf kecil, hingga 64 karakter. Wajib jika
outcomebernilaidenied. Contoh:membership_expired. -
reason_display_text
stringopsionalAlasan yang mudah dibaca, hingga 256 karakter. Contoh:
Membership expired on 2026-04-01. -
member_id
stringopsionalID anggota mitra. Hilangkan jika kredensial tidak cocok dengan anggota mana pun, misalnya kartu yang tidak dikenal.
-
user_email
stringopsionalEmail orang yang mencoba mengakses.
-
timestamp
stringopsionalWaktu terjadinya upaya, dalam format ISO 8601 dengan zona waktu. Contoh:
2026-05-18T10:15:30Z. Default-nya adalah waktu permintaan diterima. Tidak boleh lebih dari 5 menit di masa depan atau lebih lama dari 30 hari. -
idempotency_key
stringopsionalKunci perlindungan pemutaran ulang, hingga 128 karakter. Menggunakan kembali kunci yang sama untuk mitra, fasilitas, dan pintu yang sama akan mengembalikan hasil aslinya.
Hasil
Mengembalikan 201 saat peristiwa dicatat. Memutar ulang idempotency_key yang sama mengembalikan 200 dengan idempotent bernilai true dan tidak membuat peristiwa lain.
Kunci dry-run mengembalikan 200 dengan dry_run bernilai true. Tidak ada yang dicatat.
Kegagalan umum:
400- isi permintaan tidak valid, penolakan tidak memilikireason, stempel waktu di luar rentang, ataufacility_id/linking_identifiertidak cocok dengan fasilitas yang tertaut.403- kunci bersifat read-only.403 integration_not_enabled- integrasi Anda tidak diaktifkan untuk fasilitas tersebut.messagememberikan alasannya.404- Door/Gate Controller tidak ditemukan untuk fasilitas yang tertaut.
Permintaan
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"
}'
Respons
{
"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"
}
Pemutaran ulang idempoten
{
"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
}