Déverrouiller un contrôleur de porte/portail

Envoie une commande de déverrouillage au contrôleur de porte/portail et attend que le relais physique confirme le déverrouillage.

Votre système doit décider si la personne est autorisée avant d'appeler cet endpoint. Performance Hub vérifie uniquement la clé partenaire, l'accès à l'installation, l'appartenance de la porte et l'état de l'appareil.

Paramètres

  • door_id string obligatoire

    ID du contrôleur de porte/portail renvoyé par l'endpoint de liste.

  • facility_id string l'un ou l'autreIndiquez le type d'identifiant d'installation configuré pour votre intégration : utilisez facility_id pour les intégrations à liaison directe, ou linking_identifier pour les intégrations à identifiant de liaison. N'envoyez pas les deux ; l'API utilise le type d'identifiant configuré pour votre compte partenaire et ignore l'autre. En savoir plus

    ID d'installation Performance Hub. Obligatoire pour les intégrations à liaison directe.

  • linking_identifier string l'un ou l'autreIndiquez le type d'identifiant d'installation configuré pour votre intégration : utilisez facility_id pour les intégrations à liaison directe, ou linking_identifier pour les intégrations à identifiant de liaison. N'envoyez pas les deux ; l'API utilise le type d'identifiant configuré pour votre compte partenaire et ignore l'autre. En savoir plus

    Identifiant d'installation du partenaire. Obligatoire pour les intégrations à identifiant de liaison.

  • member_id string obligatoire

    ID du membre chez le partenaire. Utilisé pour la journalisation d'audit et la liaison ultérieure des données.

  • first_name string obligatoire

    Prénom de la personne qui ouvre la porte.

  • last_name string obligatoire

    Nom de famille de la personne qui ouvre la porte.

  • full_name string facultatif

    Facultatif. S'il est omis, Performance Hub combine first_name et last_name.

  • check_in_id string facultatif

    ID d'enregistrement d'entrée facultatif provenant de votre système, pour la corrélation.

  • idempotency_key string facultatif

    Clé facultative de protection contre la relecture. Réutiliser la même clé pour le même partenaire, la même installation et la même porte renvoie le résultat existant lorsqu'il est disponible.

Valeur renvoyée

Renvoie 200 uniquement lorsque l'appareil confirme le déverrouillage physique du relais. La porte utilise la durée de maintien configurée dans Gestion d'appareils de Performance Hub ; les partenaires ne peuvent pas modifier la temporisation du relais pour chaque requête. La plupart des confirmations devraient aboutir en 3 à 5 secondes. Considérez le délai d'expiration documenté comme un échec explicite du déverrouillage et ne réessayez que conformément à vos propres règles de sécurité.

Échecs courants :

  • 403 integration_not_enabled - votre intégration n'est pas activée pour l'installation.
  • 409 maintenance_mode_active - le personnel de l'installation a activé le mode de maintenance pour la porte.
  • 503 device_offline - le contrôleur de porte/portail est hors ligne ou ses données sont obsolètes.
  • 504 unlock_confirmation_timeout - la commande a été envoyée, mais aucune confirmation correspondante n'a été reçue avant l'expiration du délai.

Requête

curl -X POST https://partner-api.performancehub.co/partner/v1/access-control/doors/00000000000000000000000000000007/unlock \
  -u sk_live_YOUR_PARTNER_SECRET_KEY: \
  -H "Content-Type: application/json" \
  -d '{
    "facility_id": "550e8400-e29b-41d4-a716-446655440000",
    "member_id": "mem_12345",
    "first_name": "Jane",
    "last_name": "S.",
    "full_name": "Jane S.",
    "source": "door_reader",
    "idempotency_key": "unlock_20260501_0001"
  }'

Réponse

{
  "status": "unlocked",
  "door_id": "00000000000000000000000000000007",
  "facility_id": "550e8400-e29b-41d4-a716-446655440000",
  "event_id": "00000000-0000-0000-0000-000000000045",
  "command_id": "00000000-0000-0000-0000-000000000049",
  "hold_time_seconds": 10,
  "confirmed_at": "2026-05-01T04:30:00.000Z"
}

Réponse en cas d'échec

{
  "status": "failed",
  "reason": "device_offline",
  "door_id": "00000000000000000000000000000007",
  "facility_id": "550e8400-e29b-41d4-a716-446655440000",
  "event_id": "00000000-0000-0000-0000-000000000045"
}