---
title: "ഔട്ട്‌ബൗണ്ട് കോളുകൾ ചെയ്യുക (API)"
description: "നിങ്ങളുടെ സ്വന്തം കോഡിൽ നിന്ന് AI നിയന്ത്രിത ഔട്ട്‌ബൗണ്ട് കോൾ ട്രിഗർ ചെയ്യുക — സർവേ, ഫോളോ-അപ്പ്, അല്ലെങ്കിൽ സ്ഥിരീകരണ ഫ്ലോകൾ."
---

ഔട്ട്‌ബൗണ്ട് കോളിംഗ് ഉപയോഗിച്ച് നിങ്ങൾക്ക് ഒരു ലക്ഷ്യ നമ്പറും ഏജന്റ്
കോൺഫിഗറേഷനും ThunderPhone-ന് നൽകി AI-യോട് നിങ്ങളുടെ
പേരിൽ കോൾ ചെയ്യിക്കാം. സാധാരണ ഉപയോഗ സാഹചര്യങ്ങൾ:

- അപ്പോയിന്റ്മെന്റ് സ്ഥിരീകരണങ്ങൾ
- സർവേ കോൾബാക്കുകൾ
- മിസ്ഡ് കോളിന് ശേഷമുള്ള "രണ്ടാം ശ്രമ" ഫോളോ-അപ്പുകൾ
- ഡിസ്പാച്ച്-ശൈലിയിലുള്ള അറിയിപ്പുകൾ

<Note>
  മുഴുവൻ ലിസ്റ്റിലേക്കും വിളിക്കണോ? ഡാഷ്ബോർഡിലെ
  [**ക്യാമ്പെയ്‌നുകൾ**](/ml/guides/outbound-campaigns) സവിശേഷത
  (`/dashboard/campaigns`) കോൺടാക്റ്റുകളുടെ ഒരു CSV സ്വീകരിച്ച്
  ടൈംസോൺ പരിഗണിച്ചുള്ള കോളിംഗ് സമയപരിധികൾ, കൺകറൻസി, റീട്രൈ നയം എന്നിവ
  നിങ്ങൾക്കായി കൈകാര്യം ചെയ്യുന്നു. ഈ ഗൈഡ് ഒറ്റ പ്രോഗ്രാമാറ്റിക് കോളുകളെക്കുറിച്ചാണ്.
</Note>

## മുൻവ്യവസ്ഥകൾ

<Steps>
  <Step title="ഒരു VoIP നമ്പർ കൊണ്ടുവരുക">
    ഔട്ട്‌ബൗണ്ട് കോളിംഗിന് നിങ്ങൾ `from_number` സ്വന്തമാക്കിയിരിക്കണം;
    അതിന് ഒരു
    [VoIP കണക്ഷൻ](/api-reference/voip-connections) ആവശ്യമാണ്. ThunderPhone നമ്പറുകൾ
    ഇൻബൗണ്ടിന് മാത്രമുള്ളതാണ്. കാണുക:
    [നിങ്ങളുടെ സ്വന്തം നമ്പറുകൾ കൊണ്ടുവരുക](/ml/guides/bring-your-own-numbers).
  </Step>
  <Step title="ഒരു ഏജന്റ് സൃഷ്ടിക്കുക">
    ഒരു ഔട്ട്‌ബൗണ്ട്-ശൈലിയിലുള്ള prompt സാധാരണയായി ഏജന്റ് സ്വയം
    പരിചയപ്പെടുത്തിയും അതിന്റെ ഉദ്ദേശ്യം വ്യക്തമാക്കിയും തുടങ്ങുന്നു — "ഹലോ, നാളത്തെ
    3pm-നുള്ള നിങ്ങളുടെ അപ്പോയിന്റ്മെന്റ് സ്ഥിരീകരിക്കാൻ Acme-യിൽ നിന്നാണ് വിളിക്കുന്നത്…"
    `outbound_speak_order` `agent_first` ആയി സജ്ജീകരിക്കുക (സ്ഥിരസ്ഥിതി).
  </Step>
  <Step title="പോസിറ്റീവ് ബാലൻസ് നിലനിർത്തുക">
    ബാലൻസ് ≤
    `$0.00` ആണെങ്കിൽ ഔട്ട്‌ബൗണ്ട് കോളുകൾ `402 Payment Required` നൽകും. ബാലൻസ് ടോപ്പ് അപ്പ് ചെയ്യാൻ
    [`POST /v1/billing/top-up`](/api-reference/billing#top-up-balance) ഉപയോഗിക്കുകയോ
    [ഓട്ടോ-റീലോഡ്](/api-reference/billing#update-auto-reload) പ്രവർത്തനക്ഷമമാക്കുകയോ ചെയ്യുക.
  </Step>
</Steps>

## സേവ് ചെയ്ത ഏജന്റ് ഉപയോഗിച്ച് കോൾ ചെയ്യുക

ഏറ്റവും ലളിതമായ മാർഗം — id ഉപയോഗിച്ച് ഒരു ഏജന്റിനെ റഫറൻസ് ചെയ്യുക:

```bash
curl -X POST https://api.thunderphone.com/v1/call \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "from_number": "+15551234567",
    "to_number":   "+14155550199",
    "agent_id":    12
  }'
```

പ്രതികരണം:

```json
{ "call_id": 987654321, "status": "initiated" }
```

<Warning>
  `status: "initiated"` എന്നത് അഭ്യർത്ഥന സ്വീകരിച്ചു എന്നർത്ഥം മാത്രമാണ് — കോൾ
  **ഇതുവരെ കണക്റ്റ് ചെയ്തിട്ടില്ല**. തത്സമയ സ്റ്റാറ്റസിനായി
  [`GET /v1/calls/{call_id}`](/api-reference/calls#retrieve-a-call)
  പോൾ ചെയ്യുക (`in_progress` → `completed` / `failed`).
</Warning>

## ഇൻലൈൻ കോൺഫിഗ് ഉപയോഗിച്ച് കോൾ ചെയ്യുക

ഒരു ഏജന്റായി സേവ് ചെയ്യേണ്ടതില്ലാത്ത ഒറ്റത്തവണ prompt നിങ്ങൾക്ക് ആവശ്യമാണെങ്കിൽ,
പകരം `config` നൽകുക. ഇതിന്റെ രൂപം
[`call.incoming` വെബ്ഹുക്ക്](/ml/webhooks/call-incoming)-ന്റെ പ്രതികരണ സ്കീമയുമായി പൊരുത്തപ്പെടുന്നു:

```bash
curl -X POST https://api.thunderphone.com/v1/call \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "from_number": "+15551234567",
    "to_number":   "+14155550199",
    "config": {
      "prompt":  "You are confirming Jane Doe appointment for 3pm tomorrow…",
      "voice":   "john",
      "product": "spark"
    }
  }'
```

## കോൾ പിന്തുടരുക

സമാന്തരമായി,
[`telephony.complete` വെബ്ഹുക്ക്](/ml/webhooks/events)-ലേക്ക് സബ്സ്ക്രൈബ് ചെയ്യുക —
കോൾ പൂർത്തിയായെന്ന് അറിയാനുള്ള ഏറ്റവും വേഗമേറിയ മാർഗമാണിത്. നിങ്ങൾക്ക് ഇൻബൗണ്ട്
വെബ്ഹുക്കുകൾ സ്വീകരിക്കാൻ കഴിയുന്നില്ലെങ്കിൽ, ഓരോ രണ്ടോ മൂന്നോ സെക്കൻഡിലും `GET /v1/calls/{call_id}`
പോൾ ചെയ്യുക; കോൾ അവസാനിച്ചുകഴിഞ്ഞാൽ റെക്കോർഡിൽ `end_reason`, `duration_seconds`, കൂടാതെ
റെക്കോർഡിംഗ് URL എന്നിവ ഉൾപ്പെടും.

## കൈകാര്യം ചെയ്യേണ്ട പരാജയ രീതികൾ

| പിശക് | പരിഹാരം |
|-------|-----|
| `402 Payment Required` | ബാലൻസ് ടോപ്പ് അപ്പ് ചെയ്യുക അല്ലെങ്കിൽ ഓട്ടോ-റീലോഡ് പ്രവർത്തനക്ഷമമാക്കുക |
| `403` ഔട്ട്‌ബൗണ്ട് ബ്ലോക്ക് ചെയ്തു (ThunderPhone നമ്പർ) | പകരം ഒരു VoIP നമ്പർ കൊണ്ടുവരുക |
| `403` ഔട്ട്‌ബൗണ്ട് ബ്ലോക്ക് ചെയ്തു (സ്ഥിരീകരിക്കാത്ത VoIP) | [`POST /v1/phone-numbers/{id}/verify-voip`](/api-reference/phone-numbers#verify-a-voip-sourced-number) പ്രവർത്തിപ്പിക്കുക |
| `404 from_number is not registered to this organization` | `from_number` നിങ്ങൾ സ്വന്തമാക്കിയ ഫോൺ നമ്പറുമായി പൊരുത്തപ്പെടുന്നുവെന്ന് സ്ഥിരീകരിക്കുക |
| `502 Bad Gateway` | താൽക്കാലിക SIP / LiveKit പരാജയം; റീട്രൈ ചെയ്യുന്നത് സുരക്ഷിതമാണ് |

## ഹോൾഡ് സമയം നിയന്ത്രിക്കൽ

വിളിക്കപ്പെട്ട വ്യക്തി പ്രതികരിക്കാൻ വൈകുന്നതിനാൽ ദൈർഘ്യമേറുന്ന ഔട്ട്‌ബൗണ്ട് കോളുകൾ
(IVR ട്രീകൾ, ക്യൂകൾ) `max_hold_seconds` ഉപയോഗിച്ച് പരിമിതപ്പെടുത്താം:

```json
{
  "from_number": "+15551234567",
  "to_number":   "+14155550199",
  "agent_id":    12,
  "max_hold_seconds": 120
}
```

കഴിഞ്ഞ N സെക്കൻഡിനുള്ളിൽ മനുഷ്യ ശബ്ദം ലഭിച്ചിട്ടില്ലെങ്കിൽ ഏജന്റ് കോൾ വിച്ഛേദിക്കും.
സ്ഥിരസ്ഥിതി 900 ആണ് (15 മിനിറ്റ്).

---

## അടുത്ത ഘട്ടങ്ങൾ

<CardGroup cols={2}>
  <Card title="ഔട്ട്‌ബൗണ്ട് കോളുകളുടെ റഫറൻസ്" icon="phone-arrow-up-right" href="/api-reference/outbound-calls">
    എല്ലാ റിക്വസ്റ്റ് ഫീൽഡുകളും എറർ കോഡുകളും.
  </Card>
  <Card title="call.complete സ്വീകരിക്കുക" icon="bolt" href="/ml/webhooks/call-complete">
    പൂർത്തിയായ ഔട്ട്‌ബൗണ്ട് കോളുകൾ നിങ്ങളുടെ സിസ്റ്റത്തിലേക്ക് സ്ട്രീം ചെയ്യുക.
  </Card>
  <Card title="ബില്ലിംഗ്" icon="credit-card" href="/api-reference/billing">
    ബാലൻസ് കാരണം ഔട്ട്‌ബൗണ്ട് ഒരിക്കലും പരാജയപ്പെടാതിരിക്കാൻ ഓട്ടോ-റീലോഡ്.
  </Card>
  <Card title="ഔട്ട്‌ബൗണ്ട് ഏജന്റുമാരെ പരീക്ഷിക്കുക" icon="flask" href="/ml/guides/test-agents">
    പ്രൊഡക്ഷന് മുമ്പ് നിങ്ങളുടെ ഔട്ട്‌ബൗണ്ട് ഏജന്റ് ഡ്രൈ-റൺ ചെയ്യുക.
  </Card>
</CardGroup>
