Preskoči na sadržaj
Sursa Developers

Pregled webhookova

Sursa bilježi događaj za svaku važnu promjenu: kartica je objavljena, provjerena ili arhivirana, obavijest je pročitana, pitanje je ostalo bez odgovora. Događaje možete primati na dva načina i koristiti oba zajedno:

WebhookoviFeed događaja
KakoSursa šalje svaki događaj na vašu HTTPS adresu čim se dogodi.Čitate GET /v1/webhook-events kad želite.
KašnjenjeSekunde.Onoliko često koliko provjeravate.
PotrebnoJavni HTTPS primatelj.Samo API ključ s ulogom admin i opsegom webhooks:manage.
Prikladno zaReagiranje na promjene: obavijesti, sinkronizacija, pokretanje tijeka rada.Skupne poslove, nadoknadu nakon zastoja, usklađivanje.

Oba nose iste događaje s istim ID-ovima. Svaki se događaj čuva u feedu 30 dana, bez obzira na to je li neki webhook bio pretplaćen na njega.

Događaj

{
  "id": "evt_0123456789abcdef0123456789abcdef",
  "type": "card.updated",
  "created_at": "2026-10-24T10:00:03Z",
  "org_id": 1,
  "api_version": "1.60.0",
  "sequence": 1042,
  "object": {"type": "card", "id": "3f2c9a7e-5b1d-4c8e-9f0a-1b2c3d4e5f60"},
  "payload": "full",
  "data": {
    "card": {"id": "3f2c9a7e-5b1d-4c8e-9f0a-1b2c3d4e5f60", "title": "Refund policy", "collection": "support", "version": 4},
    "actor_id": 7,
    "previous_attributes": {"title": "Refunds"}
  },
  "test": false
}
PoljeZnačenje
idID događaja, evt_ i 32 heksadekadska znaka. Isti je u svakom pokušaju isporuke i u feedu.
typeŠto se dogodilo, u obliku <object>.<past-tense verb>: card.updated, access_request.resolved.
created_atKad se promjena dogodila, u UTC-u.
api_versionVerzija API-ja čiju shemu slijedi data.
objectVrsta i ID objekta na koji se događaj odnosi.
dataPojedinosti. Njegov oblik ovisi o vrsti i opisan je u katalogu događaja.
data.previous_attributesU događajima *.updated: ranije vrijednosti polja koja su se promijenila.
sequence, payload, testSamo u isporukama webhookova: mjesto u redoslijedu webhooka, način tijela isporuke i je li riječ o probnom događaju.

data sadrži samo ono što bi svaki čitatelj objekta mogao vidjeti putem API-ja. Nikada ne sadrži popise pristupa, dopuštenja drugih osoba ni skrivena polja. Razlozi u događajima kratki su neutralni kodovi kao što su no_hits, restricted ili index_failed.

Vrste događaja

Događaji obuhvaćaju ova područja:

PodručjePrimjeri
Karticecard.created, card.updated, card.published, card.archived, card.deleted, card.indexed, card.index_failed
Provjeracard.verified, card.unverified, verification.expired, verification.requested
Strukturacollection.created, folder.updated
Suradnjacomment.created, draft.publish_requested, announcement.sent, announcement.read
Odgovoriquestion.unanswered, question.feedback_created, access_request.created
Osobe i pristupuser.created, user.deactivated, group.member_added, api_key.expiring
Izvori i uvozsource.sync_completed, import.sync_completed, import.document_failed
Poslovijob.completed, job.failed, export.ready
Webhookoviwebhook.endpoint_disabled, webhook.ping

Potpuni popis sa shemom i primjerom svakog događaja nalazi se u katalogu događaja u referenci API-ja. GET /v1/webhooks/catalog vraća vrste dostupne u vašoj instalaciji.

S vremenom se dodaju nove vrste događaja, a postojeći događaji dobivaju nova polja. Vrste događaja nikada se ne preimenuju i ne uklanjaju. Vaš primatelj mora preskakati vrste i polja koja ne poznaje.

Tko što prima

Webhook prima događaj samo ako mu je objekt događaja vidljiv, na isti način kao API ključu: prema njegovoj ulozi, podatkovnom profilu i zbirkama. Webhook ograničen na zbirku support nikada ne prima događaje o karticama u zbirci finance. Događaji o osobama, ključevima, izvorima, uvozima, poslovima, izvozima, naplati, aplikacijama i samim webhookovima idu samo webhookovima s ulogom admin.

Unutar toga svaki webhook bira svoje događaje:

  • prema vrsti, pomoću maski: card.* za svaki događaj kartice, * za svaki događaj;
  • prema zbirci i oznaci, za događaje kartica.

Način tijela isporuke webhooka je full (događaj s data, zadano) ili thin (događaj bez data: vaš primatelj čita objekt putem API-ja vlastitim ključem i uvijek vidi njegovo trenutačno stanje).

Ukratko o isporuci

  • HTTPS POST s događajem kao JSON-om, potpisan tajnom webhooka u dva formata: Standard Webhooks (webhook-signature) i ranijem X-KB-Signature.
  • Svaki odgovor 2xx unutar 10 sekundi smatra se uspjehom.
  • Neuspjela isporuka ponavlja se gotovo tri dana sa sve duljim stankama. Retry-After u odgovoru 429 ili 503 poštuje se; 410 isključuje webhook; 10 neuspjeha zaredom pauzira ga dok se njegov rad ne nastavi.
  • Isporuke jednom webhooku šalju se strogo redom. Spori webhook ne odgađa druge webhookove.
  • Isti događaj može stići više puta: duplikate odbacujte prema webhook-id.

Primanje webhookova korak po korak prikazuje potpunog primatelja, s provjerom potpisa u Node.js-u, Pythonu i Go-u.

Upravljanje webhookovima

ZadatakOperacija
Stvaranje webhooka i dohvaćanje njegove tajnePOST /v1/webhooks
Promjena adrese, događaja ili stanjaPATCH /v1/webhooks/{webhook_id}
Slanje probnog događajaPOST /v1/webhooks/{webhook_id}/test
Rotacija tajnePOST /v1/webhooks/{webhook_id}/rotate-secret
Nastavak rada pauziranog webhookaPOST /v1/webhooks/{webhook_id}/resume
Pregled isporuka i odgovoraGET /v1/webhooks/{webhook_id}/deliveries
Ponovno slanje isporukePOST /v1/webhooks/{webhook_id}/deliveries/{delivery_id}/redeliver

Za upravljanje webhookovima potreban je ključ s ulogom admin i opsegom webhooks:manage ili administrator u administratorskom sučelju. Organizacija može imati do 20 webhookova. Webhookovi su dio plana organizacije; bez njih ove operacije odgovaraju s 403 i kodom webhooks.feature_disabled.