# Webhooki

Webhooki pozwalają na automatyczne przesyłanie informacji o zdarzeniach do określonego adresu URL, co umożliwia skuteczne śledzenie komunikacji. Po otrzymaniu danych przez skrypt system powinien zwrócić stosowny komunikat. Aby dowiedzieć się więcej skontaktuj się z naszym Zespołem Sprzedaży -> <sales@messageflow.com>.&#x20;

{% hint style="info" %}
Dostępność monitorowania poszczególnych zdarzeń zależy od wybranego przez Ciebie planu.
{% endhint %}

### Kanały i zdarzenia

W panelu MessageFlow masz możliwość konfiguracji webhooków dla następujących kanałów i zdarzeń:

* **E-maile transakcyjne** – raporty doręczeń
* **Kampanie e-mail** – raporty wypisów
* **SMS-y transakcyjne** – raporty doręczeń
* **SMS-y transakcyjne** – kliknięcia w linki
* **Komunikacja 2-way** – SMS-y przychodzące
* **Maile panelowe** – raporty

### Konfiguracja

1. W zakładce **Webhooki** wybierz interesujące Cię zdarzenie:

* E-maile transakcyjne - raporty doręczeń
* Kampanie e-mail - raporty wypisu
* SMS-y transakcyjne - raporty doręczeń
* SMS-y transakcyjne - kliknięcia w linki
* Komunikacja 2-way - SMS-y przychodzące
* Pushe transakcyjne - raporty doręczeń
* Pushe panelowe - raporty
* Maile panelowe - raporty
* SMS-y panelowe - raporty

<figure><img src="https://329730659-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fj2s632FgUSm9RH1pVB9a%2Fuploads%2FpObNtDW0UCcxoK8O0ptE%2Fimage.png?alt=media&#x26;token=e974ee84-562d-4572-a68c-e628ece8f316" alt=""><figcaption></figcaption></figure>

2. Następnie w wybranym zdarzeniu uzupełnij:
   1. **W podziale na subkonta** - opcja dostępna tylko w **E-maile transakcyjne - raporty doręczeń**, dzięki niej będziesz otrzymywać zdarzenia z podziałem na subkonta dla raportów doręczeń (pamiętaj, żeby stosować unikalne message\_id, aby agregować wszystkie webhooki (z kolejnymi statusami)..
   2. **URL** - adres, na który mają być wysyłane dane (endpoint)
   3. **Drugi URL** - opcjonalnie, zapasowany adres, na który mają być wysyłane dane
   4. **Reguła powiadomień**:
      * **Opcja 1**: co 1 godzinę, co 6 godzin, co 24 godziny,
      * **Opcja 2:** co 30 minut, co 2 godziny, co 24 godziny.
   5. **Tryb autentykacji**
      * **Brak** - bez dodatkowej weryfikacji
      * **Basic auth** - wprowadź login i hasło, które będą służyć do autoryzacji. Dodaj te informacje do ustawień autoryzacji na swoim endpoint.
3. Po przygotowaniu skryptu do odbioru danych skorzystaj z opcji **Test**, aby upewnić się, że poprawnie odbiera on dane.&#x20;

{% hint style="info" %}
Ustawienia webhooków zostaną zapisane dopiero, gdy przejdziesz test pomyślnie.
{% endhint %}

4. Sprawdź, czy Twój endpoint zwraca odpowiedź **HTTP/1.1 200 OK**, co potwierdza, że dane zostały prawidłowo odebrane.

{% hint style="info" %}
Opcja **Generuj SecretKey** pozwala wygenerować unikalny ciąg znaków, który zabezpiecza przesyłane dane i zwiększa bezpieczeństwo.
{% endhint %}

5. Po poprawnej konfiguracji webhooka kliknij w przycisk **Zapisz**.

### Przesyłanie danych

Dane możesz przesyłać na wskazany endpoint za pomocą żądania POST -> każde zdarzenie to obiekt i jego struktura różni się między sobą w zależności od typu danego zdarzenia.

Więcej o opisach struktur znajdziesz w naszej [dokumentacji API](https://dev.messageflow.com/).&#x20;

{% hint style="info" %}
Twój endpoint powinien:

* Sprawdzić autoryzację zgodnie z ustawieniami w panelu,
* Zapisać otrzymany obiekt (JSON payload),
* Odpowiedzieć statusem HTTP 200 OK.
  {% endhint %}
