Salt la conținutul principal
Webhook-urile trimit date către sistemele dvs. în timp real atunci când au loc evenimente în Twenty — nu este necesară interogarea periodică. Folosiți-le pentru a menține sistemele externe sincronizate, a declanșa automatizări sau a trimite alerte.

Creează Webhook

  1. Mergeți la Setări → API-uri şi Webhooks → Webhooks
  2. Faceți clic pe + Creează webhook
  3. Introduceți URL-ul webhook-ului dvs. (trebuie să fie accesibil public)
  4. Faceți clic pe Salvare
Webhook-ul se activează imediat și începe să trimită notificări.

Administrează Webhooks

Editează: Faceți clic pe webhook → Actualizați URL-ul → Salvează Șterge: Faceți clic pe webhook → Șterge → Confirmă

Evenimente

Twenty trimite webhook-uri pentru aceste tipuri de evenimente:
EvenimentExemplu
Înregistrare creatăperson.created, company.created, note.created
Înregistrare actualizatăperson.updated, company.updated, opportunity.updated
Înregistrare ștearsăperson.deleted, company.deleted
Toate tipurile de evenimente sunt trimise către URL-ul webhook-ului dvs. Filtrarea evenimentelor poate fi adăugată în versiunile viitoare.

Formatul payload-ului

Fiecare webhook trimite un HTTP POST cu un corp JSON:
{
  "event": "person.created",
  "data": {
    "id": "abc12345",
    "firstName": "Alice",
    "lastName": "Doe",
    "email": "alice@example.com",
    "createdAt": "2025-02-10T15:30:45Z",
    "createdBy": "user_123"
  },
  "timestamp": "2025-02-10T15:30:50Z"
}
CâmpDescriere
evenimentCe s-a întâmplat (de ex., person.created)
dateÎnregistrarea completă care a fost creată/actualizată/ștearsă
marcaj temporalCând a avut loc evenimentul (UTC)
Răspundeți cu un status HTTP 2xx (200-299) pentru a confirma primirea. Răspunsurile non-2xx sunt înregistrate ca eșecuri de livrare.

Validarea Webhook-ului

Twenty semnează fiecare cerere webhook din motive de securitate. Validați semnăturile pentru a vă asigura că cererile sunt autentice.

Anteturi

AntetDescriere
X-Twenty-Webhook-SignatureSemnătură HMAC SHA256
X-Twenty-Webhook-TimestampMarcaj temporal al cererii

Pași de validare

  1. Obțineți marcajul temporal din X-Twenty-Webhook-Timestamp
  2. Creați șirul: {timestamp}:{JSON payload}
  3. Calculați HMAC SHA256 folosind secretul webhook-ului dvs.
  4. Comparați cu X-Twenty-Webhook-Signature

Exemplu (Node.js)

const crypto = require("crypto");

const timestamp = req.headers["x-twenty-webhook-timestamp"];
const payload = JSON.stringify(req.body);
const secret = "your-webhook-secret";

const stringToSign = `${timestamp}:${payload}`;
const expectedSignature = crypto
  .createHmac("sha256", secret)
  .update(stringToSign)
  .digest("hex");

const isValid = expectedSignature === req.headers["x-twenty-webhook-signature"];

Webhook-uri vs Fluxuri de lucru

MetodăDirecțieCaz de utilizare
Webhook-uriOUTNotificați automat sistemele externe despre orice modificare a unei înregistrări
Flux de lucru + Cerere HTTPOUTTrimiteți date în exterior cu logică personalizată (filtre, transformări)
Declanșator webhook în fluxul de lucruINPrimiți date în Twenty din sisteme externe
Pentru a primi date externe, consultați Configurați un declanșator Webhook.