ThunderPhone 2.0 आता लाइव्ह आहे.स्वतःच सुरू करा—2¢/मिनिटपासून.घोषणा वाचा

Developer cookbook

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

तुमच्या स्वतःच्या कोडमधून AI-चालित आउटबाउंड कॉल ट्रिगर करा — सर्वेक्षण, फॉलो-अप किंवा पुष्टीकरण प्रवाहांसाठी.

आउटबाउंड कॉलिंगमुळे तुम्ही ThunderPhone ला गंतव्य क्रमांक आणि एजंट कॉन्फिगरेशन देऊ शकता आणि AI तुमच्या वतीने कॉल करू शकतो. सामान्य वापर प्रकरणे:

  • नियोजित भेटींची पुष्टी
  • सर्वेक्षणासाठी परतीचे कॉल
  • चुकलेल्या कॉलनंतरचे "दुसऱ्या प्रयत्नाचे" फॉलो-अप
  • प्रेषण-शैलीतील सूचना

पूर्वअट

  1. VoIP क्रमांक आणा

    आउटबाउंड कॉलिंगसाठी तुम्ही from_number चा मालक असणे आवश्यक आहे, जो VoIP कनेक्शन द्वारे असतो. ThunderPhone क्रमांक केवळ इनबाउंडसाठी आहेत. पहा तुमचे स्वतःचे क्रमांक आणा.

  2. एजंट तयार करा

    आउटबाउंड-केंद्रित prompt सहसा एजंट स्वतःची आणि त्याच्या उद्देशाची ओळख करून देण्यापासून सुरू होतो — "नमस्कार, 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" }

इनलाइन कॉन्फिगरेशनसह कॉल करा

एजंट म्हणून जतन करणे योग्य नसेल असा एकदाच वापरायचा prompt हवा असल्यास, त्याऐवजी config पाठवा. त्याचा आकार call.incoming webhook च्या प्रतिसाद स्कीमाशी जुळतो:

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 webhook ची सदस्यता घ्या — कॉल संपल्याचे जाणून घेण्याचा हा सर्वात जलद मार्ग आहे. तुम्ही इनबाउंड webhook स्वीकारू शकत नसल्यास, दर काही सेकंदांनी 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 चालवा
404 from_number is not registered to this organizationfrom_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 मिनिटे) आहे.


पुढील पायऱ्या