Open in
আউটবাউন্ড কল করুন (API)
আপনার নিজস্ব কোড থেকে AI-চালিত আউটবাউন্ড কল ট্রিগার করুন — জরিপ, ফলো-আপ বা নিশ্চিতকরণ ফ্লোর জন্য।
বহির্গামী কলিং আপনাকে ThunderPhone-কে একটি গন্তব্য নম্বর ও একটি এজেন্ট কনফিগারেশন দিতে দেয়, যাতে AI আপনার পক্ষ থেকে কল করতে পারে। সাধারণ ব্যবহার:
- অ্যাপয়েন্টমেন্ট নিশ্চিতকরণ
- সার্ভে কলব্যাক
- মিসড কলের পর "দ্বিতীয়-চেষ্টা" ফলো-আপ
- ডিসপ্যাচ-ধাঁচের বিজ্ঞপ্তি
পূর্বশর্ত
- একটি VoIP নম্বর আনুন
বহির্গামী কলিংয়ের জন্য একটি VoIP সংযোগ-এর মাধ্যমে আপনার
from_numberমালিকানাধীন হতে হবে। ThunderPhone নম্বরগুলো কেবল ইনবাউন্ড কলের জন্য। দেখুন নিজের নম্বর আনুন। - একটি এজেন্ট তৈরি করুন
বহির্গামী-ধাঁচের একটি prompt সাধারণত এজেন্টের নিজের পরিচয় এবং উদ্দেশ্য দিয়ে শুরু হয় — "হ্যালো, আমি Acme থেকে বলছি, আগামীকাল বিকেল 3টায় আপনার অ্যাপয়েন্টমেন্ট নিশ্চিত করতে…"
outbound_speak_order-কেagent_first-এ সেট করুন (এটি ডিফল্ট)। - ব্যালান্স ধনাত্মক রাখুন
ব্যালান্স ≤
$0.00হলে বহির্গামী কল402 Payment Requiredফেরত দেয়। ব্যালান্স টপ আপ করুনPOST /v1/billing/top-up-এর মাধ্যমে অথবা স্বয়ংক্রিয় রিলোড সক্রিয় করুন।
সংরক্ষিত এজেন্ট দিয়ে কল করুন
সবচেয়ে সহজ উপায় — আইডি দিয়ে একটি এজেন্ট উল্লেখ করুন:
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-এ সাবস্ক্রাইব করুন —
কল শেষ হয়েছে জানার এটি সবচেয়ে দ্রুত উপায়। আপনি যদি ইনবাউন্ড
ওয়েবহুক গ্রহণ করতে না পারেন, প্রতি কয়েক সেকেন্ডে 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 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 মিনিট)।