---
title: "ഇൻബൗണ്ട് കോളുകൾ കൈകാര്യം ചെയ്യുക (API)"
description: "എൻഡ്-ടു-എൻഡ്: ഒരു ഏജന്റിനെ കോൺഫിഗർ ചെയ്യുക, അത് ഒരു ഫോൺ നമ്പറിലേക്ക് അസൈൻ ചെയ്യുക, ഒരു കോൾ സ്വീകരിക്കുക, ട്രാൻസ്ക്രിപ്റ്റ് പരിശോധിക്കുക."
---

<Note>
  നിങ്ങളുടെ ആദ്യ ഏജന്റ് സ്വയം നിർമ്മിക്കുകയാണോ? ഡാഷ്ബോർഡ് ഇതേ
  പ്രവാഹം — ഏജന്റ് നിർമ്മിക്കുക, നമ്പർ ചേർക്കുക, സിമുലേറ്റ് ചെയ്യുക, അവലോകനം ചെയ്യുക — ഒരു
  ഗൈഡഡ് വിസാർഡിലൂടെ നയിക്കുന്നു. ഇവിടെ ആരംഭിക്കുക:
  [ഡാഷ്ബോർഡ് ക്വിക്ക്സ്റ്റാർട്ട്](/ml/quickstart-dashboard).
</Note>

നിങ്ങളുടെ ടെർമിനലിൽ നിന്ന്, "AI ഉപയോഗിച്ച് ഫോൺ എടുക്കുക" എന്ന കാനോനിക്കൽ പ്രവാഹം.
നിങ്ങൾ:

1. ഒരു prompt-ഉം വോയ്സും ഉപയോഗിച്ച് ഒരു ഏജന്റ് സൃഷ്ടിക്കുക.
2. ഒരു ഫോൺ നമ്പർ പ്രൊവിഷൻ ചെയ്യുക (അല്ലെങ്കിൽ സ്വന്തമായി കൊണ്ടുവരിക), ഇൻബൗണ്ട് ഹാൻഡ്‌ലറായി ഏജന്റിനെ അസൈൻ ചെയ്യുക.
3. നമ്പറിലേക്ക് വിളിക്കുക. കോൾ ലോഗ്, ട്രാൻസ്ക്രിപ്റ്റ്, റെക്കോർഡിംഗ് എന്നിവ നിരീക്ഷിക്കുക.

ആകെ API കോളുകൾ: നാല്. ആകെ സമയം: അഞ്ച് മിനിറ്റിൽ താഴെ.

## 1. ഒരു ഏജന്റ് സൃഷ്ടിക്കുക

കോളിനെ നിയന്ത്രിക്കുന്ന prompt, വോയ്സ്, പ്രൊഡക്റ്റ് ടിയർ എന്നിവ ഒരു ഏജന്റിൽ ഉൾക്കൊള്ളുന്നു.
എല്ലാ കോൺഫിഗറേഷൻ ഫീൽഡുകൾക്കും [ഏജന്റുകൾ](/api-reference/agents) കാണുക; ഏറ്റവും കുറഞ്ഞത് ഇതാണ്:

```bash
curl -X POST https://api.thunderphone.com/v1/agents \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name":    "Acme Support",
    "prompt":  "You are a friendly support agent for Acme. Help callers with orders and returns. Keep answers short.",
    "voice":   "john",
    "product": "spark"
  }'
```

ലഭിക്കുന്ന `id` സംരക്ഷിക്കുക — ഘട്ടം 2-ൽ ഇത് ആവശ്യമാണ്.

<Tip>
  ഏറ്റവും കുറഞ്ഞ ചെലവിൽ ലളിതമായ ചോദ്യോത്തരങ്ങൾക്ക് `spark` തിരഞ്ഞെടുക്കുക; വേഗതയാണ്
  ഏറ്റവും പ്രധാനമെങ്കിൽ `bolt` തിരഞ്ഞെടുക്കുക. നിങ്ങളുടെ prompt-ന് കൂടുതൽ ആഴത്തിലുള്ള യുക്തിചിന്തനം
  ആവശ്യമുണ്ടെങ്കിൽ, മോഡൽ ചിന്തിക്കുമ്പോൾ അര സെക്കൻഡ് ഫില്ലർ സഹിക്കാനാകുമെങ്കിൽ
  `storm-base-with-ack`-ലേക്ക് അപ്ഗ്രേഡ് ചെയ്യുക. കാണുക:
  [പ്രൊഡക്റ്റ് ടിയറുകൾ](/api-reference/agents#product-tiers-at-a-glance).
</Tip>

## 2. ഒരു ഫോൺ നമ്പർ നേടുക

വിളിക്കാനായി ഒരു നമ്പർ മാത്രം ആവശ്യമാണെങ്കിൽ, ThunderPhone-ന്റെ പൂളിൽ നിന്ന്
ഒരു ThunderPhone നമ്പർ നേടുക:

```bash
curl -X POST https://api.thunderphone.com/v1/phone-numbers \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"area_code": "415"}'
```

റെസ്പോൺസിൽ E.164 ഫോർമാറ്റിൽ ഒരു `id`-യും ഒരു `number`-ഉം ഉൾപ്പെടും. ThunderPhone
നമ്പറുകൾ `status="provisioning"`-ൽ ആരംഭിച്ച് ഏതാനും
സെക്കൻഡുകൾക്കുള്ളിൽ `active` ആകുന്നു — ആവശ്യമെങ്കിൽ മാറ്റം നിരീക്ഷിക്കാൻ
[`GET /v1/phone-numbers/{id}`](/api-reference/phone-numbers#retrieve-a-phone-number)
പോൾ ചെയ്യുക.

<Note>
  ThunderPhone നമ്പറുകൾ ഇൻബൗണ്ടിന് മാത്രമുള്ളതാണ്. ഔട്ട്ബൗണ്ട് കോളുകൾക്കായി,
  [VoIP വഴി നിങ്ങളുടെ സ്വന്തം നമ്പറുകൾ കൊണ്ടുവരുക](/ml/guides/bring-your-own-numbers).
</Note>

## 3. ഏജന്റിനെ അസൈൻ ചെയ്യുക

ഘട്ടം 1-ലെ ഏജന്റിനെ നമ്പറിന്റെ ഇൻബൗണ്ട് ദിശയുമായി ബന്ധിപ്പിക്കുക:

```bash
curl -X PATCH https://api.thunderphone.com/v1/phone-numbers/{phone_id} \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"inbound_agent_id": 12}'
```

അത്രയേ ഉള്ളൂ — നമ്പർ ലൈവാണ്. അതേ PATCH-ൽ `outbound_agent_id` കൂടി
സെറ്റ് ചെയ്യാം, അതുവഴി നമ്പർ ഔട്ട്ബൗണ്ട് കോളുകൾക്കും സജ്ജമാകും.

## 4. ഒരു കോൾ സ്വീകരിക്കുക

നിങ്ങളുടെ ഫോണിൽ നിന്ന് നമ്പറിലേക്ക് വിളിക്കുക. ഏജന്റ് കോൾ എടുക്കും, നിങ്ങളുടെ prompt അനുസരിച്ച്
സ്വയം പരിചയപ്പെടുത്തും, സംഭാഷണം ആരംഭിക്കും.

കോൾ പുരോഗമിക്കുമ്പോൾ, അത്
[`GET /v1/calls`](/api-reference/calls#list-calls)-ൽ
`status="in_progress"` സഹിതം ദൃശ്യമാകും. കോൾ അവസാനിക്കുമ്പോൾ, റെക്കോർഡ്
`end_reason`, `duration_seconds`, `billable_minutes`, കൂടാതെ (ഒടുവിൽ)
ഒരു റെക്കോർഡിംഗ് URL, AI ഗ്രേഡ് എന്നിവ ഉപയോഗിച്ച് അപ്ഡേറ്റ് ചെയ്യും.

## 5. ഫലങ്ങൾ പരിശോധിക്കുക

സമീപകാല കോളുകളുടെ പട്ടിക ലഭ്യമാക്കുക:

```bash
curl 'https://api.thunderphone.com/v1/calls?limit=5' \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY"
```

ട്രാൻസ്ക്രിപ്റ്റ് നേടുക:

```bash
curl https://api.thunderphone.com/v1/calls/{call_id}/transcript \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY"
```

റെക്കോർഡിംഗ് URL-ഉം നേടുക (ഹ്രസ്വകാലം സാധുവായ, സൈൻ ചെയ്തത്):

```bash
curl https://api.thunderphone.com/v1/calls/{call_id}/audio \
  -H "Authorization: Bearer sk_live_YOUR_API_KEY"
```

നിങ്ങൾ
[`telephony.complete` വെബ്ഹുക്ക്](/ml/webhooks/events)-ലേക്ക് സബ്സ്ക്രൈബ് ചെയ്തിട്ടുണ്ടെങ്കിൽ,
അതേ ഡാറ്റ നിങ്ങളുടെ സെർവറിലേക്ക് POST ആയി ലഭിക്കും — കാണുക:
[call.complete](/ml/webhooks/call-complete).

---

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

<CardGroup cols={2}>
  <Card title="ഡൈനാമിക് ഓരോ കോൾ കോൺഫിഗറേഷൻ" icon="bolt" href="/ml/guides/dynamic-call-config">
    ഫോൺ നമ്പർ അല്ലെങ്കിൽ webhook-ിലെ കസ്റ്റം ലോജിക് അടിസ്ഥാനമാക്കി ഓരോ കോളർക്കും വ്യത്യസ്ത ഏജന്റിനെ തിരഞ്ഞെടുക്കുക.
  </Card>
  <Card title="ടൂൾ ഇന്റഗ്രേഷനുകൾ ചേർക്കുക" icon="screwdriver-wrench" href="/ml/guides/build-tool-integration">
    സംഭാഷണത്തിനിടയിൽ നിങ്ങളുടെ API-കളെ വിളിക്കാൻ ഏജന്റിനെ അനുവദിക്കുക.
  </Card>
  <Card title="കോളുകൾ ട്രാൻസ്ഫർ ചെയ്യുക" icon="phone-arrow-right" href="/ml/guides/call-transfers">
    കോളർമാരെ നേരിട്ട് റൂട്ട് ചെയ്യുക അല്ലെങ്കിൽ കണക്റ്റ് ചെയ്യുന്നതിന് മുമ്പ് ലക്ഷ്യസ്ഥാനത്തെ പരിശോധിക്കുക.
  </Card>
  <Card title="call.complete webhooks സ്വീകരിക്കുക" icon="bolt" href="/ml/webhooks/call-complete">
    പൂർത്തിയായ ഓരോ കോളും നിങ്ങളുടെ CRM / അനലിറ്റിക്സ് പൈപ്പ്‌ലൈനിലേക്ക് സ്ട്രീം ചെയ്യുക.
  </Card>
  <Card title="AI ഗ്രേഡിംഗും പ്രശ്ന റിപ്പോർട്ടുകളും" icon="chart-line" href="/api-reference/calls#ai-call-grading">
    ഓരോ കോളും സ്വയമേവ സ്കോർ ചെയ്യുക, ഫ്ലാഗ് ചെയ്തവ അവലോകനത്തിനായി റൂട്ട് ചെയ്യുക.
  </Card>
</CardGroup>
