> ## Documentation Index
> Fetch the complete documentation index at: https://foliant-help.iforiti.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Lähetä webhookeja omaan järjestelmääsi

> Webhooks-integraatio lähettää allekirjoitetun JSON-tapahtuman omaan päätepisteeseesi, kun Foliant luo asiakirjan tai saa viennin valmiiksi.

**Webhooks**-integraatio on tarkoitettu kehittäjille. Se lähettää JSON-tapahtuman valitsemaasi HTTPS-osoitteeseen aina, kun Foliantissa tapahtuu jotain, jotta oma järjestelmäsi voi reagoida siihen, esimerkiksi arkistoimalla jokaisen laskun PDF-tiedoston tai noutamalla valmiin viennin.

Webhooks on beetavaiheessa. Jos et näe sitä kohdassa **Asetukset › Integraatiot**, sitä ei vielä tarjota kaupallesi. Ota yhteyttä tukeen ja kysy käyttöoikeudesta.

## Tapahtumat

| Tapahtuma | Lähetetään, kun |
| - | - |
| `document.generated` (**Document generated**) | Foliant luo asiakirjan tilaukselle: latauksen, viennin tai PDF-toimitussähköpostin. |
| `export.completed` (**Export completed**) | Joukkovienti on valmis. |

## Yhdistä webhookit

1. Siirry Foliantissa kohtaan **Asetukset › Integraatiot**.

2. Napsauta **Webhooks**-kohdassa **Yhdistä**.

3. Täytä asetukset:

   | Kenttä | Mitä syötät |
   | - | - |
   | **Endpoint URL** | Osoite, johon Foliant lähettää tapahtumat. Sen on käytettävä HTTPS:ää, esimerkiksi `https://example.com/webhooks/foliant`. |
   | **Signing secret** | Valinnainen. Kun asetat salaisuuden, jokainen pyyntö allekirjoitetaan, jotta voit tarkistaa, että se tuli Foliantilta. |
   | **Events** | Lähetettävät tapahtumat. Molemmat on valittu oletuksena. |

4. Napsauta **Yhdistä**.

Voit muuttaa URL-osoitetta, salaisuutta ja tapahtumia myöhemmin integraation sivun kohdassa **Asetukset**.

## Mitä kukin pyyntö sisältää

Foliant lähettää `POST`-pyynnön, jonka runko on JSON-muodossa:

```json theme={null}
{
  "id": "a unique delivery id",
  "event": "document.generated",
  "created_at": "2026-10-11T09:30:00+00:00",
  "shop": "your-store.myshopify.com",
  "data": { }
}
```

### `document.generated`-tiedot

* `template`: mallin `uuid` ja `name`.
* `document_type`: `invoice`, `credit_note`, `quote` tai tyhjä muille asiakirjoille.
* `order`: tilauksen `id`, `name` ja `type` (tilaukset tai luonnostilaukset).
* `refund_id` ja `fulfillment_id`, kun asiakirja koskee hyvitystä tai lähetystä.
* `document_number` ja `issued_at` numeroiduille asiakirjoille.
* `source`: miten asiakirja luotiin, esimerkiksi `download`, `admin_download`, `export` tai `email`.
* `export`: viennin tunnus, kun asiakirja kuuluu vientiin.
* `generated_at`.

### `export.completed`-tiedot

* `export`: viennin `uuid`, `order_type`, `template_uuids`, `orders`-määrä, `orders_skipped` (poistettu valinnan jälkeen) ja `documents`, `requested_by` (`merchant` tai `customer`) sekä `completed_at`.
* `download_url`: linkki viennin lataamiseen, ja `download_url_expires_at`, jolloin linkki lakkaa toimimasta.
* `download_expires_at`: milloin vienti itse vanhenee.

Tapahtumat sisältävät tunnuksia ja määriä, eivät asiakkaiden sähköpostiosoitteita.

### Otsakkeet

| Otsake | Sisältää |
| - | - |
| `X-Foliant-Event` | Tapahtuman, esimerkiksi `document.generated`. |
| `X-Foliant-Delivery` | Toimituksen yksilöllisen tunnuksen (sama kuin rungon `id`). |
| `X-Foliant-Timestamp` | Lähetysajan Unix-sekunteina. |
| `X-Foliant-Signature` | `sha256=` ja sen perässä allekirjoitus. Vain, jos olet asettanut allekirjoitussalaisuuden. |

## Tarkista allekirjoitus

Allekirjoitus on heksamuotoinen HMAC-SHA256, joka lasketaan aikaleimasta, pisteestä ja pyynnön raakarungosta (`<timestamp>.<body>`) käyttäen avaimena allekirjoitussalaisuuttasi. Laske se omalla puolellasi ja vertaa sitä `X-Foliant-Signature`-otsakkeen `sha256=`-osan jälkeiseen arvoon. Käytä raakarunkoa täsmälleen sellaisena kuin se vastaanotettiin.

## Vastaukset ja uudelleenyritykset

* Mikä tahansa 2xx-vastaus katsotaan toimitetuksi.
* Jos päätepisteesi palauttaa 5xx-virheen, 408 tai 429 tai ei vastaa 10 sekunnin kuluessa, Foliant yrittää myöhemmin uudelleen ja odottaa joka kerta pidempään, enintään 5 yritystä.
* Muut 4xx-vastaukset ovat lopullisia: Foliant ei yritä niitä uudelleen.
* Jokainen tapahtuma toimitetaan kerran asiakirjaa tai vientiä kohden. Uudelleenyritykset eivät koskaan lähetä sitä kahdesti onnistuneen toimituksen jälkeen.

Jokainen toimitus näkyy integraation sivun kohdassa **Toiminta**, jossa voit valita epäonnistuneelle toimitukselle **Yritä uudelleen**. Katso [Integraation toiminta](https://foliant-help.iforiti.com/fi/integrations/integration-activity.md).

## Aiheeseen liittyvät artikkelit

* [Yhdistä ja hallitse integraatiota](https://foliant-help.iforiti.com/fi/integrations/connect-an-integration.md)
* [Integraation toiminta](https://foliant-help.iforiti.com/fi/integrations/integration-activity.md)
* [Automatisoi Shopify Flow'lla](https://foliant-help.iforiti.com/fi/integrations/shopify-flow.md)
* [Vie PDF-tiedostoja](https://foliant-help.iforiti.com/fi/exports/export-pdfs.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.