Validarium

Webhooky

Nechte si události expiračních položek posílat na vlastní endpoint hned, jak nastanou — podepsané, omezené na události, které vás zajímají, a s úplnými podrobnostmi změny.

Push místo dotazování

Místo pravidelného dotazování API, jestli se něco změnilo, pošle Validarium na váš endpoint HTTP POST pokaždé, když se do historie expirační položky zapíše událost. Webhooky si může vytvořit každý člen workspace ve webové aplikaci v Nastavení → Webhooky: zvolí název, URL endpointu a volitelně typy odebíraných událostí. Členové spravují své webhooky; vlastník workspace vidí všechny.

Co spouští doručení

Webhook se spouští pro události z celého workspace — včetně změn ostatních členů. Ponechte odběr prázdný, pokud chcete dostávat vše, nebo vyberte konkrétní typy.

created

Expirační položka byla vytvořena.

updated

Položka byla upravena; payload obsahuje každé změněné pole s původní a novou hodnotou.

expiration_date_changed

Změnilo se datum expirace; payload nese staré a nové datum.

renewed

Položce byla obnovena platnost s novým datem.

archived

Položka byla přesunuta do archivu.

restored

Položka byla obnovena z archivu.

deleted

Položka byla smazána.

attachment_uploaded

Byla nahrána příloha; payload nese název souboru.

attachment_deleted

Příloha byla odebrána; payload nese název souboru.

reminder_changed

Změnily se připomínky položky.

Co váš endpoint dostane

Každé doručení je JSON POST s typem události, workspace, položkou, podrobnostmi události a členem, který změnu provedl:

{
    "event": "expiration_date_changed",
    "occurred_at": "2026-07-18T09:30:00+00:00",
    "workspace": {
        "id": 1,
        "uuid": "9d3f4c3e-...",
        "name": "Family workspace"
    },
    "item": {
        "uuid": "8b2a1f6d-...",
        "name": "Passport",
        "expires_at": "2027-05-01"
    },
    "payload": {
        "old_expires_at": "2026-05-01",
        "new_expires_at": "2027-05-01"
    },
    "user": {
        "id": 7,
        "name": "Pavel"
    }
}

Ověření podpisu

Každé doručení je podepsané tajemstvím webhooku pomocí HMAC-SHA256. Tajemství se zobrazí jednou při vytvoření webhooku a lze ho kdykoli regenerovat. Porovnejte hlavičku X-Validarium-Signature s vlastním otiskem surového těla požadavku:

$expected = 'sha256='.hash_hmac('sha256', $request->getContent(), $secret);

abort_unless(
    hash_equals($expected, (string) $request->header('X-Validarium-Signature')),
    401,
);

Hlavičky doručení

X-Validarium-Signature
HMAC-SHA256 otisk těla požadavku s prefixem „sha256=".
X-Validarium-Event
Typ události — hodí se pro routing bez parsování těla.
X-Validarium-Webhook-Id
Id webhooku — hodí se, když jeden endpoint obsluhuje více webhooků.

Doručování a opakované pokusy

Doručení probíhá asynchronně přes frontu, aplikaci tedy nezpomaluje. Pokud endpoint neodpoví úspěšným stavem, Validarium doručení zopakuje až třikrát s rostoucími rozestupy (10 s, 60 s, 180 s). Webhook lze kdykoli deaktivovat bez mazání.

Pouze web a cloud

Webhooky běží na serveru, pokrývají tedy webovou aplikaci a mobilní Cloud režim. Device režim se serveru nedotýká, takže čistě lokální změny webhooky nespouštějí — konzistentně s tím, že device data nikdy neopouštějí telefon.

Typická využití

Týmové notifikace

Přeposílejte události do Slacku, Teams nebo Discordu — přímo, nebo přes nástroje jako Zapier, Make či n8n.

Synchronizace systémů

Udržujte ERP, CRM nebo interní databázi aktuální o obnoveních a změnách termínů v reálném čase.

Automatizace a audit

Zakládejte navazující úkoly při obnovení, veďte nezávislý auditní log nebo plňte vlastní dashboardy bez pollingu.