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

MbinuNjiaJukumu linalohitajikaMaelezo
GET/v1/developer/webhook-endpointsadmin+Orodhesha vituo vya mwisho
POST/v1/developer/webhook-endpointsadmin+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}/testadmin+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"
}
SehemuAinaMaelezo
idUUIDKitambulisho cha kituo cha mwisho
labelstringJina la kuonyesha, herufi 1–120
urlstringURL ya HTTPS; http://localhost inaruhusiwa kwa maendeleo
eventsarray of stringAina za matukio zilizosajiliwa (tazama thamane halali). Mkusanyiko tupu husajili matukio yote
statusstringactive, disabled (imesimamishwa mwenyewe), au failing (huwekwa kiotomatiki wakati uwasilishaji unapomaliza ratiba yake ya kujaribu tena ya saa 24 bila hata 2xx moja)
secret_hintstringHerufi 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_attimestamp

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.

Hali za vituo vya mwisho


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

SehemuAinaInahitajikaMaelezo
labelstringndiyoherufi 1–120
urlstringndiyoURL ya HTTPS (http inaruhusiwa kwa localhost / 127.0.0.1 pekee)
eventsarrayhapanaTupu/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"]
  }'
SehemuAinaMaelezo
labelstring
urlstring
eventsarray
statusstringactive 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.


Yanayohusiana