Webhook krajnje točke

Sustav web-dojavnika temeljen na krajnjim točkama omogućuje Vam registraciju više odredišta po organizaciji, pri čemu svako ima vlastitu tajnu, vlastiti status i vlastitu pretplatu na podskup vrsta događaja. Ovo je preporučeni model za sve nove integracije.

Usporedite sa zastarjelim web-dojavnikom s jednim URL-om, koji je zadržan radi kompatibilnosti sa starijim verzijama, ali podržava samo jedan URL po organizaciji.

Krajnje točke

MetodaPutanjaPotrebna ulogaOpis
GET/v1/developer/webhook-endpointsadmin+Prikaži krajnje točke
POST/v1/developer/webhook-endpointsadmin+Stvori krajnju točku
PATCH/v1/developer/webhook-endpoints/{endpoint_id}admin+Ažuriraj oznaku / URL / događaje / status
DELETE/v1/developer/webhook-endpoints/{endpoint_id}admin+Izbriši krajnju točku
POST/v1/developer/webhook-endpoints/{endpoint_id}/testadmin+Pošalji potpisanu testnu isporuku

Objekt krajnje točke

{
  "id": "c4d5e6f7-...",
  "label": "Production — Call events",
  "url": "https://example.com/thunderphone/hook",
  "events": ["telephony.incoming", "telephony.complete"],
  "status": "active",
  "secret_hint": "a1b2…9f0e",
  "created_at": "2026-04-20T18:24:10.113Z",
  "updated_at": "2026-04-20T18:24:10.113Z"
}
PoljeVrstaOpis
idUUIDID krajnje točke
labelstringNaziv za prikaz, 1–120 znakova
urlstringHTTPS URL; http://localhost dopušten za razvoj
eventsarray of stringPretplaćene vrste događaja (pogledajte valjane vrijednosti). Prazno polje pretplaćuje na sve događaje
statusstringactive, disabled (ručno pauzirano) ili failing (automatski postavljeno kada isporuka iscrpi raspored ponovnih pokušaja od 24 h bez ijednog 2xx odgovora)
secret_hintstringPrva 4 i posljednja 4 znaka tajne za potpisivanje s trotočkom (a1b2…9f0e) — dovoljno za usporedbu s tajnom koju ste lokalno spremili, bez otkrivanja cijele vrijednosti
created_at, updated_attimestamp

Valjane vrste događaja

events se provjerava prema ovom točnom skupu — vrijednosti izvan popisa vraćaju 400. Za oblik korisnog tereta svake vrste pogledajte Katalog događaja.

Statusi krajnjih točaka


Prikaži krajnje točke

curl https://api.thunderphone.com/v1/developer/webhook-endpoints \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY"

Vraća polje objekata krajnjih točaka.


Izradite krajnju točku

curl -X POST https://api.thunderphone.com/v1/developer/webhook-endpoints \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "label":  "Production — Call events",
    "url":    "https://example.com/thunderphone/hook",
    "events": ["telephony.incoming", "telephony.complete"]
  }'
result = requests.post(
    "https://api.thunderphone.com/v1/developer/webhook-endpoints",
    headers={"Authorization": "Bearer sk_live_YOUR_API_KEY"},
    json={
        "label":  "Production — Call events",
        "url":    "https://example.com/thunderphone/hook",
        "events": ["telephony.incoming", "telephony.complete"],
    },
).json()
secret = result["secret"]
endpoint_id = result["id"]

Polja zahtjeva

PoljeVrstaObaveznoOpis
labelniz znakovada1–120 znakova
urlniz znakovadaHTTPS URL (http je dopušten samo za localhost / 127.0.0.1)
eventspoljenePrazno ili izostavljeno polje pretplaćuje na sve događaje. Moraju se koristiti vrijednosti navedene u odjeljku Važeće vrste događaja; duplikati se uklanjaju

Vraća 201 Created s objektom krajnje točke i dodatnim poljem najviše razine secret koje sadrži neobrađeni ključ za potpisivanje — heksadecimalni niz od 48 znakova:

{
  "id": "c4d5e6f7-…",
  "label": "Production — Call events",
  "url": "https://example.com/thunderphone/hook",
  "events": ["telephony.incoming", "telephony.complete"],
  "status": "active",
  "secret_hint": "a1b2…9f0e",
  "created_at": "2026-04-20T18:24:10.113Z",
  "updated_at": "2026-04-20T18:24:10.113Z",
  "secret": "a1b2c37e08d94f5b16a2c8d90e7f3a4b5c6d7e8f90a19f0e"
}

Ažurirajte krajnju točku

curl -X PATCH https://api.thunderphone.com/v1/developer/webhook-endpoints/c4d5e6f7-... \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "label":  "Production — Call + Grade events",
    "events": ["telephony.incoming", "telephony.complete", "call.graded"]
  }'
PoljeVrstaOpis
labelniz znakova
urlniz znakova
eventspolje
statusniz znakovaactive ili disabled. Postavite active da biste ponovno omogućili krajnju točku koju je poslužitelj označio kao failing

Vraća 200 OK s ažuriranim objektom krajnje točke.


Pošaljite testnu isporuku

Pošaljite sintetički događaj webhook.test jednoj krajnjoj točki putem standardnog tijeka isporuke, uključujući kanonsku JSON serijalizaciju, X-ThunderPhone-Signature, bilježenje isporuke i evidentiranje ponovnih pokušaja. Test je usmjeren na odabranu krajnju točku bez obzira na njezin filtar events.

curl -X POST https://api.thunderphone.com/v1/developer/webhook-endpoints/c4d5e6f7-.../test \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY"

Krajnja točka prima omotnicu poput ove:

{
  "data": {
    "message": "ThunderPhone webhook test",
    "sent_at": "2026-07-17T20:12:34.567890+00:00"
  },
  "event_id": "2ad6507c-7d19-4498-9b2d-7e8f944ab5a1",
  "type": "webhook.test"
}

API vraća 200 OK nakon prvog pokušaja, čak i ako odredište vrati pogrešku. Provjerite success, status, response_code i error za ishod isporuke:

{
  "success": true,
  "event_id": "2ad6507c-7d19-4498-9b2d-7e8f944ab5a1",
  "event_type": "webhook.test",
  "status": "delivered",
  "response_code": 204,
  "error": ""
}

webhook.test je sintetički i ne može se dodati pretplati krajnje točke na events. Ako prvi pokušaj ne uspije, isporuka slijedi isti raspored ponovnih pokušaja kao i uobičajene isporuke događaja.


Izbrišite krajnju točku

curl -X DELETE https://api.thunderphone.com/v1/developer/webhook-endpoints/c4d5e6f7-... \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY"

Vraća 204 No Content. Isporuka na URL odmah prestaje; ponovni pokušaji u tijeku se prekidaju.


Povezano