Integracao

[ESPEC] Evento de acesso (enviado por nos)

Especificacao — ainda nao implementado. Este endpoint esta publicado para acordo de contrato; chamadas retornam 404 ate a implementacao.

Nos chamamos voce. Cada passagem em um leitor do espaco gera uma requisicao para a URL cadastrada pelo sistema de origem. E o registro de auditoria de acesso: quem passou, onde, quando e em que sentido.

Garantias de entrega

  • Ao menos uma vez. Uma entrega pode se repetir apos falha de rede ou resposta perdida. Deduplique por eventId; sequence tambem e estavel entre tentativas.
  • Ordem cronologica por leitor. Os eventos de um mesmo dispositivo sao enviados em ordem crescente de sequence, sem lacunas.
  • Durabilidade. Eventos ficam persistidos ate a confirmacao. Uma indisponibilidade do destino nao descarta nada: ao restabelecer, o acumulo e entregue na ordem original.
  • Retentativa. Falha ou resposta fora da faixa 2xx agenda nova tentativa com espera progressiva. Apos o limite de tentativas o evento e retido para reenvio manual, nunca descartado.

O que o receptor deve fazer

  • Validar X-Preddita-Signature antes de processar.
  • Responder qualquer 2xx em ate 10 segundos. Corpo da resposta e ignorado.
  • Responder rapido e processar de forma assincrona: a resposta lenta conta como falha e gera retentativa.
postWebhook/access-event

Headers

X-Preddita-Event-Idstring uuid required

Identificador unico da entrega. Use como chave de idempotencia.

X-Preddita-Signaturestring required

HMAC-SHA256 do corpo bruto, no formato sha256=<hex>, calculado com o segredo do webhook. Valide antes de processar.

Example:sha256=9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08
X-Preddita-Delivery-Attemptstring required

Numero da tentativa de entrega, comecando em 1.

Example:1

Payload

AccessEvent required(unresolved $ref)

Response

Evento recebido. Qualquer 2xx confirma a entrega.

Changes

Webhooks have no change history: a webhook is keyed by its event name rather than a path and method, so no recorded change can name it.