Veebikonksu lõpp-punktid

Lõpp-punktidel põhinev webhook-süsteem võimaldab registreerida organisatsiooni kohta mitu sihtkohta, millest igaühel on oma saladus, oma olek ja oma tellimus sündmusetüüpide alamhulgale. See on soovitatud mudel kõigi uute integratsioonide jaoks.

Võrdle pärand ühe URL-iga webhookiga, mis on säilitatud tagasiühilduvuse tagamiseks, kuid toetab organisatsiooni kohta ainult üht URL-i.

Lõpp-punktid

MeetodTeeNõutud rollKirjeldus
GET/v1/developer/webhook-endpointsadmin+Loetle lõpp-punktid
POST/v1/developer/webhook-endpointsadmin+Loo lõpp-punkt
PATCH/v1/developer/webhook-endpoints/{endpoint_id}admin+Uuenda silti / URL-i / sündmusi / olekut
DELETE/v1/developer/webhook-endpoints/{endpoint_id}admin+Kustuta lõpp-punkt
POST/v1/developer/webhook-endpoints/{endpoint_id}/testadmin+Saada allkirjastatud testiedastus

Lõpp-punkti objekt

{
  "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"
}
VäliTüüpKirjeldus
idUUIDLõpp-punkti ID
labelstringKuva nimi, 1–120 märki
urlstringHTTPS-i URL; arenduseks on lubatud http://localhost
eventsstringide massiivTellitud sündmusetüübid (vaata kehtivaid väärtusi). Tühi massiiv tellib kõik sündmused
statusstringactive, disabled (käsitsi peatatud) või failing (määratakse automaatselt, kui edastus ammendab oma 24-tunnise korduskatsete ajakava ilma ühegi 2xx vastuseta)
secret_hintstringAllkirjastamissaladuse esimesed 4 ja viimased 4 märki koos ellipsiga (a1b2…9f0e) — piisav, et võrrelda seda kohalikult salvestatud saladusega ilma täielikku väärtust avaldamata
created_at, updated_atajatempel

Kehtivad sündmusetüübid

events valideeritakse täpselt selle hulga järgi — loendist väljaspool olevad väärtused tagastavad 400. Iga tüübi andmekoormuse vormingu kohta vaata sündmuste kataloogi.

Lõpp-punkti olekud


Loetle lõpp-punktid

curl https://api.thunderphone.com/v1/developer/webhook-endpoints \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY"

Tagastab lõpp-punkti objektide massiivi.


Loo otspunkt

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"]

Päringu väljad

VäliTüüpKohustuslikKirjeldus
labelstringjah1–120 märki
urlstringjahHTTPS-i URL (http on lubatud ainult localhost / 127.0.0.1 puhul)
eventsarrayeiTühi või välja jäetud väärtus tellib kõik sündmused. Kasuta väärtusi, mis on loetletud jaotises Kehtivad sündmusetüübid; duplikaadid eemaldatakse

Tagastab 201 Created koos otspunkti objektiga ning täiendava ülataseme väljaga secret, mis sisaldab toorest allkirjastamisvõtit — 48-märgilist kuueteistkümnendsüsteemi stringi:

{
  "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"
}

Uuenda otspunkti

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"]
  }'
VäliTüüpKirjeldus
labelstring
urlstring
eventsarray
statusstringactive või disabled. Määra väärtuseks active, et uuesti lubada otspunkt, mille server märkis väärtusega failing

Tagastab 200 OK koos uuendatud otspunkti objektiga.


Saada testiedastus

Saada sünteetiline webhook.test sündmus ühele otspunktile tavapärase edastustorustiku kaudu, sealhulgas kanooniline JSON-i serialiseerimine, X-ThunderPhone-Signature, edastuse salvestamine ja korduskatsete arvestus. Test on suunatud valitud otspunktile sõltumata selle events-filtrist.

curl -X POST https://api.thunderphone.com/v1/developer/webhook-endpoints/c4d5e6f7-.../test \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY"

Otspunkt saab ümbriku, mis näeb välja järgmine:

{
  "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 tagastab 200 OK pärast esimest katset isegi siis, kui sihtkoht tagastab vea. Edastuse tulemuse vaatamiseks kontrolli välju success, status, response_code ja error:

{
  "success": true,
  "event_id": "2ad6507c-7d19-4498-9b2d-7e8f944ab5a1",
  "event_type": "webhook.test",
  "status": "delivered",
  "response_code": 204,
  "error": ""
}

webhook.test on sünteetiline ja seda ei saa lisada otspunkti events tellimusse. Kui esimene katse ebaõnnestub, järgib edastus sama korduskatsete ajakava nagu tavapärased sündmuste edastused.


Kustuta lõpp-punkt

curl -X DELETE https://api.thunderphone.com/v1/developer/webhook-endpoints/c4d5e6f7-... \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY"

Tagastab 204 No Content. URL-ile edastamine peatub kohe; pooleliolevatest korduskatsetest loobutakse.


Seotud