Integraatiot
Lähetä lomakevastaukset webhookien kautta
Webhookit ovat YeetFormin yleiskäyttöinen tapa lähettää vastausdataa minne tahansa: omaan backendiin, tietokannan synkronointityöhön tai toiseen automaatioalustaan. Lisää HTTPS-päätepiste lomakkeen Integraatiot-välilehdelle, niin YeetForm lähettää allekirjoitetun JSON-hyötykuorman POST-pyynnöllä jokaisesta uudesta vastauksesta, salaisuudella jota vastaan voit varmistaa HMAC-SHA256:lla. Epäonnistuneet toimitukset yritetään uudelleen automaattisesti. Tämä sivu käy läpi tarkan allekirjoitusmuodon, hyötykuorman rakenteen ja uudelleenyritysaikataulun, jotta voit rakentaa vastaanottimen luottavaisin mielin.
Käyttöönotto
Lisää päätepiste
Liitä HTTPS-päätepisteesi URL lomakkeen Integraatiot-välilehdellä Webhooks-kohtaan ja klikkaa Lisää webhook. YeetForm luo kyseiselle päätepisteelle allekirjoitussalaisuuden (whsec_...).
Varmista allekirjoitus
Jokainen toimitus sisältää X-YeetForm-Signature-otsikon: t=<unix-aikaleima>,v1=<HMAC-SHA256 hex-tiiviste kohteesta `${t}.${body}`>. Varmista se raakaa pyynnön runkoa vasten ennen kuin luotat hyötykuormaan.
import { createHmac, timingSafeEqual } from "crypto";
function verify(secret, signatureHeader, rawBody) {
const [tPart, v1Part] = signatureHeader.split(",");
const timestamp = tPart.split("=")[1];
const signature = v1Part.split("=")[1];
const expected = createHmac("sha256", secret)
.update(`${timestamp}.${rawBody}`)
.digest("hex");
const a = Buffer.from(signature, "hex");
const b = Buffer.from(expected, "hex");
if (a.length !== b.length) return false;
return timingSafeEqual(a, b);
}Lue hyötykuorma
POST-pyynnöt laukeavat response.created-tapahtumasta (ja webhook.test manuaalisen testipainikkeen kautta), ja mukana on lomakkeen tunnus, vastauksen tunnus, vastausten määrä ja kentän tunnuksella avaimistetut vastaukset sekä fields-taulukko jokaisen kentän nimellä.
{
"event": "response.created",
"form_id": "<uuid>",
"form_title": "Customer Feedback",
"response_id": "<uuid>",
"response_count": 42,
"answers": { "fld_x": "..." },
"submitted_at": "2026-09-13T12:00:00.000Z"
}Käsittele uudelleenyritykset
Muu kuin 2xx-vastaus (tai aikakatkaisu) laukaisee uudelleenyrityksen: heti, sitten 30 sekunnin kuluttua, sitten 5 minuutin kuluttua - yhteensä 3 yritystä ennen kuin YeetForm merkitsee toimituksen epäonnistuneeksi. Uudelleenohjauksia ei seurata, joten osoita URL suoraan päätepisteeseesi.
Vinkit
- →Kenttien nimet sisältyvät hyötykuorman fields-taulukkoon (id, label, type), joten sinun ei tarvitse koodata kenttätunnuksia kovakoodattuna alavirtaan.
- →Jokaisella vastauksella on pysyvä response_id - käytä sitä idempotenssiavaimena, sillä uudelleen yritetty toimitus käyttää samaa tunnusta.
- →Epäonnistunut toimitus yritetään uudelleen yhteensä 3 kertaa (heti, 30 s, 5 min) ennen kuin se merkitään epäonnistuneeksi - onnistumiseksi vaaditaan 2xx-vastaus, uudelleenohjauksia ei seurata.