Vituo vya Mwisho vya Webhook
Mfumo wa webhook unaotegemea vituo vya mwisho hukuruhusu kusajili lengwa nyingi kwa kila shirika, kila moja ikiwa na siri yake, hali yake, na usajili wake kwa kikundi kidogo cha aina za matukio. Huu ndio muundo unaopendekezwa kwa miunganisho yote mipya.
Linganisha na webhook ya urithi yenye URL moja, ambayo imehifadhiwa kwa utangamanifu wa nyuma lakini inasaidia URL moja tu kwa kila shirika.
Vituo vya mwisho
| Mbinu | Njia | Jukumu linalohitajika | Maelezo |
|---|---|---|---|
GET | /v1/developer/webhook-endpoints | admin+ | Orodhesha vituo vya mwisho |
POST | /v1/developer/webhook-endpoints | admin+ | Unda kituo cha mwisho |
PATCH | /v1/developer/webhook-endpoints/{endpoint_id} | admin+ | Sasisha lebo / URL / matukio / hali |
DELETE | /v1/developer/webhook-endpoints/{endpoint_id} | admin+ | Futa kituo cha mwisho |
POST | /v1/developer/webhook-endpoints/{endpoint_id}/test | admin+ | Tuma uwasilishaji wa jaribio uliotiwa saini |
Kitu cha kituo cha mwisho
{
"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"
}
| Sehemu | Aina | Maelezo |
|---|---|---|
id | UUID | Kitambulisho cha kituo cha mwisho |
label | string | Jina la kuonyesha, herufi 1–120 |
url | string | URL ya HTTPS; http://localhost inaruhusiwa kwa maendeleo |
events | array of string | Aina za matukio zilizosajiliwa (tazama thamane halali). Mkusanyiko tupu husajili matukio yote |
status | string | active, disabled (imesimamishwa mwenyewe), au failing (huwekwa kiotomatiki wakati uwasilishaji unapomaliza ratiba yake ya kujaribu tena ya saa 24 bila hata 2xx moja) |
secret_hint | string | Herufi 4 za kwanza na 4 za mwisho za siri ya kutia saini zenye nukta tatu (a1b2…9f0e) — zinatosha kulinganisha na siri uliyohifadhi ndani ya mfumo wako bila kufichua thamani kamili |
created_at, updated_at | timestamp |
Aina halali za matukio
events inathibitishwa dhidi ya seti hii kamili — thamani zilizo nje ya orodha
hurejesha 400. Tazama Katalogi ya matukio kwa muundo wa
payload wa kila aina.
telephony.incoming,telephony.complete,telephony.toolweb.incoming,web.complete,web.toolcall.gradedissue.reportedtest-call.completedalert.triggered
Hali za vituo vya mwisho
active— uwasilishaji hutiririka kawaida.disabled— imesimamishwa mwenyewe kupitiaPATCH. Hakuna maombi yanayotumwa. Hatuwahi kubadilisha hali ya kituo cha mwisho chadisabled; kukirejesha kuwaactiveni uamuzi wako daima.failing— huwekwa kiotomatiki wakati uwasilishaji kwa kituo cha mwisho unapotumia ratiba yake yote ya kujaribu tena (majaribio 8 ndani ya saa 24) bila kupata 2xx hata moja. Kituo cha mwisho kinachoshindwa hakipokei trafiki zaidi. Baada ya kurekebisha kituo cha mwisho,PATCHhali yake irudi kuwaactive; uwasilishaji ambao ratiba yake ya kujaribu tena bado haijaisha huendelea kutoka ulipoishia.
Orodhesha vituo vya mwisho
curl https://api.thunderphone.com/v1/developer/webhook-endpoints \
-H "Authorization: Bearer sk_live_YOUR_API_KEY"
Hurejesha mkusanyiko wa vitu vya vituo vya mwisho.
Unda endpoint
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"]
Sehemu za ombi
| Sehemu | Aina | Inahitajika | Maelezo |
|---|---|---|---|
label | string | ndiyo | herufi 1–120 |
url | string | ndiyo | URL ya HTTPS (http inaruhusiwa kwa localhost / 127.0.0.1 pekee) |
events | array | hapana | Tupu/iliyoachwa hujisajili kwa matukio yote. Lazima itumie thamani zilizoorodheshwa katika Aina halali za matukio; nakala rudufu huondolewa |
Hurejesha 201 Created pamoja na kitu cha Endpoint na
sehemu ya ziada ya kiwango cha juu secret iliyo na ufunguo ghafi wa kutia sahihi —
mfuatano wa hex wa herufi 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"
}
Sasisha endpoint
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"]
}'
| Sehemu | Aina | Maelezo |
|---|---|---|
label | string | |
url | string | |
events | array | |
status | string | active au disabled. Weka active ili kuwezesha tena endpoint ambayo seva iliweka alama failing |
Hurejesha 200 OK pamoja na kitu cha Endpoint kilichosasishwa.
Tuma uwasilishaji wa majaribio
Tuma tukio bandia la webhook.test kwa endpoint moja kwa kutumia mchakato wa kawaida
wa uwasilishaji, ikijumuisha usanifishaji wa JSON wa kikanoni,
X-ThunderPhone-Signature, kurekodi uwasilishaji, na ufuatiliaji wa majaribio ya kurudia.
Jaribio hulenga endpoint iliyochaguliwa bila kujali kichujio chake cha events.
curl -X POST https://api.thunderphone.com/v1/developer/webhook-endpoints/c4d5e6f7-.../test \
-H "Authorization: Bearer sk_live_YOUR_API_KEY"
Endpoint hupokea bahasha kama hii:
{
"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 hurejesha 200 OK baada ya jaribio la kwanza, hata kama lengwa
linarejesha hitilafu. Kagua success, status, response_code, na error
kwa matokeo ya uwasilishaji:
{
"success": true,
"event_id": "2ad6507c-7d19-4498-9b2d-7e8f944ab5a1",
"event_type": "webhook.test",
"status": "delivered",
"response_code": 204,
"error": ""
}
webhook.test ni bandia na haiwezi kuongezwa kwenye usajili wa events
wa endpoint. Jaribio la kwanza likishindwa, uwasilishaji hufuata ratiba ileile
ya majaribio ya kurudia kama uwasilishaji wa matukio ya kawaida.
Futa endpoint
curl -X DELETE https://api.thunderphone.com/v1/developer/webhook-endpoints/c4d5e6f7-... \
-H "Authorization: Bearer sk_live_YOUR_API_KEY"
Hurejesha 204 No Content. Uwasilishaji kwenye URL husimama mara moja;
majaribio ya kurudia yanayoendelea huachwa.