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.