---
title: "આઉટબાઉન્ડ કૉલ કરો (API)"
description: "તમારા પોતાના કોડમાંથી AI-સંચાલિત આઉટબાઉન્ડ કૉલ ટ્રિગર કરો — સર્વે, ફૉલો-અપ અથવા પુષ્ટિ ફ્લો માટે."
---

આઉટબાઉન્ડ કૉલિંગ દ્વારા તમે ThunderPhone ને ગંતવ્ય નંબર અને એજન્ટ
કૉન્ફિગ્યુરેશન આપી શકો છો અને AI તમારી તરફથી કૉલ કરી શકે છે. સામાન્ય ઉપયોગના કિસ્સાઓ:

- અપૉઇન્ટમેન્ટની પુષ્ટિઓ
- સર્વે માટેના પાછા કૉલ
- મિસ્ડ કૉલ પછીના "બીજા પ્રયાસ" ફૉલો-અપ્સ
- ડિસ્પેચ-શૈલીની સૂચનાઓ

<Note>
  આખી સૂચિને કૉલ કરવા માંગો છો? ડેશબોર્ડનું
  [**કેમ્પેઇન્સ**](/gu/guides/outbound-campaigns) ફીચર
  (`/dashboard/campaigns`) સંપર્કોની CSV લે છે અને તમારા માટે
  ટાઇમઝોન-આધારિત કૉલિંગ વિન્ડોઝ, કનકરન્સી અને રીટ્રાય નીતિ સંભાળે છે.
  આ માર્ગદર્શિકા એકલ પ્રોગ્રામેટિક કૉલ્સને આવરી લે છે.
</Note>

## પૂર્વજરૂરિયાતો

<Steps>
  <Step title="VoIP નંબર લાવો">
    આઉટબાઉન્ડ કૉલિંગ માટે તમારે
    [VoIP કનેક્શન](/api-reference/voip-connections) દ્વારા `from_number` ધરાવવો આવશ્યક છે. ThunderPhone નંબરો
    માત્ર ઇનબાઉન્ડ માટે છે. જુઓ
    [તમારા પોતાના નંબરો લાવો](/gu/guides/bring-your-own-numbers).
  </Step>
  <Step title="એજન્ટ બનાવો">
    આઉટબાઉન્ડ-કેન્દ્રિત prompt સામાન્ય રીતે એજન્ટ દ્વારા પોતાની
    ઓળખ અને હેતુ જણાવવાથી શરૂ થાય છે — "નમસ્તે, Acme તરફથી કાલે બપોરે 3 વાગ્યે તમારી અપૉઇન્ટમેન્ટની પુષ્ટિ કરવા માટે કૉલ કરી રહ્યા છીએ…"
    `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` વેબહૂક](/gu/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` વેબહૂક](/gu/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="/gu/webhooks/call-complete">
    પૂર્ણ થયેલા આઉટબાઉન્ડ કૉલ્સને તમારી સિસ્ટમમાં સ્ટ્રીમ કરો.
  </Card>
  <Card title="બિલિંગ" icon="credit-card" href="/api-reference/billing">
    બેલેન્સને કારણે આઉટબાઉન્ડ કૉલ્સ ક્યારેય નિષ્ફળ ન જાય તે માટે ઑટો-રીલોડ.
  </Card>
  <Card title="આઉટબાઉન્ડ એજન્ટ્સનું પરીક્ષણ કરો" icon="flask" href="/gu/guides/test-agents">
    પ્રોડક્શન પહેલાં તમારા આઉટબાઉન્ડ એજન્ટનું ડ્રાય-રન કરો.
  </Card>
</CardGroup>
