Przejdź do strony głównej Centrum Pomocy

Centrum pomocy Publigo

Wpisz poniżej wyszukiwaną frazę

Jak zdefiniować własny webhook?

Instrukcja, jak dodać i skonfigurować webhooki w Publigo
AM
Ania Muszyńska
Updated 1 week ago

Czym są webhooki?

Webhooki to informacje wysyłane w przypadku wystąpienia konkretnych zdarzeń na Twojej platformie lub stronie. Muszą mieć dedykowane miejsce, w którym są odbierane.

To miejsce jest dowolne - możesz napisać swój kod, który zinterpretuje webhook i wykona kolejną akcję. Dużo łatwiejszą opcją jest jednak skorzystanie z narzędzia zewnętrznego, które pozwoli w relatywnie łatwy sposób tworzyć łańcuchy zdarzeń, usprawniając automatyzację platformy.

Takie narzędzia to m.in.:

Webhooki w Publigo

Platforma Publigo oferuje możliwość zdefiniowania webhooka. Można skorzystać z 9 typów zdarzeń:
  • Zamówienie zostało opłacone
  • Quiz został ukończony
  • Certyfikat został wystawiony
  • Student został zapisany na kurs
  • Kurs został ukończony
  • Wysłano powiadomienie, że dostęp do kursu wygasł
  • Wysłano powiadomienie, że dostęp do kursu wygasa
  • Wysłano powiadomienie, że płatność kartą zostanie pobrana
  • Wysłano powiadomienie, że płatność kartą jest nieudana

Jak dodać webhooka w Publigo?

  • Przejdź do NarzędziaWebhooki. 
  • Następnie kliknij przycisk Dodaj nowy

  • Wybierz typ zdarzenia, który chcesz skonfigurować i wpisz adres URL. Poniżesz znajdziesz informację, gdzie go uzyskać. 
  • Zaznacz status webhooka jako aktywny.


Jak uzyskać adres URL potrzebny do konfiguracji webhooków?

Adres URL generujesz za pomocą wybranego przez siebie narzędzia. Przykładowo, jeśli korzystasz z webhook.site URL znajdziesz w polu Your unique URL:


Jak wejść w dokumentację webhooków?

Aby wejść w dokumentację webhooka należy kliknąć 3 kropki przy webhooku i wybrać opcję: Dokumentacja.


Jak zweryfikować podpis webhooka po stronie odbiorcy? 

Podpis jest przesyłany w nagłówku x-wpidea-signature.


  1. Odczytaj treść żądania (body):
    Aby zweryfikować podpis, należy pobrać treść odebranego żądania. W PHP można to zrobić za pomocą:
    $request_body = file_get_contents('php://input');

  2. Pobierz podpis z nagłówków:
    $headers = getallheaders();
    $signature_from_request = isset($headers['x-wpidea-signature']) ? $headers['x-wpidea-signature'] : '';

  3. Wygeneruj podpis:
    Używając otrzymanej treści żądania ($request_body) oraz klucza licencyjnego, wygeneruj podpis przy użyciu algorytmu HMAC-SHA256. Wynik zakoduj w Base64. Przykład w PHP:
    $api_key = 'klucz_licencyjny';
    $computed_signature = base64_encode(hash_hmac('sha256', $request_body, $api_key, true));

  4. Porównaj podpisy:
    Do porównania podpisu wygenerowanego lokalnie z podpisem otrzymanym w nagłówku w PHP można użyć funkcji hash_equals(), która zabezpiecza przed atakami timingowymi:
    if (hash_equals($computedSignature, $receivedSignature)) {
        // Podpisy się zgadzają – żądanie jest autentyczne
    } else {
        // Podpisy nie pasują – żądanie należy odrzucić
    }

Podsumowanie:

  • Odbiorca webhooka pobiera treść żądania oraz wartość nagłówka x-wpidea-signature.

  • Następnie, używając swojego klucza API i algorytmu HMAC-SHA256, generuje własny podpis (zakodowany w Base64).

  • Na końcu porównuje wygenerowany podpis z tym przesłanym. Jeśli się zgadzają, żądanie jest autentyczne.

Przeczytaj jeszcze:



#webhook #webhooki #zapier #make.com #zdarzenia 
Czy ten artykuł okazał się pomocny?
😞 😐 😃