വെബ്ഹുക്ക് എൻഡ്പോയിന്റുകൾ
എൻഡ്പോയിന്റ് അടിസ്ഥാനമാക്കിയുള്ള വെബ്ഹുക്ക് സംവിധാനം ഓരോ ഓർഗനൈസേഷനും ഒന്നിലധികം ലക്ഷ്യസ്ഥാനങ്ങൾ രജിസ്റ്റർ ചെയ്യാൻ നിങ്ങളെ അനുവദിക്കുന്നു, ഓരോന്നിനും അതിന്റേതായ രഹസ്യം, അതിന്റേതായ സ്റ്റാറ്റസ്, ഇവന്റ് തരങ്ങളുടെ ഒരു ഉപസെറ്റിലേക്കുള്ള അതിന്റേതായ സബ്സ്ക്രിപ്ഷൻ എന്നിവയോടെ. എല്ലാ പുതിയ ഇന്റഗ്രേഷനുകൾക്കും ശുപാർശ ചെയ്യുന്ന മോഡൽ ഇതാണ്.
പിന്നാക്ക അനുയോജ്യതയ്ക്കായി നിലനിർത്തിയിട്ടുള്ളതും എന്നാൽ ഓരോ ഓർഗനൈസേഷനും ഒരു 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 | എൻഡ്പോയിന്റ് ഐഡി |
label | string | പ്രദർശന നാമം, 1–120 അക്ഷരങ്ങൾ |
url | string | HTTPS URL; ഡെവലപ്മെന്റിനായി http://localhost അനുവദനീയമാണ് |
events | string-ന്റെ അറേ | സബ്സ്ക്രൈബ് ചെയ്ത ഇവന്റ് തരങ്ങൾ (സാധുവായ മൂല്യങ്ങൾ കാണുക). ശൂന്യ അറേ എല്ലാ ഇവന്റുകളിലേക്കും സബ്സ്ക്രൈബ് ചെയ്യുന്നു |
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 (http, localhost / 127.0.0.1 എന്നിവയ്ക്കു മാത്രം അനുവദനീയം) |
events | അറേ | ഇല്ല | ശൂന്യമോ ഒഴിവാക്കിയതോ ആണെങ്കിൽ എല്ലാ ഇവന്റുകളിലേക്കും സബ്സ്ക്രൈബ് ചെയ്യും. സാധുവായ ഇവന്റ് തരങ്ങളിൽ നൽകിയിട്ടുള്ള മൂല്യങ്ങൾ ഉപയോഗിക്കണം; തനിപ്പകർപ്പുകൾ നീക്കംചെയ്യും |
എൻഡ്പോയിന്റ് ഒബ്ജക്റ്റിനൊപ്പം 201 Created നൽകുന്നു, കൂടാതെ
റോ സൈനിംഗ് കീ ഉൾക്കൊള്ളുന്ന ഒരു അധിക ടോപ്പ്-ലെവൽ secret ഫീൽഡും നൽകുന്നു — ഇത്
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-ലേക്കുള്ള ഡെലിവറി ഉടൻ നിർത്തും;
പുരോഗതിയിലുള്ള വീണ്ടും ശ്രമങ്ങൾ ഉപേക്ഷിക്കും.