# Odesílání událostí z backendu

> Zaznamenávejte události workspace a vlastní události ze svých serverů přes API událostí, jednotlivě nebo v dávkách, s API klíčem jen pro události.

Ze svých serverů odesílejte události všeho, co nesmí záviset na prohlížeči návštěvníka, například objednávky, platby, změny předplatného nebo události z interních systémů. Tato stránka ukazuje, jak odeslat jednu událost, jak jich odeslat více a jak ošetřit chyby.

## Než začnete

- Odesílání událostí je součástí tarifů Pro, Business a Custom. Workspace v tarifu Pro může používat 100 typů událostí a workspace v tarifu Business 1 000. Viz [Limity](/cs/docs/events/#limits).
- V **Email API → API Keys** vytvořte API klíč s oprávněním **Events Only**. Může odesílat události a nic jiného: nemůže číst vaše data, spravovat definice událostí ani odesílat e-maily. Funguje i klíč s oprávněním **Full Access**. Viz [API klíče](/cs/docs/developers/api-keys/#scopes).
- Pokud chcete odesílat události workspace, nejdřív je [definujte](/cs/docs/events/workspace-events/). Vlastní události žádné nastavení nepotřebují.

## Odešlete událost

Zavolejte [Odeslání události](/cs/docs/api-reference/events/send/) s `type` události, jejími `properties` a člověkem, kterého se týká:

```bash
curl -X POST https://api.emailit.com/v2/events \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "type": "c:order.completed",
    "email": "jane@example.com",
    "properties": { "order_id": "1001", "total": 59.9, "currency": "EUR" },
    "occurred_at": "2026-10-19T09:30:00Z"
  }'
```

- Pole `email` propojí událost s kontaktem s touto adresou. Pokud už ID kontaktu znáte, pošlete místo toho `contact_id`.
- Pole `occurred_at` určuje, kdy se událost stala, například když události odesíláte z fronty. Pokud ho vynecháte, použije se aktuální čas.
- Odpověď je `201` s uloženou událostí a jejím ID `evt_`. Klíč jen pro události dostane událost zpět bez `data`.

## Odešlete více událostí najednou

[Dávkové odeslání událostí](/cs/docs/api-reference/events/batch/) přijme až 100 událostí v jednom požadavku, což se hodí pro importy a plánované synchronizace:

```bash
curl -X POST https://api.emailit.com/v2/events/batch \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "events": [
      { "type": "c:order.completed", "email": "jane@example.com", "properties": { "order_id": "1001", "total": 59.9 } },
      { "type": "c:order.completed", "email": "omar@example.com", "properties": { "order_id": "1002", "total": 18 } }
    ]
  }'
```

Dávka se uloží buď celá, nebo vůbec: pokud je jedna událost neplatná, neuloží se žádná. Odpověď `422` uvádí každý problém pod `events.<index>`, takže tyto události můžete opravit nebo vyřadit a dávku odeslat znovu.

## Ošetřete chyby

| Stav | Význam | Co udělat |
| --- | --- | --- |
| `201` | Uloženo. | Nic. |
| `400` | Tělo požadavku není objekt JSON, nebo je dávka prázdná či má více než 100 událostí. | Opravte požadavek. |
| `401` | API klíč chybí, nebo je špatný. | Zkontrolujte klíč. |
| `403` | Rozsah oprávnění klíče neumožňuje odesílat události, nebo je workspace v tarifu Pay as you go (`"error": "plan_required"`). | Použijte klíč jen pro události, nebo klíč s plným přístupem, případně přejděte na tarif Pro nebo Business. |
| `422` | Událost je neplatná: událost `w:`, která není definovaná, vlastnost se špatným typem, neznámé `contact_id`, datum více než 24 hodin v budoucnosti nebo nový typ události, když workspace už vyčerpal počet typů svého tarifu. Pole `errors` uvádí každé chybné pole. | Opravte událost, nebo přejděte na vyšší tarif s více typy událostí. Opakování beze změny znovu selže. |
| `5xx` | Dočasný problém na straně Emailitu. | Zopakujte požadavek s rostoucím odstupem (backoff). |

Události nemají idempotenční klíč, takže zopakování požadavku, který už prošel, uloží událost dvakrát. Do vlastností dejte vlastní ID, například `order_id`, aby každý, kdo události čte, poznal duplicity.

## Ověřte, že události přicházejí

Otevřete **Email API → Events**. Karta **Log** uvádí nové události nahoře; pokud chcete skrýt systémové události, zvolte v poli **Scope** hodnotu **Custom**, nebo **Workspace**. Výběrem události zobrazíte její vlastnosti, kontakt, ke kterému patří, a odkud přišla. Události propojené s kontaktem se zobrazují také v panelu **Activity log** kontaktu.

## Související

  - [Sledování událostí](/cs/docs/events/): Rozsahy, názvy a kam se události dostanou.
  - [Sledovací skript](/cs/docs/events/tracking-script/): Odesílejte události ze svého webu.
  - [Odeslání události](/cs/docs/api-reference/events/send/): Všechny parametry a odpovědi.
  - [API klíče](/cs/docs/developers/api-keys/): Vytvořte klíč jen pro události.

---
Zdroj: https://emailit.com/cs/docs/events/send-events/
