Webhook umožňuje, aby FlexiProject okamžitě upozornil externí systém, když se ve vaší organizaci něco stane. Místo opakovaného dotazování API, zda se něco změnilo, dostane váš systém hned po vzniku události HTTP požadavek s daty události.

Jeden webhook spojuje jednu událost s jednou adresou příjemce. Chcete-li poslat dvě různé události na stejnou adresu nebo stejnou událost do dvou systémů, vytvořte dva webhooky.

Webhooky nastavujete v Nastavení systému > Webhooky. Sekce je dostupná správcům systému (viz Uživatelé a oprávnění). Chcete-li data číst jiným kanálem, použijte API.

Události

FlexiProject hlásí čtyři události. Každý webhook naslouchá právě jedné z nich, kterou vyberete v seznamu Událost.

Add webhook window with the Event list expanded and the available events highlighted

Událost Kdy FlexiProject požadavek odešle Data specifická pro událost
Projekt vytvořen Vznikl nový projekt, jakýmkoli způsobem: od nuly, ze šablony, klonováním, importem souboru MS Project nebo Excel, nebo s pomocí AI. projectId, projectName, createdAt
Projekt odstraněn Projekt byl odstraněn. projectId, projectName
Přijetí zahájeno Změna plánu byla odeslána ke schválení a spustila se její schvalovací cesta. changeRequestId, changeRequestName, projectId, projectName, date
Přijetí dokončeno Schvalovací cesta skončila rozhodnutím: schválením, zamítnutím nebo zrušením. changeRequestId, changeRequestName, projectId, projectName, decisionDate, status

Každý požadavek navíc nese název události (event), okamžik, kdy vznikl (timestamp), a identifikátor (userId) i e-mailovou adresu (userEmail) uživatele, jehož akce ho vyvolala. Formát celého požadavku popisuje část Formát HTTP požadavku. Schvalování je popsáno v části Přijetí.

Konfigurace webhooku

Seznam webhooků

Stránka Webhooky zobrazuje všechny webhooky organizace ve třech sloupcích: Událost, URL příjemce a Popis. Pokud není nic definováno, zobrazí se zpráva Žádné webhooky.

Add webhook window with the Event and Receiver URL fields highlighted

Přidání webhooku

  1. Klikněte na tlačítko přidání nad seznamem. Otevře se okno Přidat webhook.
  2. Vyberte Událost. Ve výchozím nastavení je zvolena událost Projekt vytvořen.
  3. Zadejte URL příjemce — adresu, na kterou FlexiProject požadavek odešle. Pole je povinné a vyžaduje úplnou adresu včetně protokolu, například https://example.com/hooks/flexiproject. Neúplná adresa je odmítnuta chybovým hlášením o zpracování dat.
  4. Volitelně zadejte Popis — poznámku pro váš tým, viditelnou pouze v seznamu.
  5. Klikněte na Uložit.

Tajný klíč

Hned po uložení se objeví okno Tajný klíč se zprávou: Webhook byl vytvořen. Níže je tajný klíč, který se zobrazí pouze jednou. Zkopírujte jej a uložte na bezpečném místě. Tlačítko Kopírovat vloží hodnotu do schránky (zpráva Zkopírováno do schránky) a vy ji uložíte v přijímajícím systému. Tajný klíč podepisuje každý požadavek, takže příjemce může ověřit, že požadavek pochází z FlexiProject (viz Formát HTTP požadavku).

Po zavření okna už není úplná hodnota nikde v aplikaci dostupná. V později otevřeném webhooku ukazuje pole Tajný klíč jen první a poslední čtyři znaky s hvězdičkami uprostřed; pole nelze upravovat.

Úprava webhooku

Kliknutím na název události v seznamu otevřete okno Upravit webhook. Změníte v něm událost, adresu příjemce a popis a poté zvolíte Uložit. Tajný klíč zůstává beze změny — úprava nikdy nevydá nový. Při zavření okna s neuloženými změnami se zobrazí otázka Chcete jít dál a vzdát se změn?

Test webhooku

Tlačítko Testovat je v okně úpravy uloženého webhooku. Odešle na nastavenou adresu požadavek ve formátu zvolené události, vyplněný ukázkovými daty (například projektem s názvem Test Project), a potvrdí to zprávou Testovací požadavek byl úspěšně odeslán. Zpráva potvrzuje, že požadavek byl odeslán, nikoli že ho příjemce přijal — výsledek zkontrolujte na straně příjemce.

Odstranění webhooku

Tlačítko Odstranit v okně webhooku vyžaduje potvrzení otázky Opravdu chcete webhook odstranit? Od té chvíle se událost na tuto adresu už neodesílá. Odstranění nelze vrátit; obnovení doručování znamená nový webhook, a tedy nový tajný klíč.

Formát HTTP požadavku

FlexiProject odesílá na nastavenou adresu požadavek POST s tělem ve formátu JSON.

Hlavičky

Hlavička Obsah
X-FlexiProject-Event Název události: ProjectCreated, ProjectDeleted, AcceptanceStarted nebo AcceptanceCompleted.
X-FlexiProject-Delivery Identifikátor doručení. Zůstává stejný při všech opakováních téže události, takže podle něj poznáte duplicity.
X-FlexiProject-Timestamp Okamžik odeslání požadavku.
X-FlexiProject-Signature Podpis těla požadavku ve tvaru sha256=<value>.

Ověření podpisu

Podpis je HMAC-SHA256 nezpracovaného těla požadavku, vypočtený s tajným klíčem webhooku jako klíčem a zapsaný malými písmeny v šestnáctkové soustavě. Na straně příjemce vypočtěte stejnou hodnotu z přijatého těla a porovnejte ji s částí hlavičky X-FlexiProject-Signature za sha256=. Pokud se hodnoty liší, požadavek odmítněte — nepochází z vaší organizace ve FlexiProject.

Ukázkové tělo

{
  "projectId": "6712f0a1c3d4e5f601234567",
  "projectName": "Warehouse modernization",
  "createdAt": "2026-09-21T08:14:02Z",
  "userId": "a3f1c7de-1b20-4f9e-9a55-0c2d8e7b41aa",
  "userEmail": "anna.kowalska@example.com",
  "event": "ProjectCreated",
  "timestamp": "2026-09-21T08:14:02Z"
}

Odpověď a opakování

Odpovězte stavem úspěchu (2xx), jakmile požadavek přijmete. Jakákoli jiná odpověď, nebo žádná, se počítá jako neúspěšné doručení.

Neúspěšné doručení se automaticky opakuje s rostoucím odstupem: po 1, 2, 4, 8, 16, 32, 64, 128, 256 a 512 minutách. Pokusy se rozloží zhruba na sedmnáct hodin, takže příjemce, který je na chvíli nedostupný, o událost nepřijde. Každý pokus opakuje stejnou hodnotu X-FlexiProject-Delivery, proto počítejte s tím, že tutéž událost můžete dostat vícekrát.