Webhook galiniai taškai
Galiniais taškais pagrįsta žiniatinklio kabliukų sistema leidžia užregistruoti kelias paskirties vietas vienai organizacijai, kiekvieną su atskira paslaptimi, atskira būsena ir atskira pasirinktų įvykių tipų prenumerata. Tai rekomenduojamas modelis visoms naujoms integracijoms.
Palyginkite su senstelėjusiu vieno URL žiniatinklio kabliuku, kuris išlaikomas siekiant atgalinio suderinamumo, tačiau palaiko tik vieną URL vienai organizacijai.
Galiniai taškai
| Metodas | Kelias | Reikalingas vaidmuo | Aprašas |
|---|---|---|---|
GET | /v1/developer/webhook-endpoints | admin+ | Išvardyti galinius taškus |
POST | /v1/developer/webhook-endpoints | admin+ | Sukurti galinį tašką |
PATCH | /v1/developer/webhook-endpoints/{endpoint_id} | admin+ | Atnaujinti etiketę / URL / įvykius / būseną |
DELETE | /v1/developer/webhook-endpoints/{endpoint_id} | admin+ | Ištrinti galinį tašką |
POST | /v1/developer/webhook-endpoints/{endpoint_id}/test | admin+ | Siųsti pasirašytą bandomąjį pristatymą |
Galinio taško objektas
{
"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"
}
| Laukas | Tipas | Aprašas |
|---|---|---|
id | UUID | Galinio taško ID |
label | string | Rodomas pavadinimas, 1–120 simbolių |
url | string | HTTPS URL; kūrimui leidžiama naudoti http://localhost |
events | array of string | Prenumeruojami įvykių tipai (žr. galiojančias reikšmes). Tuščias masyvas prenumeruoja visus įvykius |
status | string | active, disabled (rankiniu būdu pristabdytas) arba failing (nustatoma automatiškai, kai pristatymas išnaudoja 24 val. pakartotinių bandymų grafiką negavęs nė vieno 2xx) |
secret_hint | string | Pirmi 4 ir paskutiniai 4 pasirašymo paslapties simboliai su daugtaškiu (a1b2…9f0e) — pakanka sulyginti su vietoje išsaugota paslaptimi neatskleidžiant visos reikšmės |
created_at, updated_at | timestamp |
Galiojantys įvykių tipai
events tikrinamas pagal šį tikslų rinkinį — sąraše nesančios reikšmės
grąžina 400. Kiekvieno tipo naudingojo krūvio struktūrą žr. Įvykių kataloge.
telephony.incoming,telephony.complete,telephony.toolweb.incoming,web.complete,web.toolcall.gradedissue.reportedtest-call.completedalert.triggered
Galinių taškų būsenos
active— pristatymai vyksta įprastai.disabled— rankiniu būdu pristabdytas naudojantPATCH. Užklausos nesiunčiamos. Niekada nekeičiamedisabledgalinio taško būsenos; sprendimą vėl nustatytiactivevisada priimate jūs.failing— nustatoma automatiškai, kai pristatymas į galinį tašką išnaudoja visą pakartotinių bandymų grafiką (8 bandymai per 24 valandas) taip ir negavęs 2xx. Į neveikiantį galinį tašką tolesnis srautas nesiunčiamas. Sutvarkę galinį tašką, naudokitePATCH, kad jo būseną vėl nustatytumėte įactive; pristatymai, kurių pakartotinių bandymų grafikas dar nesibaigė, tęsiami nuo vietos, kur buvo sustoję.
Galinių taškų sąrašas
curl https://api.thunderphone.com/v1/developer/webhook-endpoints \
-H "Authorization: Bearer sk_live_YOUR_API_KEY"
Grąžinamas galinių taškų objektų masyvas.
Sukurkite galinį tašką
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"]
Užklausos laukai
| Laukas | Tipas | Privalomas | Aprašymas |
|---|---|---|---|
label | eilutė | taip | 1–120 simbolių |
url | eilutė | taip | HTTPS URL (http leidžiamas tik localhost / 127.0.0.1) |
events | masyvas | ne | Tuščias arba nenurodytas laukas užprenumeruoja visus įvykius. Būtina naudoti reikšmes, nurodytas Galiojantys įvykių tipai; dublikatai pašalinami |
Grąžina 201 Created su galinio taško objektu ir papildomu
aukščiausio lygio lauku secret, kuriame yra neapdorotas pasirašymo raktas —
48 simbolių šešioliktainė eilutė:
{
"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"
}
Atnaujinkite galinį tašką
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"]
}'
| Laukas | Tipas | Aprašymas |
|---|---|---|
label | eilutė | |
url | eilutė | |
events | masyvas | |
status | eilutė | active arba disabled. Nustatykite active, kad iš naujo įjungtumėte galinį tašką, kurį serveris pažymėjo kaip failing |
Grąžina 200 OK su atnaujintu galinio taško objektu.
Siųskite bandomąjį pristatymą
Nusiųskite sintetinį webhook.test įvykį į vieną galinį tašką naudodami įprastą
pristatymo apdorojimo grandinę, įskaitant kanoninį JSON serializavimą,
X-ThunderPhone-Signature, pristatymo įrašymą ir pakartotinių bandymų apskaitą.
Testas nukreipiamas į pasirinktą galinį tašką, nepaisant jo events filtro.
curl -X POST https://api.thunderphone.com/v1/developer/webhook-endpoints/c4d5e6f7-.../test \
-H "Authorization: Bearer sk_live_YOUR_API_KEY"
Galinis taškas gauna tokį paketą:
{
"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 grąžina 200 OK po pirmojo bandymo, net jei paskirties vieta
grąžina klaidą. Norėdami patikrinti pristatymo rezultatą, peržiūrėkite success,
status, response_code ir error:
{
"success": true,
"event_id": "2ad6507c-7d19-4498-9b2d-7e8f944ab5a1",
"event_type": "webhook.test",
"status": "delivered",
"response_code": 204,
"error": ""
}
webhook.test yra sintetinis ir jo negalima pridėti prie galinio taško events
prenumeratos. Jei pirmasis bandymas nepavyksta, pristatymas vykdomas pagal tą patį
pakartotinių bandymų tvarkaraštį kaip ir įprasti įvykių pristatymai.
Ištrinti galinį tašką
curl -X DELETE https://api.thunderphone.com/v1/developer/webhook-endpoints/c4d5e6f7-... \
-H "Authorization: Bearer sk_live_YOUR_API_KEY"
Grąžina 204 No Content. Pristatymas į URL nedelsiant sustabdomas;
vykdomi pakartotiniai bandymai nutraukiami.