---
title: "Dodawanie i aktywacja webhooka"
description: "Jak dodać adres webhooka w aplikacji inFakt i zweryfikować go, żeby zaczął otrzymywać zdarzenia."
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.niebieskiorzel.pl/llms.txt
> Use this file to discover all available pages before exploring further.

# Dodawanie i aktywacja webhooka

Webhooki konfiguruje się w aplikacji inFakt, a nie przez API. Nowy webhook zaczyna działać dopiero po weryfikacji adresu.

## Wymagania

- Publiczny adres `https://` w aplikacji integratora, który przyjmuje żądania `POST` z treścią JSON i odpowiada kodem `200` lub `201`.
- Dostęp do ustawień konta inFakt.

## Kroki

1. **Przygotowanie odpowiedzi na weryfikację**

   Podczas weryfikacji inFakt wysyła na podany adres żądanie `POST` z losowym kodem w polu `verification_code`. Aplikacja musi odesłać ten sam kod w odpowiedzi:

   ```js
   import express from "express";

   const app = express();
   app.post("/webhooks/infakt", express.json(), (req, res) => {
     if (req.body.verification_code) {
       return res.status(200).json({ verification_code: req.body.verification_code });
     }
     // Tu obsłuż zwykłe zdarzenia (req.body.event, req.body.resource).
     res.sendStatus(200);
   });
   app.listen(3000);
   ```
2. **Dodanie webhooka**

   Webhook dodaje się w aplikacji inFakt, w **Ustawienia → Inne opcje → Webhooki**, przyciskiem **Dodaj nowy webhook**. Formularz zawiera pola:

   - **Adres URL**: adres endpointu w aplikacji integratora.
   - **Opis**: nazwa, która ułatwi rozpoznanie webhooka.
   - **Zawartość danych**: pełne dane albo dane bez informacji poufnych (bez numeru faktury i kwot).
   - **Zdarzenia**: zdarzenia, o których webhook ma powiadamiać.

   Przycisk **Utwórz webhook** zapisuje webhook ze statusem **Do weryfikacji**.
3. **Weryfikacja adresu**

   Weryfikację uruchamia przycisk **Zweryfikuj** w szczegółach webhooka. Gdy aplikacja odeśle poprawny `verification_code`, status zmienia się na **Aktywny**.
4. **Zapisanie sekretu**

   Sekretny klucz HMAC ze szczegółów webhooka zapisuje się w zmiennej środowiskowej aplikacji, np. `INFAKT_WEBHOOK_SECRET`. Klucz służy do [weryfikacji podpisu](/poradniki/webhooki/zweryfikuj-podpis/).

## Weryfikacja

Webhook ma status **Aktywny**. Po wystawieniu testowej faktury w sandboxie, przy zaznaczonym zdarzeniu `draft_invoice_created`, endpoint otrzymuje zdarzenie z polem `"event": {"name": "draft_invoice_created", ...}`.

Gdy weryfikacja się nie powiedzie, należy sprawdzić, czy adres jest publicznie dostępny, ma ważny certyfikat HTTPS i odsyła kod w polu `verification_code`.

## Następne kroki

- [Weryfikacja podpisu webhooka](/poradniki/webhooki/zweryfikuj-podpis/)
- [Zdarzenia webhooków](/referencje/zdarzenia-webhookow/)
- [Dostarczanie webhooków](/koncepcje/dostarczanie-webhookow/)

Source: https://docs.niebieskiorzel.pl/poradniki/webhooki/dodaj-webhook/index.mdx
