Open in
Webhook ఎండ్పాయింట్లు
ప్రతి ఎండ్పాయింట్కు ప్రత్యేక సీక్రెట్లు మరియు ఈవెంట్ ఫిల్టర్లతో బహుళ webhook URLలను నిర్వహించండి.
ఎండ్పాయింట్ ఆధారిత webhook వ్యవస్థ ప్రతి సంస్థకు బహుళ గమ్యస్థానాలను నమోదు చేయడానికి మిమ్మల్ని అనుమతిస్తుంది; ప్రతి దానికి దాని స్వంత సీక్రెట్, స్థితి, మరియు ఈవెంట్ రకాల ఉపసమితికి దాని స్వంత సబ్స్క్రిప్షన్ ఉంటాయి. అన్ని కొత్త ఇంటిగ్రేషన్లకు ఇది సిఫార్సు చేయబడిన మోడల్.
వెనుకబడిన అనుకూలత కోసం ఉంచబడినప్పటికీ, ప్రతి సంస్థకు ఒకే URLకు మాత్రమే మద్దతు ఇచ్చే లెగసీ సింగిల్-URL webhookతో పోల్చండి.
ఎండ్పాయింట్లు
| పద్ధతి | పాత్ | అవసరమైన పాత్ర | వివరణ |
|---|---|---|---|
GET | /v1/developer/webhook-endpoints | admin+ | ఎండ్పాయింట్లను జాబితా చేయండి |
POST | /v1/developer/webhook-endpoints | admin+ | ఒక ఎండ్పాయింట్ను సృష్టించండి |
PATCH | /v1/developer/webhook-endpoints/{endpoint_id} | admin+ | లేబుల్ / URL / ఈవెంట్లు / స్థితిని నవీకరించండి |
DELETE | /v1/developer/webhook-endpoints/{endpoint_id} | admin+ | ఒక ఎండ్పాయింట్ను తొలగించండి |
POST | /v1/developer/webhook-endpoints/{endpoint_id}/test | admin+ | సంతకం చేసిన పరీక్ష డెలివరీని పంపండి |
GET | /v1/developer/webhook-deliveries | admin+ | ఇటీవలి ఎండ్పాయింట్ మరియు లెగసీ డెలివరీ ఫలితాలను పరిశీలించండి |
ఎండ్పాయింట్ ఆబ్జెక్ట్
{
"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"
}| ఫీల్డ్ | రకం | వివరణ |
|---|---|---|
id | UUID | ఎండ్పాయింట్ id |
label | string | ప్రదర్శన పేరు, 1–120 అక్షరాలు |
url | string | HTTPS URL; డెవలప్మెంట్ కోసం http://localhost అనుమతించబడుతుంది |
events | string యొక్క array | సబ్స్క్రైబ్ చేసిన ఈవెంట్ రకాలు (చెల్లుబాటు అయ్యే విలువలు చూడండి). ఖాళీ array స్పష్టంగా మాత్రమే ఎంచుకోగల ప్రతి-టర్న్ ఈవెంట్లు (telephony.turn / web.turn) మినహా అన్ని ఈవెంట్లకు సబ్స్క్రైబ్ అవుతుంది |
status | string | active, disabled (మాన్యువల్గా పాజ్ చేయబడింది), లేదా failing (ఒక్క 2xx కూడా లేకుండా డెలివరీ తన 24 గంటల రీట్రై షెడ్యూల్ను పూర్తిచేసినప్పుడు ఆటోమేటిక్గా సెట్ అవుతుంది) |
agent_id | integer | null | ఈ ఎండ్పాయింట్ పరిమితం చేయబడిన ఏజెంట్; null అంటే సంస్థ-వ్యాప్తంగా వర్తిస్తుంది |
agent_name | string | null | పరిమితం చేయబడిన ఏజెంట్ పేరు, లేదా సంస్థ-వ్యాప్త ఎండ్పాయింట్కు null |
secret_hint | string | ఎలిప్సిస్తో (a1b2…9f0e) సైనింగ్ సీక్రెట్లోని మొదటి 4, చివరి 4 అక్షరాలు — పూర్తి విలువను బహిర్గతం చేయకుండా మీరు లోకల్గా సేవ్ చేసిన సీక్రెట్తో సరిపోల్చడానికి చాలు |
created_at, updated_at | timestamp |
చెల్లుబాటు అయ్యే ఈవెంట్ రకాలు
events ఈ ఖచ్చితమైన సెట్తో ధృవీకరించబడుతుంది — జాబితా వెలుపలి విలువలు
400ను తిరిగి ఇస్తాయి. ప్రతి రకానికి చెందిన పేలోడ్ ఆకృతి కోసం ఈవెంట్ల కేటలాగ్ చూడండి.
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కు ఏజెంట్ సందర్భం ఉండదు మరియు ఇది సంస్థ-వ్యాప్త
ఎండ్పాయింట్లకు మాత్రమే డెలివర్ చేయబడుతుంది.
voice.ready, voice.failedలను స్పష్టంగా ఎంచుకోలేరు. వాటిని స్వీకరించడానికి,
events: []తో సంస్థ-వ్యాప్త ఎండ్పాయింట్ను సృష్టించండి. ఖాళీ ఈవెంట్ జాబితా
స్పష్టంగా ఎంచుకోవాల్సిన telephony.turn, web.turn మినహా మద్దతు ఉన్న ప్రతి ఈవెంట్ను స్వీకరిస్తుంది.
ఎండ్పాయింట్ స్థితులు
active— డెలివరీలు సాధారణంగా కొనసాగుతాయి.disabled—PATCHద్వారా మాన్యువల్గా పాజ్ చేయబడింది. ఎటువంటి రిక్వెస్ట్లు పంపబడవు. మేముdisabledఎండ్పాయింట్ స్థితిని ఎప్పుడూ మార్చము; దాన్ని తిరిగిactiveకు మార్చడం ఎల్లప్పుడూ మీ నిర్ణయం.failing— ఎండ్పాయింట్కు డెలివరీ ఎప్పుడూ 2xx పొందకుండా తన మొత్తం రీట్రై షెడ్యూల్ను (24 గంటల్లో 8 ప్రయత్నాలు) పూర్తిచేసినప్పుడు ఆటోమేటిక్గా సెట్ అవుతుంది. విఫలమవుతున్న ఎండ్పాయింట్కు ఇకపై ట్రాఫిక్ అందదు. ఎండ్పాయింట్ సరిచేయబడిన తర్వాత, దాని స్థితినిPATCHతో తిరిగిactiveకు మార్చండి; ఇంకా రీట్రై షెడ్యూల్ పూర్తికాని డెలివరీలు తాము ఆపిన చోటు నుంచే కొనసాగుతాయి.
ఎండ్పాయింట్లను జాబితా చేయండి
curl https://api.thunderphone.com/v1/developer/webhook-endpoints \
-H "Authorization: Bearer sk_live_YOUR_API_KEY"ఎండ్పాయింట్ ఆబ్జెక్ట్ల arrayను తిరిగి ఇస్తుంది.
ఆ ఏజెంట్కు పరిమితం చేయబడిన ఎండ్పాయింట్లను మాత్రమే తిరిగి పొందడానికి ?agent_id=42ను పంపండి.
ఏజెంట్-పరిమిత ఎండ్పాయింట్లు
సంస్థ-వ్యాప్త ఎండ్పాయింట్లు సరిపోలే ప్రతి ఈవెంట్ను స్వీకరిస్తాయి. agent_idతో ఉన్న
ఎండ్పాయింట్ ఆ ఏజెంట్ నిర్వహించిన కాల్లకు సంబంధించిన సరిపోలే ఈవెంట్లను మాత్రమే స్వీకరిస్తుంది;
alert.triggered వంటి ఏజెంట్ సందర్భం లేని ఈవెంట్లు దానికి ఎప్పుడూ చేరవు. మీరు
ఏజెంట్ బిల్డర్లోని వెబ్హుక్లు విభాగం నుండి కూడా ఈ ఎండ్పాయింట్లను సృష్టించి నిర్వహించవచ్చు.
ఎండ్పాయింట్ను సృష్టించండి
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"]అభ్యర్థన ఫీల్డ్లు
| ఫీల్డ్ | రకం | తప్పనిసరి | వివరణ |
|---|---|---|---|
label | స్ట్రింగ్ | అవును | 1–120 అక్షరాలు |
url | స్ట్రింగ్ | అవును | HTTPS URL (http అనేది localhost / 127.0.0.1 కోసం మాత్రమే అనుమతించబడుతుంది) |
events | అరే | కాదు | ఖాళీగా ఉంచడం/వదిలివేయడం వల్ల, స్పష్టమైన సబ్స్క్రిప్షన్ అవసరమైన telephony.turn / web.turn మినహా అన్ని ఈవెంట్లకు సబ్స్క్రైబ్ అవుతుంది. చెల్లుబాటు అయ్యే ఈవెంట్ రకాలులో జాబితా చేసిన విలువలను తప్పనిసరిగా ఉపయోగించాలి; నకిలీలు తొలగించబడతాయి |
agent_id | ఇంటీజర్ | నల్ | కాదు | ఈ సంస్థలోని ఒక ఏజెంట్కు డెలివరీని పరిమితం చేయండి; సంస్థవ్యాప్త ఎండ్పాయింట్ కోసం వదిలివేయండి లేదా null ఉపయోగించండి |
ఎండ్పాయింట్ ఆబ్జెక్ట్తో పాటు, ముడి సైనింగ్ కీని కలిగిన అదనపు టాప్-లెవల్ secret ఫీల్డ్తో 201 Createdను అందిస్తుంది — ఇది 48-అక్షరాల హెక్స్ స్ట్రింగ్:
{
"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"
}ఎండ్పాయింట్ను నవీకరించండి
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"]
}'| ఫీల్డ్ | రకం | వివరణ |
|---|---|---|
label | స్ట్రింగ్ | |
url | స్ట్రింగ్ | |
events | అరే | |
status | స్ట్రింగ్ | active లేదా disabled. సర్వర్ failingగా గుర్తించిన ఎండ్పాయింట్ను మళ్లీ ప్రారంభించడానికి activeను సెట్ చేయండి |
agent_id | ఇంటీజర్ | నల్ | ఎండ్పాయింట్ను పరిమితం చేయడానికి ఏజెంట్ ఐడీని సెట్ చేయండి లేదా సంస్థవ్యాప్తంగా చేయడానికి nullను సెట్ చేయండి |
నవీకరించిన ఎండ్పాయింట్ ఆబ్జెక్ట్తో 200 OKను అందిస్తుంది.
పరీక్ష డెలివరీని పంపండి
కానానికల్ JSON సీరియలైజేషన్, X-ThunderPhone-Signature, డెలివరీ రికార్డింగ్, మరియు రీట్రై రికార్డు నిర్వహణతో సహా, సాధారణ డెలివరీ పైప్లైన్ను ఉపయోగించి ఒక ఎండ్పాయింట్కు సింథటిక్ webhook.test ఈవెంట్ను పంపండి.
టెస్ట్, ఎంచుకున్న ఎండ్పాయింట్ యొక్క events ఫిల్టర్తో సంబంధం లేకుండా దానినే లక్ష్యంగా చేసుకుంటుంది.
curl -X POST https://api.thunderphone.com/v1/developer/webhook-endpoints/c4d5e6f7-.../test \
-H "Authorization: Bearer sk_live_YOUR_API_KEY"ఎండ్పాయింట్కు ఈ విధమైన ఎన్వలప్ అందుతుంది:
{
"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 200 OKను తిరిగి ఇస్తుంది.
డెలివరీ ఫలితం కోసం success, status, response_code, మరియు errorను పరిశీలించండి:
{
"success": true,
"event_id": "2ad6507c-7d19-4498-9b2d-7e8f944ab5a1",
"event_type": "webhook.test",
"status": "delivered",
"response_code": 204,
"error": ""
}webhook.test సింథటిక్ అయినది, కాబట్టి దీనిని ఎండ్పాయింట్ యొక్క events
సబ్స్క్రిప్షన్కు జోడించలేరు. మొదటి ప్రయత్నం విఫలమైతే, డెలివరీ సాధారణ ఈవెంట్ డెలివరీల మాదిరిగానే
రీట్రై షెడ్యూల్ను అనుసరిస్తుంది.
నిజమైన ఈవెంట్ ఆకృతికి అనుగుణంగా ట్రిగ్గర్ను కాన్ఫిగర్ చేయడానికి, ఐచ్ఛికమైన
event_typeను పంపండి. డెలివరీ ఇప్పటికీ సింథటిక్గానే ఉంటుంది మరియు "sample": trueను కలిగి ఉంటుంది;
కాల్-సంబంధిత నమూనాలు call_id: 0 మరియు 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, చెల్లుబాటు అయ్యే ఈవెంట్ రకాలులోని ఏ విలువనైనా స్వీకరిస్తుంది.
దానిని ఇవ్వకపోతే సాధారణ webhook.test ప్రవర్తన కొనసాగుతుంది.
ఎండ్పాయింట్ను తొలగించండి
curl -X DELETE https://api.thunderphone.com/v1/developer/webhook-endpoints/c4d5e6f7-... \
-H "Authorization: Bearer sk_live_YOUR_API_KEY"204 No Contentను తిరిగి ఇస్తుంది. URLకు డెలివరీ వెంటనే ఆగిపోతుంది;
పురోగతిలో ఉన్న రీట్రైలు విరమించబడతాయి.
డెలివరీలను డీబగ్ చేయండి
వెబ్హుక్ పంపబడలేదని నిర్ధారించే ముందు,
GET /v1/developer/webhook-deliveriesను పరిశీలించండి.
ఇది కాల్ ID, URL మూలం, HTTP స్థితి, ప్రయత్నాల సంఖ్య, అనుమతించబడిన జాబితాలోని వైఫల్య వర్గం, మరియు తదుపరి
రీట్రై సమయంతో సహా రెండు వెబ్హుక్ వ్యవస్థల నుండి ఇటీవలి ప్రయత్నాలను చూపిస్తుంది. ఇది ఈవెంట్ పేలోడ్, ట్రాన్స్క్రిప్ట్, నిల్వ చేసిన ఎర్రర్ టెక్స్ట్,
రెస్పాన్స్ బాడీ, లేదా URL పాత్ను ఎప్పుడూ తిరిగి ఇవ్వదు.
మీరు ఇదే ఇటీవలి చరిత్రను ఏజెంట్లు → ఏజెంట్ను ఎంచుకోండి → వెబ్హుక్స్ → ఇటీవలి డెలివరీలులో కూడా చూడవచ్చు. వరుసలు ఎండ్పాయింట్ లేబుల్ మరియు తాజా ప్రయత్నం ఉపయోగించిన URL మూలాన్ని చూపిస్తాయి. ఇది మార్పులేని ఆడిట్ లాగ్ కాకుండా కార్యాచరణ స్థితి: ఎండ్పాయింట్ను తొలగించడం దాని డెలివరీ వరుసలను కూడా తొలగిస్తుంది.
n8n 404 కోసం, ముందుగా వర్క్ఫ్లో సక్రియంగా ఉందని, POSTను స్వీకరిస్తుందని, మరియు
టెస్ట్ URLకు బదులుగా ప్రొడక్షన్ వెబ్హుక్ URLను ఉపయోగిస్తోందని నిర్ధారించండి. 401 లేదా 403
అధీకరణ లేదా సిగ్నేచర్ ధృవీకరణను సూచిస్తుంది; టైమ్అవుట్లు గమ్యస్థాన లేటెన్సీ
లేదా లభ్యతను సూచిస్తాయి; TLS ఎర్రర్లు సర్టిఫికేట్ చైన్, హోస్ట్నేమ్, లేదా గడువు ముగింపును సూచిస్తాయి.