Open in
Webhook galiniai taškai
Tvarkykite kelis webhook URL su kiekvienam galiniam taškui skirtais slaptaisiais raktais ir įvykių filtrais.
Galinių taškų pagrindu veikianti webhook sistema leidžia užregistruoti kelias paskirties vietas kiekvienai organizacijai, kurių kiekviena turi savo slaptąjį raktą, savo būseną ir savo prenumeratą į dalį įvykių tipų. Tai rekomenduojamas modelis visoms naujoms integracijoms.
Palyginkite su senąja vieno URL webhook sistema, kuri palaikoma dėl atgalinio suderinamumo, tačiau vienai organizacijai palaiko tik vieną URL.
Galiniai taškai
| Metodas | Kelias | Reikalingas vaidmuo | Aprašymas |
|---|---|---|---|
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ą |
GET | /v1/developer/webhook-deliveries | admin+ | Peržiūrėti naujausius galinių taškų ir senosios sistemos pristatymo rezultatus |
Galinio taško objektas
{
"id": "c4d5e6f7-...",
"label": "Production — Call events",
"url": "https://example.com/thunderphone/hook",
"events": ["telephony.incoming", "telephony.complete"],
"status": "active",
"agent_id": 42,
"agent_name": "Support Agent",
"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; kuriant leidžiama naudoti http://localhost |
events | eilučių masyvas | Prenumeruojamų įvykių tipai (žr. galiojančias reikšmes). Tuščias masyvas prenumeruoja visus įvykius, išskyrus tik aiškiai pasirenkamus kiekvieno dialogo žingsnio įvykius (telephony.turn / web.turn) |
status | string | active, disabled (pristabdytas rankiniu būdu) arba failing (nustatoma automatiškai, kai pristatymas išnaudoja 24 val. pakartotinių bandymų grafiką negavęs nė vieno 2xx atsakymo) |
agent_id | integer | null | Agentas, kuriam taikomas šis galinis taškas; null reiškia visos organizacijos mastą |
agent_name | string | null | Agento, kuriam taikomas galinis taškas, pavadinimas arba null, jei galinis taškas skirtas visai organizacijai |
secret_hint | string | Pirmi 4 ir paskutiniai 4 pasirašymo slaptojo rakto simboliai su daugtaškiu (a1b2…9f0e) — pakanka palyginti su vietoje išsaugotu slaptuoju raktu neatskleidžiant visos reikšmės |
created_at, updated_at | timestamp |
Galiojantys įvykių tipai
events tikrinamas pagal šį tikslų rinkinį — už sąraše nenurodytas reikšmes
grąžinamas 400. Kiekvieno tipo naudingosios apkrovos struktūrą žr. Įvykių kataloge.
telephony.incoming,telephony.complete,telephony.tool,telephony.turnweb.incoming,web.complete,web.tool,web.turncall.graded,call.data_extractedcampaign.completedissue.reported,issue.escalatedtest-call.completedalert.triggered
issue.escalated neturi agento konteksto ir pristatomas tik
visos organizacijos galiniams taškams.
voice.ready ir voice.failed negalima pasirinkti aiškiai. Norėdami juos gauti,
sukurkite visos organizacijos galinį tašką su events: []. Tuščias įvykių
sąrašas gauna kiekvieną palaikomą įvykį, išskyrus telephony.turn ir web.turn,
kuriuos būtina pasirinkti aiškiai.
Galinių taškų būsenos
active— pristatymai vyksta įprastai.disabled— rankiniu būdu pristabdytas naudojantPATCH. Užklausos nesiunčiamos. Mes niekada nekeičiamedisabledgalinio taško būsenos; sprendimą vėl ją nustatyti įactivevisada priimate jūs.failing— nustatoma automatiškai, kai pristatymas į galinį tašką išnaudoja visą pakartotinių bandymų grafiką (8 bandymai per 24 valandas) ir nė karto negauna 2xx atsakymo. Sugedęs galinis taškas negauna jokio tolesnio srauto. Sutaisę galinį tašką, naudodamiPATCHpakeiskite jo būseną atgal įactive; pristatymai, kurių pakartotinių bandymų grafikas dar nepasibaigė, tęsiami nuo tos vietos, kur buvo sustoję.
Išvardyti galinius taškus
curl https://api.thunderphone.com/v1/developer/webhook-endpoints \
-H "Authorization: Bearer sk_live_YOUR_API_KEY"Grąžina galinių taškų objektų masyvą.
Perduokite ?agent_id=42, kad būtų grąžinti tik tam agentui priskirti galiniai taškai.
Agentui priskirti galiniai taškai
Visos organizacijos galiniai taškai gauna kiekvieną atitinkantį įvykį. Galinis taškas su
agent_id gauna tik atitinkančius įvykius, susijusius su skambučiais, kuriuos apdorojo tas agentas;
įvykiai be agento konteksto, pvz., alert.triggered, jo niekada nepasiekia. Šiuos
galinius taškus taip pat galite kurti ir tvarkyti agento kūrimo priemonės
skiltyje Žiniatinklio kabliukai.
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žsisako visus įvykius, išskyrus telephony.turn / web.turn, kuriems būtina aiški prenumerata. Naudokite reikšmes, nurodytas skiltyje Galiojantys įvykių tipai; pasikartojimai pašalinami |
agent_id | sveikasis skaičius | null | ne | Apribokite pristatymą šios organizacijos agentui; nenurodykite arba naudokite null, jei galinis taškas skirtas visai organizacijai |
Grąžina 201 Created su galinio taško objektu ir papildomu
aukščiausio lygio lauku secret, kuriame pateikiamas 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 vėl įjungtumėte galinį tašką, kurį serveris pažymėjo kaip failing |
agent_id | sveikasis skaičius | null | Nustatykite agento ID, kad apribotumėte galinį tašką, arba null, kad jis būtų skirtas visai organizacijai |
Grąžina 200 OK su atnaujintu galinio taško objektu.
Siųsti bandomąjį pristatymą
Siųskite sintetinį webhook.test įvykį į vieną galinį tašką naudodami įprastą
pristatymo srautą, įskaitant kanoninį JSON serializavimą,
X-ThunderPhone-Signature, pristatymo registravimą ir pakartotinių bandymų apskaitą.
Testas nukreipiamas į pasirinktą galinį tašką, neatsižvelgiant į jo events filtrą.
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į apvalkalą:
{
"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 nustatyti pristatymo rezultatą, patikrinkite 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 įtraukti į galinio taško events
prenumeratą. Jei pirmasis bandymas nepavyksta, pristatymui taikomas toks pats
pakartotinių bandymų grafikas kaip ir įprastiems įvykių pristatymams.
Norėdami sukonfigūruoti aktyviklį pagal tikrą įvykio struktūrą, perduokite pasirenkamą
event_type. Pristatymas vis tiek yra sintetinis ir jame yra "sample": true;
su skambučiais susijusiuose pavyzdžiuose naudojami call_id: 0 ir agent_id: 0.
curl -X POST https://api.thunderphone.com/v1/developer/webhook-endpoints/c4d5e6f7-.../test \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"event_type":"call.graded"}'event_type priima bet kurią reikšmę iš Galiojantys įvykių tipai.
Jo nenurodžius išsaugoma bendroji webhook.test elgsena.
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.
Derinti pristatymus
Prieš nuspręsdami, kad žiniatinklio kabliukas nebuvo išsiųstas, patikrinkite
GET /v1/developer/webhook-deliveries.
Jame rodomi naujausi bandymai iš abiejų žiniatinklio kabliukų sistemų, įskaitant skambučio ID,
URL kilmę, HTTP būseną, bandymų skaičių, leidžiamųjų sąraše esančią gedimo kategoriją ir kito
pakartotinio bandymo laiką. Jis niekada negrąžina įvykio duomenų, transkripcijos, išsaugoto klaidos teksto,
atsakymo turinio ar URL kelio.
Tą pačią naujausią istoriją taip pat galite matyti Agentai → pasirinkite agentą → Žiniatinklio kabliukai → Naujausi pristatymai. Eilutėse rodoma galinio taško etiketė ir URL kilmė, naudota naujausiam bandymui. Tai yra veikimo būsena, o ne nekintamas audito žurnalas: ištrynus galinį tašką taip pat ištrinamos jo pristatymo eilutės.
Jei n8n pateikia 404, pirmiausia patvirtinkite, kad darbo eiga yra aktyvi, priima POST ir naudoja
gamybinį žiniatinklio kabliuko URL, o ne bandomąjį URL. 401 arba 403 rodo
autentifikavimo arba parašo tikrinimo problemą; laiko limitų viršijimai rodo paskirties vietos delsą
arba pasiekiamumą; TLS klaidos rodo sertifikatų grandinės, pagrindinio kompiuterio pavadinimo arba galiojimo pabaigos problemą.