Webhook ಎಂಡ್ಪಾಯಿಂಟ್ಗಳು
ಎಂಡ್ಪಾಯಿಂಟ್ ಆಧಾರಿತ ವೆಬ್ಹುಕ್ ವ್ಯವಸ್ಥೆಯು ಪ್ರತಿ ಸಂಸ್ಥೆಗೆ ಬಹು ಗಮ್ಯಸ್ಥಾನಗಳನ್ನು ನೋಂದಾಯಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಪ್ರತಿಯೊಂದಕ್ಕೂ ತನ್ನದೇ ರಹಸ್ಯ, ತನ್ನದೇ ಸ್ಥಿತಿ ಮತ್ತು ಈವೆಂಟ್ ಪ್ರಕಾರಗಳ ಉಪವಿಭಾಗಕ್ಕೆ ತನ್ನದೇ ಚಂದಾದಾರಿಕೆ ಇರುತ್ತದೆ. ಎಲ್ಲಾ ಹೊಸ ಏಕೀಕರಣಗಳಿಗೆ ಇದು ಶಿಫಾರಸು ಮಾಡಲಾದ ಮಾದರಿಯಾಗಿದೆ.
ಹಿಂಬದಿ ಹೊಂದಾಣಿಕೆಗಾಗಿ ಉಳಿಸಿಕೊಂಡಿರುವ, ಆದರೆ ಪ್ರತಿ ಸಂಸ್ಥೆಗೆ ಕೇವಲ ಒಂದು 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 | ಸ್ಟ್ರಿಂಗ್ | ಪ್ರದರ್ಶನ ಹೆಸರು, 1–120 ಅಕ್ಷರಗಳು |
url | ಸ್ಟ್ರಿಂಗ್ | HTTPS URL; ಡೆವ್ಗಾಗಿ http://localhost ಅನುಮತಿಸಲಾಗಿದೆ |
events | ಸ್ಟ್ರಿಂಗ್ನ ಅರೆ | ಚಂದಾದಾರರಾಗಿರುವ ಈವೆಂಟ್ ಪ್ರಕಾರಗಳು (ಮಾನ್ಯ ಮೌಲ್ಯಗಳು ನೋಡಿ). ಖಾಲಿ ಅರೆ ಎಲ್ಲಾ ಈವೆಂಟ್ಗಳಿಗೆ ಚಂದಾದಾರವಾಗುತ್ತದೆ |
status | ಸ್ಟ್ರಿಂಗ್ | active, disabled (ಹಸ್ತಚಾಲಿತವಾಗಿ ವಿರಾಮಗೊಳಿಸಲಾಗಿದೆ), ಅಥವಾ failing (ಒಂದೇ ಒಂದು 2xx ಪಡೆಯದೆ ವಿತರಣೆಯು ತನ್ನ 24 ಗಂಟೆಗಳ ಮರುಪ್ರಯತ್ನ ವೇಳಾಪಟ್ಟಿಯನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಮುಗಿಸಿದಾಗ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಹೊಂದಿಸಲಾಗುತ್ತದೆ) |
secret_hint | ಸ್ಟ್ರಿಂಗ್ | ಎಲಿಪ್ಸಿಸ್ ಹೊಂದಿರುವ ಸಹಿ ರಹಸ್ಯದ ಮೊದಲ 4 ಮತ್ತು ಕೊನೆಯ 4 ಅಕ್ಷರಗಳು (a1b2…9f0e) — ಸಂಪೂರ್ಣ ಮೌಲ್ಯವನ್ನು ಬಹಿರಂಗಪಡಿಸದೆ ನೀವು ಸ್ಥಳೀಯವಾಗಿ ಉಳಿಸಿದ ರಹಸ್ಯದೊಂದಿಗೆ ಅಡ್ಡ-ಉಲ್ಲೇಖಿಸಲು ಸಾಕಾಗುತ್ತದೆ |
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— ಎಂಡ್ಪಾಯಿಂಟ್ಗೆ ಮಾಡುವ ವಿತರಣೆಯು ತನ್ನ ಸಂಪೂರ್ಣ ಮರುಪ್ರಯತ್ನ ವೇಳಾಪಟ್ಟಿಯನ್ನು (24 ಗಂಟೆಗಳಲ್ಲಿ 8 ಪ್ರಯತ್ನಗಳು) ಯಾವುದೇ 2xx ಪಡೆಯದೆ ಸಂಪೂರ್ಣವಾಗಿ ಬಳಸಿದಾಗ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಹೊಂದಿಸಲಾಗುತ್ತದೆ. ವಿಫಲವಾಗುತ್ತಿರುವ ಎಂಡ್ಪಾಯಿಂಟ್ಗೆ ಮುಂದೆ ಯಾವುದೇ ಟ್ರಾಫಿಕ್ ದೊರೆಯುವುದಿಲ್ಲ. ಎಂಡ್ಪಾಯಿಂಟ್ ಸರಿಪಡಿಸಿದ ನಂತರ, ಅದರ ಸ್ಥಿತಿಯನ್ನು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 | ಅರೆ | ಇಲ್ಲ | ಖಾಲಿ/ಬಿಟ್ಟುಬಿಟ್ಟರೆ ಎಲ್ಲ ಈವೆಂಟ್ಗಳಿಗೆ ಸಬ್ಸ್ಕ್ರೈಬ್ ಆಗುತ್ತದೆ. ಮಾನ್ಯ ಈವೆಂಟ್ ಪ್ರಕಾರಗಳು ನಲ್ಲಿ ಪಟ್ಟಿ ಮಾಡಲಾದ ಮೌಲ್ಯಗಳನ್ನೇ ಬಳಸಬೇಕು; ನಕಲುಗಳನ್ನು ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ |
ಎಂಡ್ಪಾಯಿಂಟ್ ಆಬ್ಜೆಕ್ಟ್ ಜೊತೆಗೆ ಕಚ್ಚಾ ಸಹಿ ಕೀಯನ್ನು ಹೊಂದಿರುವ ಹೆಚ್ಚುವರಿ ಟಾಪ್-ಲೆವೆಲ್ 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 ಗೆ ವಿತರಣೆ ತಕ್ಷಣವೇ ನಿಲ್ಲುತ್ತದೆ;
ನಡೆಯುತ್ತಿರುವ ಮರುಪ್ರಯತ್ನಗಳನ್ನು ಕೈಬಿಡಲಾಗುತ್ತದೆ.