Registrar uma tentativa ou negação de acesso
Registra uma tentativa ou negação de acesso que o seu sistema já decidiu. O Door/Gate Controller não é contatado e a porta não é destravada.
Use isto quando o seu sistema recusar a entrada ou quando uma tentativa precisar aparecer nos Registros de acesso do Door & Gate Access sem um destravamento. O Performance Hub não avalia o status da associação, os horários de acesso nem outras regras de acesso.
Um evento negado aparece nos Registros de acesso do Door & Gate Access com o resultado Denied, o nome do seu parceiro, a porta, o identificador do membro (quando você o envia) e o código do motivo em formato legível. Por exemplo, membership_expired é exibido como "Membership Expired". reason_display_text e user_email são armazenados com o evento.
Parâmetros
-
door_id
stringobrigatórioID do Door/Gate Controller retornado pelo endpoint de listagem.
-
facility_id
stringum ou outroInforme o tipo de identificador de instalação configurado para sua integração: use facility_id em integrações de vinculação direta ou linking_identifier em integrações com identificador de vinculação. Não envie os dois; a API usa o tipo de identificador configurado para sua conta de parceiro e ignora o outro. Saiba maisID da instalação no Performance Hub. Obrigatório em integrações de vinculação direta.
-
linking_identifier
stringum ou outroInforme o tipo de identificador de instalação configurado para sua integração: use facility_id em integrações de vinculação direta ou linking_identifier em integrações com identificador de vinculação. Não envie os dois; a API usa o tipo de identificador configurado para sua conta de parceiro e ignora o outro. Saiba maisIdentificador da instalação no sistema do parceiro. Obrigatório em integrações com identificador de vinculação.
-
outcome
stringobrigatóriodeniedouattempted. -
reason
stringopcionalCódigo do motivo em snake_case minúsculo, com até 64 caracteres. Obrigatório quando
outcomeédenied. Exemplo:membership_expired. -
reason_display_text
stringopcionalMotivo legível, com até 256 caracteres. Exemplo:
Membership expired on 2026-04-01. -
member_id
stringopcionalID do membro no sistema do parceiro. Omita-o quando a credencial não corresponder a um membro, como no caso de um cartão desconhecido.
-
user_email
stringopcionalE-mail da pessoa que tentou o acesso.
-
timestamp
stringopcionalQuando a tentativa ocorreu, em ISO 8601 com fuso horário. Exemplo:
2026-05-18T10:15:30Z. O padrão é o horário em que a solicitação é recebida. Não pode estar mais de 5 minutos no futuro nem ser anterior a 30 dias. -
idempotency_key
stringopcionalChave de proteção contra repetição, com até 128 caracteres. Reutilizar a mesma chave para o mesmo parceiro, instalação e porta retorna o resultado original.
Retorno
Retorna 201 quando o evento é registrado. Repetir o mesmo idempotency_key retorna 200 com idempotent definido como true e não cria outro evento.
Uma chave dry-run retorna 200 com dry_run definido como true. Nada é registrado.
Falhas comuns:
400- o corpo é inválido, uma negação não temreason, o carimbo de data/hora está fora do intervalo oufacility_id/linking_identifiernão corresponde a uma instalação vinculada.403- a chave é somente leitura.403 integration_not_enabled- sua integração não está ativada para a instalação.messageinforma o motivo.404- o Door/Gate Controller não foi encontrado para a instalação vinculada.
Solicitação
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"
}'
Resposta
{
"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"
}
Repetição idempotente
{
"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
}