వెబ్హుక్ ఎండ్పాయింట్లు
ఎండ్పాయింట్-ఆధారిత వెబ్హుక్ సిస్టమ్ ద్వారా మీరు ప్రతి సంస్థకు బహుళ గమ్యస్థానాలను నమోదు చేయవచ్చు. ప్రతి దానికి దాని స్వంత సీక్రెట్, స్వంత స్థితి, మరియు ఈవెంట్ రకాల ఉపసమితికి స్వంత సబ్స్క్రిప్షన్ ఉంటాయి. అన్ని కొత్త ఇంటిగ్రేషన్లకు ఇది సిఫార్సు చేయబడిన మోడల్.
వెనుకబడిన అనుకూలత కోసం ఉంచబడినప్పటికీ, ప్రతి సంస్థకు ఒక URLకు మాత్రమే మద్దతు ఇచ్చే లెగసీ సింగిల్-URL వెబ్హుక్తో పోల్చండి.
ఎండ్పాయింట్లు
| పద్ధతి | పాత్ | అవసరమైన పాత్ర | వివరణ |
|---|---|---|---|
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+ | సంతకం చేసిన పరీక్ష డెలివరీని పంపండి |
ఎండ్పాయింట్ ఆబ్జెక్ట్
{
"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"
}
| ఫీల్డ్ | రకం | వివరణ |
|---|---|---|
id | UUID | ఎండ్పాయింట్ id |
label | string | ప్రదర్శన పేరు, 1–120 అక్షరాలు |
url | string | HTTPS URL; డెవలప్మెంట్ కోసం http://localhost అనుమతించబడుతుంది |
events | స్ట్రింగ్ల శ్రేణి | సబ్స్క్రైబ్ చేసిన ఈవెంట్ రకాలు (చెల్లుబాటు అయ్యే విలువలు చూడండి). ఖాళీ శ్రేణి అన్ని ఈవెంట్లకు సబ్స్క్రైబ్ చేస్తుంది |
status | string | active, disabled (మాన్యువల్గా పాజ్ చేయబడింది), లేదా failing (ఒక డెలివరీ ఒక్క 2xx కూడా లేకుండా దాని 24 గంటల రీట్రై షెడ్యూల్ను పూర్తిగా ఉపయోగించినప్పుడు స్వయంచాలకంగా సెట్ చేయబడుతుంది) |
secret_hint | string | ఎలిప్సిస్తో (a1b2…9f0e) సంతకం చేసే సీక్రెట్లోని మొదటి 4 మరియు చివరి 4 అక్షరాలు — పూర్తి విలువను బహిర్గతం చేయకుండా, మీరు స్థానికంగా సేవ్ చేసిన సీక్రెట్తో సరిపోల్చడానికి సరిపోతాయి |
created_at, updated_at | టైమ్స్టాంప్ |
చెల్లుబాటు అయ్యే ఈవెంట్ రకాలు
events ఈ ఖచ్చితమైన సెట్కు వ్యతిరేకంగా ధృవీకరించబడుతుంది — జాబితా వెలుపలి
విలువలు 400ను తిరిగి ఇస్తాయి. ప్రతి రకం పేలోడ్ ఆకృతి కోసం
ఈవెంట్ల కేటలాగ్ చూడండి.
telephony.incoming,telephony.complete,telephony.toolweb.incoming,web.complete,web.toolcall.gradedissue.reportedtest-call.completedalert.triggered
ఎండ్పాయింట్ స్థితులు
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"
ఎండ్పాయింట్ ఆబ్జెక్ట్ల శ్రేణిని తిరిగి ఇస్తుంది.
ఎండ్పాయింట్ను సృష్టించండి
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 (localhost / 127.0.0.1 కోసం మాత్రమే http అనుమతించబడుతుంది) |
events | అరే | కాదు | ఖాళీగా ఉంటే లేదా ఇవ్వకపోతే అన్ని ఈవెంట్లకు సబ్స్క్రైబ్ అవుతుంది. చెల్లుబాటు అయ్యే ఈవెంట్ రకాలులో జాబితా చేసిన విలువలను తప్పనిసరిగా ఉపయోగించాలి; నకిలీలు తొలగించబడతాయి |
ఎండ్పాయింట్ ఆబ్జెక్ట్తో పాటు ముడి సైనింగ్ కీని కలిగి ఉన్న అదనపు టాప్-లెవల్ 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ను సెట్ చేయండి |
నవీకరించిన ఎండ్పాయింట్ ఆబ్జెక్ట్తో 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 సబ్స్క్రిప్షన్కు జోడించబడదు.
మొదటి ప్రయత్నం విఫలమైతే, డెలివరీ సాధారణ ఈవెంట్ డెలివరీల మాదిరిగానే అదే రీట్రై షెడ్యూల్ను అనుసరిస్తుంది.
ఎండ్పాయింట్ను తొలగించండి
curl -X DELETE https://api.thunderphone.com/v1/developer/webhook-endpoints/c4d5e6f7-... \
-H "Authorization: Bearer sk_live_YOUR_API_KEY"
204 No Contentను తిరిగి అందిస్తుంది. URLకు డెలివరీ వెంటనే ఆగిపోతుంది;
ప్రగతిలో ఉన్న మళ్లీ ప్రయత్నాలు రద్దు చేయబడతాయి.