---
title: "Webhook ఎండ్‌పాయింట్‌లు"
description: "ప్రతి ఎండ్‌పాయింట్‌కు ప్రత్యేక సీక్రెట్‌లు మరియు ఈవెంట్ ఫిల్టర్‌లతో బహుళ webhook URLలను నిర్వహించండి."
---

ఎండ్‌పాయింట్ ఆధారిత webhook వ్యవస్థ ప్రతి సంస్థకు **బహుళ** గమ్యస్థానాలను నమోదు చేయడానికి మిమ్మల్ని అనుమతిస్తుంది; ప్రతి దానికి దాని స్వంత సీక్రెట్, స్థితి, మరియు ఈవెంట్ రకాల ఉపసమితికి దాని స్వంత సబ్‌స్క్రిప్షన్ ఉంటాయి. అన్ని కొత్త ఇంటిగ్రేషన్‌లకు ఇది సిఫార్సు చేయబడిన మోడల్.

వెనుకబడిన అనుకూలత కోసం ఉంచబడినప్పటికీ, ప్రతి సంస్థకు ఒకే URLకు మాత్రమే మద్దతు ఇచ్చే [లెగసీ సింగిల్-URL webhook](/api-reference/organizations#legacy-single-url-webhook)తో పోల్చండి.

## ఎండ్‌పాయింట్‌లు

| పద్ధతి | పాత్ | అవసరమైన పాత్ర | వివరణ |
|--------|------|---------------|-------------|
| `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+` | సంతకం చేసిన పరీక్ష డెలివరీని పంపండి |
| `GET` | `/v1/developer/webhook-deliveries` | `admin+` | ఇటీవలి ఎండ్‌పాయింట్ మరియు లెగసీ డెలివరీ ఫలితాలను పరిశీలించండి |

## ఎండ్‌పాయింట్ ఆబ్జెక్ట్

```json
{
  "id": "c4d5e6f7-...",
  "label": "Production — Call events",
  "url": "https://example.com/thunderphone/hook",
  "events": ["telephony.incoming", "telephony.complete"],
  "status": "active",
  "agent_id": 42,
  "agent_name": "Support Agent",
  "secret_hint": "a1b2…9f0e",
  "created_at": "2026-04-20T18:24:10.113Z",
  "updated_at": "2026-04-20T18:24:10.113Z"
}
```

| ఫీల్డ్ | రకం | వివరణ |
|-------|------|-------------|
| `id` | UUID | ఎండ్‌పాయింట్ id |
| `label` | string | ప్రదర్శన పేరు, 1–120 అక్షరాలు |
| `url` | string | HTTPS URL; డెవలప్‌మెంట్ కోసం `http://localhost` అనుమతించబడుతుంది |
| `events` | string యొక్క array | సబ్‌స్క్రైబ్ చేసిన ఈవెంట్ రకాలు ([చెల్లుబాటు అయ్యే విలువలు](#valid-event-types) చూడండి). ఖాళీ array స్పష్టంగా మాత్రమే ఎంచుకోగల ప్రతి-టర్న్ ఈవెంట్‌లు (`telephony.turn` / `web.turn`) మినహా అన్ని ఈవెంట్‌లకు సబ్‌స్క్రైబ్ అవుతుంది |
| `status` | string | `active`, `disabled` (మాన్యువల్‌గా పాజ్ చేయబడింది), లేదా `failing` (ఒక్క 2xx కూడా లేకుండా డెలివరీ తన 24 గంటల రీట్రై షెడ్యూల్‌ను పూర్తిచేసినప్పుడు ఆటోమేటిక్‌గా సెట్ అవుతుంది) |
| `agent_id` | integer \| null | ఈ ఎండ్‌పాయింట్ పరిమితం చేయబడిన ఏజెంట్; `null` అంటే సంస్థ-వ్యాప్తంగా వర్తిస్తుంది |
| `agent_name` | string \| null | పరిమితం చేయబడిన ఏజెంట్ పేరు, లేదా సంస్థ-వ్యాప్త ఎండ్‌పాయింట్‌కు `null` |
| `secret_hint` | string | ఎలిప్సిస్‌తో (`a1b2…9f0e`) సైనింగ్ సీక్రెట్‌లోని మొదటి 4, చివరి 4 అక్షరాలు — పూర్తి విలువను బహిర్గతం చేయకుండా మీరు లోకల్‌గా సేవ్ చేసిన సీక్రెట్‌తో సరిపోల్చడానికి చాలు |
| `created_at`, `updated_at` | timestamp | |

<Note>
  ఎండ్‌పాయింట్ పూర్తి `secret` సృష్టించే సమయంలో **ఒక్కసారి** మాత్రమే తిరిగి ఇవ్వబడుతుంది మరియు
  మళ్లీ ఎప్పుడూ ఇవ్వబడదు. దీన్ని సురక్షితంగా నిల్వ చేయండి — మీరు దీన్ని కోల్పోతే, ఎండ్‌పాయింట్‌ను తొలగించి
  మళ్లీ సృష్టించండి.
</Note>

### చెల్లుబాటు అయ్యే ఈవెంట్ రకాలు

`events` ఈ ఖచ్చితమైన సెట్‌తో ధృవీకరించబడుతుంది — జాబితా వెలుపలి విలువలు
`400`ను తిరిగి ఇస్తాయి. ప్రతి రకానికి చెందిన పేలోడ్ ఆకృతి కోసం [ఈవెంట్‌ల కేటలాగ్](/te/webhooks/events) చూడండి.

- `telephony.incoming`, `telephony.complete`, `telephony.tool`, `telephony.turn`
- `web.incoming`, `web.complete`, `web.tool`, `web.turn`
- `call.graded`, `call.data_extracted`
- `campaign.completed`
- `issue.reported`, `issue.escalated`
- `test-call.completed`
- `alert.triggered`

`issue.escalated`కు ఏజెంట్ సందర్భం ఉండదు మరియు ఇది సంస్థ-వ్యాప్త
ఎండ్‌పాయింట్‌లకు మాత్రమే డెలివర్ చేయబడుతుంది.

`voice.ready`, `voice.failed`లను స్పష్టంగా ఎంచుకోలేరు. వాటిని స్వీకరించడానికి,
`events: []`తో సంస్థ-వ్యాప్త ఎండ్‌పాయింట్‌ను సృష్టించండి. ఖాళీ ఈవెంట్ జాబితా
స్పష్టంగా ఎంచుకోవాల్సిన `telephony.turn`, `web.turn` మినహా మద్దతు ఉన్న ప్రతి ఈవెంట్‌ను స్వీకరిస్తుంది.

### ఎండ్‌పాయింట్ స్థితులు

- `active` — డెలివరీలు సాధారణంగా కొనసాగుతాయి.
- `disabled` — `PATCH` ద్వారా మాన్యువల్‌గా పాజ్ చేయబడింది. ఎటువంటి రిక్వెస్ట్‌లు పంపబడవు. మేము
  `disabled` ఎండ్‌పాయింట్ స్థితిని ఎప్పుడూ మార్చము; దాన్ని తిరిగి
  `active`కు మార్చడం ఎల్లప్పుడూ మీ నిర్ణయం.
- `failing` — ఎండ్‌పాయింట్‌కు డెలివరీ ఎప్పుడూ 2xx పొందకుండా తన మొత్తం
  రీట్రై షెడ్యూల్‌ను (24 గంటల్లో 8 ప్రయత్నాలు) పూర్తిచేసినప్పుడు ఆటోమేటిక్‌గా సెట్ అవుతుంది.
  విఫలమవుతున్న ఎండ్‌పాయింట్‌కు ఇకపై ట్రాఫిక్ అందదు.
  ఎండ్‌పాయింట్ సరిచేయబడిన తర్వాత, దాని స్థితిని `PATCH`తో తిరిగి `active`కు మార్చండి;
  ఇంకా రీట్రై షెడ్యూల్ పూర్తికాని డెలివరీలు తాము ఆపిన చోటు నుంచే కొనసాగుతాయి.

---

## ఎండ్‌పాయింట్‌లను జాబితా చేయండి

<CodeGroup>
```bash cURL
curl https://api.thunderphone.com/v1/developer/webhook-endpoints \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY"
```
</CodeGroup>

[ఎండ్‌పాయింట్ ఆబ్జెక్ట్‌ల](#endpoint-object) arrayను తిరిగి ఇస్తుంది.
ఆ ఏజెంట్‌కు పరిమితం చేయబడిన ఎండ్‌పాయింట్‌లను మాత్రమే తిరిగి పొందడానికి `?agent_id=42`ను పంపండి.

### ఏజెంట్-పరిమిత ఎండ్‌పాయింట్‌లు

సంస్థ-వ్యాప్త ఎండ్‌పాయింట్‌లు సరిపోలే ప్రతి ఈవెంట్‌ను స్వీకరిస్తాయి. `agent_id`తో ఉన్న
ఎండ్‌పాయింట్ ఆ ఏజెంట్ నిర్వహించిన కాల్‌లకు సంబంధించిన సరిపోలే ఈవెంట్‌లను మాత్రమే స్వీకరిస్తుంది;
`alert.triggered` వంటి ఏజెంట్ సందర్భం లేని ఈవెంట్‌లు దానికి ఎప్పుడూ చేరవు. మీరు
ఏజెంట్ బిల్డర్‌లోని **వెబ్‌హుక్‌లు** విభాగం నుండి కూడా ఈ ఎండ్‌పాయింట్‌లను సృష్టించి నిర్వహించవచ్చు.

---

## ఎండ్‌పాయింట్‌ను సృష్టించండి

<CodeGroup>
```bash cURL
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"]
  }'
```

```python Python
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"]
```
</CodeGroup>

### అభ్యర్థన ఫీల్డ్‌లు

| ఫీల్డ్ | రకం | తప్పనిసరి | వివరణ |
|-------|------|----------|-------------|
| `label` | స్ట్రింగ్ | అవును | 1–120 అక్షరాలు |
| `url` | స్ట్రింగ్ | అవును | HTTPS URL (`http` అనేది `localhost` / `127.0.0.1` కోసం మాత్రమే అనుమతించబడుతుంది) |
| `events` | అరే | కాదు | ఖాళీగా ఉంచడం/వదిలివేయడం వల్ల, స్పష్టమైన సబ్‌స్క్రిప్షన్ అవసరమైన `telephony.turn` / `web.turn` మినహా అన్ని ఈవెంట్‌లకు సబ్‌స్క్రైబ్ అవుతుంది. [చెల్లుబాటు అయ్యే ఈవెంట్ రకాలు](#valid-event-types)లో జాబితా చేసిన విలువలను తప్పనిసరిగా ఉపయోగించాలి; నకిలీలు తొలగించబడతాయి |
| `agent_id` | ఇంటీజర్ \| నల్ | కాదు | ఈ సంస్థలోని ఒక ఏజెంట్‌కు డెలివరీని పరిమితం చేయండి; సంస్థవ్యాప్త ఎండ్‌పాయింట్ కోసం వదిలివేయండి లేదా `null` ఉపయోగించండి |

[ఎండ్‌పాయింట్ ఆబ్జెక్ట్](#endpoint-object)తో పాటు, ముడి సైనింగ్ కీని కలిగిన అదనపు టాప్-లెవల్ `secret` ఫీల్డ్‌తో `201 Created`ను అందిస్తుంది — ఇది 48-అక్షరాల హెక్స్ స్ట్రింగ్:

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

<Warning>
  `secret` అనేది **సృష్టించినప్పుడు మాత్రమే** అందించబడుతుంది. తదుపరి `GET` ప్రతిస్పందనల్లో
  `secret_hint` మాత్రమే ఉంటుంది. ప్రతిస్పందనను మూసే ముందు పూర్తి విలువను మీ సీక్రెట్
  మేనేజర్‌కు కాపీ చేయండి.
</Warning>

---

## ఎండ్‌పాయింట్‌ను నవీకరించండి

<CodeGroup>
```bash cURL
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"]
  }'
```
</CodeGroup>

| ఫీల్డ్ | రకం | వివరణ |
|-------|------|-------------|
| `label` | స్ట్రింగ్ | |
| `url` | స్ట్రింగ్ | |
| `events` | అరే | |
| `status` | స్ట్రింగ్ | `active` లేదా `disabled`. సర్వర్ `failing`గా గుర్తించిన ఎండ్‌పాయింట్‌ను మళ్లీ ప్రారంభించడానికి `active`ను సెట్ చేయండి |
| `agent_id` | ఇంటీజర్ \| నల్ | ఎండ్‌పాయింట్‌ను పరిమితం చేయడానికి ఏజెంట్ ఐడీని సెట్ చేయండి లేదా సంస్థవ్యాప్తంగా చేయడానికి `null`ను సెట్ చేయండి |

నవీకరించిన [ఎండ్‌పాయింట్ ఆబ్జెక్ట్](#endpoint-object)తో `200 OK`ను అందిస్తుంది.

---

## పరీక్ష డెలివరీని పంపండి

కానానికల్ JSON సీరియలైజేషన్, `X-ThunderPhone-Signature`, డెలివరీ రికార్డింగ్, మరియు రీట్రై రికార్డు నిర్వహణతో సహా, సాధారణ డెలివరీ పైప్‌లైన్‌ను ఉపయోగించి ఒక ఎండ్‌పాయింట్‌కు సింథటిక్ `webhook.test` ఈవెంట్‌ను పంపండి.
టెస్ట్, ఎంచుకున్న ఎండ్‌పాయింట్ యొక్క `events` ఫిల్టర్‌తో సంబంధం లేకుండా దానినే లక్ష్యంగా చేసుకుంటుంది.

<CodeGroup>
```bash cURL
curl -X POST https://api.thunderphone.com/v1/developer/webhook-endpoints/c4d5e6f7-.../test \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY"
```
</CodeGroup>

ఎండ్‌పాయింట్‌కు ఈ విధమైన ఎన్వలప్ అందుతుంది:

```json
{
  "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`ను పరిశీలించండి:

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

`webhook.test` సింథటిక్ అయినది, కాబట్టి దీనిని ఎండ్‌పాయింట్ యొక్క `events`
సబ్‌స్క్రిప్షన్‌కు జోడించలేరు. మొదటి ప్రయత్నం విఫలమైతే, డెలివరీ సాధారణ ఈవెంట్ డెలివరీల మాదిరిగానే
రీట్రై షెడ్యూల్‌ను అనుసరిస్తుంది.

నిజమైన ఈవెంట్ ఆకృతికి అనుగుణంగా ట్రిగ్గర్‌ను కాన్ఫిగర్ చేయడానికి, ఐచ్ఛికమైన
`event_type`ను పంపండి. డెలివరీ ఇప్పటికీ సింథటిక్‌గానే ఉంటుంది మరియు `"sample": true`ను కలిగి ఉంటుంది;
కాల్-సంబంధిత నమూనాలు `call_id: 0` మరియు `agent_id: 0`ను ఉపయోగిస్తాయి.

```bash
curl -X POST https://api.thunderphone.com/v1/developer/webhook-endpoints/c4d5e6f7-.../test \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"event_type":"call.graded"}'
```

`event_type`, [చెల్లుబాటు అయ్యే ఈవెంట్ రకాలు](#valid-event-types)లోని ఏ విలువనైనా స్వీకరిస్తుంది.
దానిని ఇవ్వకపోతే సాధారణ `webhook.test` ప్రవర్తన కొనసాగుతుంది.

---

## ఎండ్‌పాయింట్‌ను తొలగించండి

<CodeGroup>
```bash cURL
curl -X DELETE https://api.thunderphone.com/v1/developer/webhook-endpoints/c4d5e6f7-... \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY"
```
</CodeGroup>

`204 No Content`ను తిరిగి ఇస్తుంది. URLకు డెలివరీ వెంటనే ఆగిపోతుంది;
పురోగతిలో ఉన్న రీట్రైలు విరమించబడతాయి.

---

## డెలివరీలను డీబగ్ చేయండి

వెబ్‌హుక్ పంపబడలేదని నిర్ధారించే ముందు,
[`GET /v1/developer/webhook-deliveries`](/api-reference/webhook-deliveries)ను పరిశీలించండి.
ఇది కాల్ ID, URL మూలం, HTTP స్థితి, ప్రయత్నాల సంఖ్య, అనుమతించబడిన జాబితాలోని వైఫల్య వర్గం, మరియు తదుపరి
రీట్రై సమయంతో సహా రెండు వెబ్‌హుక్ వ్యవస్థల నుండి ఇటీవలి ప్రయత్నాలను చూపిస్తుంది. ఇది ఈవెంట్ పేలోడ్, ట్రాన్స్‌క్రిప్ట్, నిల్వ చేసిన ఎర్రర్ టెక్స్ట్,
రెస్పాన్స్ బాడీ, లేదా URL పాత్‌ను ఎప్పుడూ తిరిగి ఇవ్వదు.

మీరు ఇదే ఇటీవలి చరిత్రను **ఏజెంట్లు → ఏజెంట్‌ను ఎంచుకోండి → వెబ్‌హుక్స్ →
ఇటీవలి డెలివరీలు**లో కూడా చూడవచ్చు. వరుసలు ఎండ్‌పాయింట్ లేబుల్ మరియు తాజా
ప్రయత్నం ఉపయోగించిన URL మూలాన్ని చూపిస్తాయి. ఇది మార్పులేని ఆడిట్ లాగ్ కాకుండా కార్యాచరణ స్థితి:
ఎండ్‌పాయింట్‌ను తొలగించడం దాని డెలివరీ వరుసలను కూడా తొలగిస్తుంది.

n8n `404` కోసం, ముందుగా వర్క్‌ఫ్లో సక్రియంగా ఉందని, `POST`ను స్వీకరిస్తుందని, మరియు
టెస్ట్ URLకు బదులుగా ప్రొడక్షన్ వెబ్‌హుక్ URLను ఉపయోగిస్తోందని నిర్ధారించండి. `401` లేదా `403`
అధీకరణ లేదా సిగ్నేచర్ ధృవీకరణను సూచిస్తుంది; టైమ్‌అవుట్‌లు గమ్యస్థాన లేటెన్సీ
లేదా లభ్యతను సూచిస్తాయి; TLS ఎర్రర్‌లు సర్టిఫికేట్ చైన్, హోస్ట్‌నేమ్, లేదా గడువు ముగింపును సూచిస్తాయి.

---

## సంబంధితవి

<CardGroup cols={2}>
  <Card title="ఈవెంట్‌ల కేటలాగ్" icon="list" href="/te/webhooks/events">
    మీరు సబ్‌స్క్రైబ్ చేయగల `events` విలువల పూర్తి జాబితా.
  </Card>
  <Card title="వెబ్‌హుక్స్ అవలోకనం" icon="bolt" href="/te/webhooks/overview">
    సిగ్నేచర్ ధృవీకరణ మరియు డెలివరీ అర్థవివరణలు.
  </Card>
</CardGroup>
