> ## 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.

# Send webhooks til dit eget system

> Webhooks-integrationen sender en signeret JSON-hændelse til dit eget endpoint, når Foliant genererer et dokument eller afslutter en eksport.

**Webhooks**-integrationen er til udviklere. Den sender en JSON-hændelse til en HTTPS-adresse, du vælger, hver gang der sker noget i Foliant. Så kan dit eget system reagere, for eksempel ved at arkivere hver faktura-PDF eller hente en færdig eksport.

Webhooks er i beta. Hvis du ikke kan se den under **Indstillinger › Integrationer**, er den ikke tilgængelig for din butik endnu. Kontakt support for at spørge om adgang.

## Hændelser

| Hændelse | Sendes når |
| - | - |
| `document.generated` (**Dokument genereret**) | Foliant opretter et dokument til en ordre: en download, en eksport eller en e-mail med PDF. |
| `export.completed` (**Eksport fuldført**) | En masseeksport er klar. |

## Forbind webhooks

1. Gå til **Indstillinger › Integrationer** i Foliant.

2. Klik på **Forbind** ved **Webhooks**.

3. Udfyld indstillingerne:

   | Felt | Hvad du skal angive |
   | - | - |
   | **Endpoint-URL** | Adressen, som Foliant sender hændelser til. Den skal bruge HTTPS, f.eks. `https://example.com/webhooks/foliant`. |
   | **Signeringsnøgle** | Valgfri. Med en nøgle bliver hver anmodning signeret, så du kan tjekke, at den kom fra Foliant. |
   | **Hændelser** | De hændelser, der skal sendes. Begge er valgt som standard. |

4. Klik på **Forbind**.

Du kan ændre URL, nøgle og hændelser senere under **Indstillinger** på integrationens side.

## Hvad hver anmodning indeholder

Foliant sender en `POST`-anmodning med en JSON-body:

```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": { }
}
```

### Data for `document.generated`

* `template`: skabelonens `uuid` og `name`.
* `document_type`: `invoice`, `credit_note`, `quote` eller tom for andre dokumenter.
* `order`: dens `id`, `name` og `type` (ordrer eller ordrekladder).
* `refund_id` og `fulfillment_id`, når dokumentet gælder en refundering eller en forsendelse.
* `document_number` og `issued_at` for nummererede dokumenter.
* `source`: hvordan det blev lavet, f.eks. `download`, `admin_download`, `export` eller `email`.
* `export`: eksportens ID, når det er en del af en eksport.
* `generated_at`.

### Data for `export.completed`

* `export`: dens `uuid`, `order_type`, `template_uuids`, antal `orders`, `orders_skipped` (slettet efter de blev valgt) og `documents`, `requested_by` (`merchant` eller `customer`) og `completed_at`.
* `download_url`: et link til at downloade eksporten, og `download_url_expires_at`, hvornår linket holder op med at virke.
* `download_expires_at`: hvornår selve eksporten udløber.

Hændelser indeholder ID'er og antal, ikke kunders e-mailadresser.

### Headers

| Header | Indeholder |
| - | - |
| `X-Foliant-Event` | Hændelsen, f.eks. `document.generated`. |
| `X-Foliant-Delivery` | Leveringens unikke ID (det samme som `id` i body). |
| `X-Foliant-Timestamp` | Hvornår den blev sendt, i Unix-sekunder. |
| `X-Foliant-Signature` | `sha256=` efterfulgt af signaturen. Kun når du har angivet en signeringsnøgle. |

## Tjek signaturen

Signaturen er en hex-HMAC-SHA256 af tidsstemplet, et punktum og den rå anmodnings-body (`<timestamp>.<body>`), med din signeringsnøgle som nøgle. Beregn den på din side, og sammenlign den med værdien efter `sha256=` i `X-Foliant-Signature`. Brug den rå body præcis, som du modtog den.

## Svar og nye forsøg

* Ethvert 2xx-svar tæller som leveret.
* Hvis dit endpoint returnerer en 5xx-fejl, 408 eller 429 eller ikke svarer inden for 10 sekunder, prøver Foliant igen senere og venter længere hver gang, op til 5 forsøg.
* Andre 4xx-svar er endelige: Foliant prøver dem ikke igen.
* Hver hændelse leveres én gang pr. dokument eller eksport. Nye forsøg sender den aldrig to gange efter en vellykket levering.

Hver levering vises under **Aktivitet** på integrationens side, hvor du kan klikke på **Prøv igen** ved en mislykket levering. Se [Integrationsaktivitet](https://foliant-help.iforiti.com/da/integrations/integration-activity.md).

## Relaterede artikler

* [Forbind og administrer en integration](https://foliant-help.iforiti.com/da/integrations/connect-an-integration.md)
* [Integrationsaktivitet](https://foliant-help.iforiti.com/da/integrations/integration-activity.md)
* [Automatiser med Shopify Flow](https://foliant-help.iforiti.com/da/integrations/shopify-flow.md)
* [Eksportér PDF'er](https://foliant-help.iforiti.com/da/exports/export-pdfs.md)


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