Bir erişim girişimini veya reddini kaydetme

Sisteminizin önceden karar verdiği bir erişim girişimini veya reddi kaydeder. Door/Gate Controller ile iletişim kurulmaz ve kapının kilidi açılmaz.

Bunu, sisteminiz girişi reddettiğinde veya bir girişimin kilit açılmadan Door & Gate Access kayıtlarında görünmesi gerektiğinde kullanın. Performance Hub üyelik durumunu, erişim saatlerini veya diğer erişim kurallarını değerlendirmez.

Reddedilen bir olay, Door & Gate Access kayıtlarında Denied sonucu, iş ortağı adınız, kapı, gönderdiyseniz üye tanımlayıcısı ve okunabilir biçimdeki neden koduyla görünür. Örneğin membership_expired, "Membership Expired" olarak gösterilir. reason_display_text ve user_email olayla birlikte saklanır.

Parametreler

  • door_id string zorunlu

    Liste uç noktasının döndürdüğü Door/Gate Controller kimliği.

  • facility_id string ikisinden biriEntegrasyonunuz için yapılandırılmış tesis tanımlayıcısı türünü sağlayın: doğrudan bağlantı (direct-link) entegrasyonları için facility_id, bağlama tanımlayıcısı (linking-identifier) entegrasyonları için linking_identifier kullanın. İkisini birden göndermeyin; API, iş ortağı hesabınız için yapılandırılmış tanımlayıcı türünü kullanır ve diğerini yok sayar. Daha fazla bilgi

    Performance Hub tesis kimliği. Doğrudan bağlantı entegrasyonları için zorunludur.

  • linking_identifier string ikisinden biriEntegrasyonunuz için yapılandırılmış tesis tanımlayıcısı türünü sağlayın: doğrudan bağlantı (direct-link) entegrasyonları için facility_id, bağlama tanımlayıcısı (linking-identifier) entegrasyonları için linking_identifier kullanın. İkisini birden göndermeyin; API, iş ortağı hesabınız için yapılandırılmış tanımlayıcı türünü kullanır ve diğerini yok sayar. Daha fazla bilgi

    İş ortağı tesis tanımlayıcısı. Bağlama tanımlayıcısı entegrasyonları için zorunludur.

  • outcome string zorunlu

    denied veya attempted.

  • reason string isteğe bağlı

    Küçük harfli snake_case neden kodu, en fazla 64 karakter. outcome değeri denied olduğunda zorunludur. Örnek: membership_expired.

  • reason_display_text string isteğe bağlı

    İnsan tarafından okunabilir neden, en fazla 256 karakter. Örnek: Membership expired on 2026-04-01.

  • member_id string isteğe bağlı

    İş ortağı üye kimliği. Kimlik bilgisi bir üyeyle eşleşmediğinde (örneğin tanınmayan bir kart) bunu göndermeyin.

  • user_email string isteğe bağlı

    Erişim girişiminde bulunan kişinin e-posta adresi.

  • timestamp string isteğe bağlı

    Girişimin gerçekleştiği zaman, saat dilimiyle ISO 8601 biçiminde. Örnek: 2026-05-18T10:15:30Z. Varsayılan olarak isteğin alındığı zamandır. 5 dakikadan fazla ileri tarihli veya 30 günden eski olmamalıdır.

  • idempotency_key string isteğe bağlı

    Yeniden oynatma koruması anahtarı, en fazla 128 karakter. Aynı iş ortağı, tesis ve kapı için aynı anahtarı yeniden kullanmak orijinal sonucu döndürür.

Döndürülen değer

Olay kaydedildiğinde 201 döndürür. Aynı idempotency_key ile yinelenen istek, idempotent değeri true olarak ayarlanmış şekilde 200 döndürür ve başka bir olay oluşturmaz.

Bir dry-run anahtarı, dry_run değeri true olarak ayarlanmış şekilde 200 döndürür. Hiçbir şey kaydedilmez.

Yaygın hatalar:

  • 400 - gövde geçersiz, bir retta reason yok, zaman damgası aralık dışında veya facility_id / linking_identifier bağlı bir tesisle eşleşmiyor.
  • 403 - anahtar salt okunur.
  • 403 integration_not_enabled - entegrasyonunuz tesis için etkin değil. message nedeni belirtir.
  • 404 - bağlı tesis için Door/Gate Controller bulunamadı.

İstek

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"
  }'

Yanıt

{
  "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 yeniden oynatma

{
  "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
}