Разблокировка контроллера Door/Gate Controller

Отправляет команду разблокировки контроллеру Door/Gate Controller и ожидает подтверждения от физического реле о том, что разблокировка выполнена.

Перед вызовом этой конечной точки ваша система должна решить, есть ли у человека право доступа. Performance Hub проверяет только ключ партнера, доступ к объекту, принадлежность двери и состояние устройства.

Параметры

  • door_id string обязательный

    Идентификатор контроллера Door/Gate Controller, возвращаемый конечной точкой получения списка.

  • facility_id string одно из двухУкажите тип идентификатора объекта, настроенный для вашей интеграции: facility_id для интеграций с прямой связью или linking_identifier для интеграций со связующим идентификатором. Не отправляйте оба; API использует тип идентификатора, настроенный для вашей партнерской учетной записи, и игнорирует другой. Подробнее

    Идентификатор объекта в Performance Hub. Обязателен для интеграций с прямой связью.

  • linking_identifier string одно из двухУкажите тип идентификатора объекта, настроенный для вашей интеграции: facility_id для интеграций с прямой связью или linking_identifier для интеграций со связующим идентификатором. Не отправляйте оба; API использует тип идентификатора, настроенный для вашей партнерской учетной записи, и игнорирует другой. Подробнее

    Идентификатор объекта на стороне партнера. Обязателен для интеграций со связующим идентификатором.

  • member_id string обязательный

    Идентификатор участника на стороне партнера. Используется для журнала аудита и последующей связи данных.

  • first_name string обязательный

    Имя человека, открывающего дверь.

  • last_name string обязательный

    Фамилия человека, открывающего дверь.

  • full_name string необязательный

    Необязательный параметр. Если он не указан, Performance Hub объединяет first_name и last_name.

  • check_in_id string необязательный

    Необязательный идентификатор посещения из вашей системы для сопоставления.

  • idempotency_key string необязательный

    Необязательный ключ защиты от повторов. При повторном использовании того же ключа для того же партнера, объекта и двери возвращается существующий результат, если он доступен.

Возвращаемое значение

Возвращает 200 только в том случае, если устройство подтверждает, что реле физически разблокировано. Дверь использует время удержания, настроенное в разделе «Управление устройствами» Performance Hub; партнеры не могут переопределять время срабатывания реле в отдельном запросе. Обычно подтверждение приходит за 3-5 секунд. Рассматривайте истечение документированного времени ожидания как явную неудачу разблокировки и повторяйте попытку только в соответствии с собственными правилами безопасности.

Типичные ошибки:

  • 403 integration_not_enabled — ваша интеграция не включена для объекта.
  • 409 maintenance_mode_active — персонал объекта включил для двери режим обслуживания.
  • 503 device_offline — контроллер Door/Gate Controller не в сети или его данные устарели.
  • 504 unlock_confirmation_timeout — команда отправлена, но соответствующее подтверждение не получено до истечения времени ожидания.

Запрос

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

Ответ

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

Ответ с ошибкой

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