Files
twenty/packages/twenty-docs/l/cs/developers/api-and-webhooks/webhooks.mdx
T
8cadd00d34 i18n - translations (#15799)
Created by Github action

---------

Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
Co-authored-by: github-actions <github-actions@twenty.com>
2025-11-13 16:34:00 +01:00

87 lines
5.4 KiB
Plaintext

---
title: Webhooky
image: /images/docs/getting-started/webhooks.png
info: Zjistěte, jak používat naše Webhooky.
---
<Frame>
<img src="/images/docs/getting-started/webhooks.png" alt="Header" />
</Frame>
## Přehled
Webhooky v Twenty doplňují API tím, že umožňují **oznámení v reálném čase** do vašich aplikací, když se události stanou ve vašem CRM. Místo neustálého dotazování API na změny můžete nastavit webhooky, které umožní aplikaci Twenty **odesílat** data do vašeho systému vždy, když dojde ke specifickým událostem (například když je vytvořen nový záznam nebo aktualizován stávající). To pomůže udržet externí systémy synchronizované s Twenty okamžitě a efektivně.
S využitím webhooků Twenty odešle požadavek HTTP POST na URL, které určíte, a to včetně podrobností o události. Můžete pak tato data zpracovat ve vaší aplikaci (např. pro aktualizaci vaší externí databáze, spuštění pracovních postupů nebo odesílání upozornění).
## Nastavení Webhooku
Chcete-li vytvořit webhook v Twenty, použijte nastavení **API & Webhooks** ve vaší aplikaci Twenty:
1. **Přejděte do Nastavení:** V aplikaci Twenty přejděte do **Nastavení → API & Webhooks**.
2. **Vytvořit Webhook:** Pod **Webhooky** klikněte na **+ Vytvořit webhook**.
3. **Zadejte URL:** Poskytněte koncovou URL na vašem serveru, kam chcete, aby Twenty zasílalo požadavky webhooků. Toto by měla být veřejně přístupná URL, která zvládne POST požadavky.
4. **Uložit:** Klikněte na **Uložit** pro vytvoření webhooku. Nový webhook bude aktivní okamžitě.
Můžete vytvořit více webhooků, pokud potřebujete odesílat různé události na různé koncové body. Každý webhook je v podstatě předplatné pro všechny relevantní události (v současné době Twenty odesílá všechny typy událostí na danou URL; filtrování specifických typů událostí může být konfigurovatelné v uživatelském prostředí). Pokud někdy potřebujete odstranit webhook, můžete jej odstranit ze stejné stránky nastavení (vyberte webhook a zvolte smazání).
## Události a Zatížení
Jakmile je webhook nastaven, Twenty pošle HTTP POST požadavek na vámi specifikovanou URL vždy, když dojde ke spouštěcí události ve vašich CRM datech. Běžné události, které spouští webhooky, zahrnují:
- **Záznam Vytvořen:** např. je přidána nová osoba (`person.created`), vytvořena nová firma (`company.created`), nebo vytvořen záznam (`note.created`), atd.
- **Záznam Aktualizován:** např. jsou aktualizovány informace stávající osoby (`person.updated`), editován záznam firmy (`company.updated`), atd.
- **Záznam Smazán:** např. osoba nebo firma je smazána (`person.deleted`, `company.deleted`).
- **Další Události:** pokud je to relevantní, jiné události objektů nebo vlastní spouštěče (například pokud jsou úkoly nebo jiné objekty aktualizovány, budou použity podobné typy událostí jako `task.created`, `note.updated`, atd.).
Webhook POST požadavek obsahuje JSON payload ve svém těle. Payload obecně zahrnuje alespoň dvě věci: typ události a údaje vztahující se k této události (často záznam, který byl vytvořen/aktualizován). Například webhook pro nově vytvořenou osobu může odeslat payload jako:
```
{
"event": "person.created",
"data": {
"id": "abc12345",
"firstName": "Alice",
"lastName": "Doe",
"email": "alice@example.com",
"createdAt": "2025-02-10T15:30:45Z",
"createdBy": "user_123"
},
"timestamp": "2025-02-10T15:30:50Z"
}
```
V tomto příkladu:
- `"událost"` specifikuje, co se stalo (`person.created`).
- `"data"` obsahuje detaily nového záznamu (stejné informace, které byste získali, pokud byste požádali o danou osobu přes API).
- `"časová značka"` je kdy daná událost nastala (v UTC).
Vaše koncová URL by měla být připravena přijímat taková JSON data přes POST. Obvykle budete parsovat JSON, podívat se na typ `"událost"`, abyste pochopili, co se stalo, a pak podle potřeby použít `"data"` (např. vytvořit nový kontakt ve vašem systému nebo aktualizovat stávající).
**Poznámka:** Je důležité reagovat z vašeho webhookového koncového bodu s **2xx HTTP statusem**, aby bylo potvrzeno úspěšné přijetí. Pokud Twenty webhook sender nedostane odpověď 2xx, může považovat doručení za neúspěšné. (V budoucnu může logika pokusů o nové odeslání pokusit se znovu odeslat neúspěšné webhooky, proto se vždy snažte vrátit 200 OK co nejrychleji po zpracování dat.)
## Ověření Webhooku
Pro zajištění bezpečnosti vašich webhookových koncových bodů obsahuje Twenty podpis v hlavičce `X-Twenty-Webhook-Signature`.
Tento podpis je HMAC SHA256 hash payloadu požadavku, vypočítaný pomocí vašeho webhookového tajemství.
Pro ověření podpisu budete potřebovat:
1. Spojte časovou značku (z hlavičky `X-Twenty-Webhook-Timestamp`), dvojtečku a JSON řetězec payloadu
2. Vypočítejte HMAC SHA256 hash pomocí vašeho webhookového tajemství jako klíče
3. Porovnejte vzniklý hex digest s hlavičkou podpisu
Zde je příklad v Node.js:
```javascript
const crypto = require("crypto");
const timestamp = "1735066639761";
const payload = JSON.stringify({...});
const secret = "your-secret";
const stringToSign = `${timestamp}:${JSON.stringify(payload)}`;
const signature = crypto.createHmac("sha256", secret)
.update(stringToSign)
.digest("hex");
```