ThunderPhone 2.0 अब लाइव है।सेल्फ़-सर्व, 2¢ प्रति मिनट से शुरू।घोषणा पढ़ें

Developer cookbook

आउटबाउंड कॉल करें (API)

अपने कोड से AI-संचालित आउटबाउंड कॉल ट्रिगर करें — सर्वे, फॉलो-अप या पुष्टि फ़्लो के लिए।

आउटबाउंड कॉलिंग आपको ThunderPhone को एक डेस्टिनेशन नंबर और एक एजेंट कॉन्फ़िगरेशन देने देती है, ताकि AI आपकी ओर से कॉल कर सके। सामान्य उपयोग के मामले:

  • अपॉइंटमेंट कन्फर्मेशन
  • सर्वे कॉलबैक
  • मिस्ड कॉल के बाद "सेकंड-ट्राई" फॉलो-अप
  • डिस्पैच-स्टाइल नोटिफिकेशन

आवश्यक शर्तें

  1. एक VoIP नंबर लाएँ

    आउटबाउंड कॉलिंग के लिए आपका from_number किसी VoIP कनेक्शन के माध्यम से आपका अपना होना चाहिए। डेमो नंबर केवल इनबाउंड के लिए हैं। देखें अपने नंबर लाएँ

  2. एक एजेंट बनाएँ

    आउटबाउंड-उन्मुख प्रॉम्प्ट आमतौर पर एजेंट के अपना परिचय और उद्देश्य बताने से शुरू होता है — "नमस्ते, मैं Acme से बोल रहा हूँ और कल दोपहर 3 बजे के आपके अपॉइंटमेंट की पुष्टि करने के लिए कॉल कर रहा हूँ…" outbound_speak_order को agent_first पर सेट करें (डिफ़ॉल्ट)।

  3. पॉज़िटिव बैलेंस बनाए रखें

    यदि बैलेंस ≤ $0.00 है, तो आउटबाउंड कॉल 402 Payment Required लौटाती हैं। इसके माध्यम से टॉप अप करें POST /v1/billing/top-up या ऑटो-रीलोड सक्षम करें।

सेव किए गए एजेंट के साथ कॉल करें

सबसे सरल तरीका — id से एजेंट का रेफरेंस दें:

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
  }'

रिस्पॉन्स:

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

इनलाइन कॉन्फ़िगरेशन के साथ कॉल करें

यदि आपको एक ऐसा वन-ऑफ प्रॉम्प्ट चाहिए जिसे एजेंट के रूप में सेव करना उचित नहीं है, तो इसके बजाय config पास करें। इसका स्वरूप call.incoming वेबहुक के रिस्पॉन्स स्कीमा से मेल खाता है:

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 वेबहुक को सब्सक्राइब करें — कॉल समाप्त होने का पता लगाने का यह सबसे तेज़ तरीका है। यदि आप इनबाउंड वेबहुक स्वीकार नहीं कर सकते, तो हर कुछ सेकंड में GET /v1/calls/{call_id} को पोल करें; कॉल समाप्त होने पर रिकॉर्ड में end_reason, duration_seconds, और रिकॉर्डिंग URL शामिल होते हैं।

हैंडल करने योग्य फेल्योर मोड

एररसमाधान
402 Payment Requiredबैलेंस टॉप अप करें या ऑटो-रीलोड सक्षम करें
403 आउटबाउंड ब्लॉक्ड (डेमो नंबर)इसके बजाय VoIP नंबर लाएँ
403 आउटबाउंड ब्लॉक्ड (अनवेरिफ़ाइड VoIP)POST /v1/phone-numbers/{id}/verify-voip चलाएँ
404 from_number is not registered to this organizationपुष्टि करें कि from_number आपके स्वामित्व वाले फ़ोन नंबर से मेल खाता है
502 Bad Gatewayअस्थायी SIP / LiveKit फेल्योर; रिट्राई करना सुरक्षित है

होल्ड समय नियंत्रित करना

धीमी प्रतिक्रिया देने वाले कॉल प्राप्तकर्ता (IVR ट्री, क्यू) के कारण लंबे चलने वाले आउटबाउंड कॉल को max_hold_seconds के साथ सीमित किया जा सकता है:

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

यदि पिछले N सेकंड में कोई मानव ऑडियो प्राप्त नहीं हुआ है, तो एजेंट कॉल काट देता है। डिफ़ॉल्ट 900 (15 मिनट) है।


अगले चरण