lobsite! Zaloguj się Załóż konto

Boty Lobsite /

Lobsite-Webhooks

Żądania od Lobsite-Webhooks/1 dostarczają zgłoszenia z formularzy strony na Lobsite pod adres wskazany przez właściciela. Jak je weryfikować i zatrzymać.

User agent Lobsite-Webhooks/1

Lobsite-Webhooks to user agent webhooków wysyłanych przez Lobsite. Strona w Lobsite z formularzem może wysyłać każde zgłoszenie na adres webhooka ustawiony przez właściciela w lobsite.toml, a te żądania to właśnie takie dostarczenia. Jeśli widzisz go w logach, ktoś skierował webhook formularza na Twój serwer: zwykle Ty sam, z własnej strony w Lobsite.

Jak wygląda żądanie

Każde przyjęte zgłoszenie, które nie jest spamem, to jeden POST z treścią JSON:

POST /hooks/contact HTTP/1.1
Content-Type: application/json
User-Agent: Lobsite-Webhooks/1
X-Lobsite-Event: form.submission
X-Lobsite-Delivery: dlv_3m9q…
X-Lobsite-Signature: t=1760372438,v1=5257a869…
{
  "type": "form.submission",
  "id": "sub_8x2k…",
  "site": "quiet-fox-4821",
  "form": "contact",
  "data": { "email": "ana@example.com", "message": "Hi!" },
  "created_at": "2026-10-13T16:20:38Z"
}

Webhooki trafiają tylko na adresy https://, które nie wskazują na sieci prywatne ani wewnętrzne.

Sprawdź, czy żądanie naprawdę pochodzi z Lobsite

User agent można podrobić, podpisu nie. X-Lobsite-Signature zawiera znacznik czasu t oraz v1, czyli szesnastkowy HMAC-SHA256 z "<t>.<raw body>" z sekretem webhooka formularza, pokazanym raz w panelu Lobsite. Oblicz tę samą wartość z surowej treści, porównaj w stałym czasie i odrzuć t starsze niż 5 minut.

import { createHmac, timingSafeEqual } from "node:crypto";

function verified(secret, header, rawBody) {
  const { t, v1 } = Object.fromEntries(header.split(",").map((p) => p.split("=")));
  if (Math.abs(Date.now() / 1000 - Number(t)) > 300) return false;
  const expected = createHmac("sha256", secret).update(`${t}.${rawBody}`).digest("hex");
  return v1?.length === expected.length && timingSafeEqual(Buffer.from(v1), Buffer.from(expected));
}

Ponowne próby

Odpowiedź 2xx w ciągu 10 sekund oznacza dostarczenie. Wszystko inne jest ponawiane 5 razy: po 1 minucie, 5 minutach, 30 minutach, 2 godzinach i 12 godzinach. X-Lobsite-Delivery nie zmienia się między próbami, więc możesz pominąć dostarczenie, które już obsłużyłeś.

Najczęstsze pytania

Jak zatrzymać te żądania?

Jeśli strona jest Twoja, usuń webhook z formularza w lobsite.toml i wdróż. Jeśli nie, odpowiadaj błędem: każde zgłoszenie jest próbowane łącznie 6 razy, a potem porzucane. Jeśli dalej przychodzą, zgłoś je na stronie Zgłoś nadużycie z wartością X-Lobsite-Delivery, a przyjrzymy się sprawie.

Które plany wysyłają webhooki?

Webhooki są częścią planu Standard. Strony w darmowym planie dostają zamiast tego powiadomienia e-mail. Zobacz dokumentację formularzy.

Dlaczego dostaję to samo zgłoszenie dwa razy?

Twój serwer za pierwszym razem odpowiedział zbyt wolno lub błędem, więc nastąpiła ponowna próba. Pomijaj dostarczenia, których X-Lobsite-Delivery już widziałeś.

Inne user agenty Lobsite