Customer & Developer REST API
স্বাগতম Cloud PBX SaaS ডেভেলপার ডকুমেন্টেশনে। আমাদের স্বয়ংক্রিয় এআই ভয়েস কল ভেরিফিকেশন, কল হিস্ট্রি (CDR) রেকর্ডস, অডিও ডাউনলোড এবং রিয়েল-টাইম ওয়েব হুক ইঞ্জিন আপনার নিজস্ব সফটওয়্যার, WooCommerce/Shopify ইকমার্স স্টোর বা কাস্টম সিআরএমে ইন্টিগ্রেট করার জন্য এই RESTful এপিআই ব্যবহার করুন।
https://epbx.bd/api/v1
Authentication (অথেন্টিকেশন গাইড)
পাবলিক ওয়েব হুক ও পিং ছাড়া বাকি সব সুরক্ষিত এপিআই রিকোয়েস্টে আপনার টেন্যান্ট অ্যাকাউন্ট থেকে সংগৃহীত Bearer Token হেডার পাঠাতে হবে। টোকেন জেনারেট করতে আপনার ড্যাশবোর্ডে লগইন করে Developer API Settings মেনুতে যান।
Authorization: Bearer YOUR_API_TOKEN_HERE
Accept: application/json
Content-Type: application/json
Live API Testing Sandbox (স্যান্ডবক্স টেস্ট কনসোল)
অ্যাকাউন্ট না থাকলেও আপনি নিচে ডেমো টোকেন দিয়ে এপিআই রেসপন্স দেখতে পারেন অথবা আপনার নিজস্ব টোকেন বসিয়ে লাইভ অ্যাকাউন্ট টেস্ট করতে পারেন।
1. Outbound AI Order Verification Call API
আপনার ইকমার্স সাইটে নতুন অর্ডার আসার সাথে সাথে কাস্টমারের মোবাইলে একটি স্বয়ংক্রিয় ফোন কল পাঠানোর জন্য এই এপিআই কল করুন। সিস্টেম আপনার টেক্সটকে কৃত্রিম বুদ্ধিমত্তা দিয়ে বাংলায় উচ্চারণ করবে এবং কাস্টমারের চাপ দেওয়া বোতাম (১ = কনফার্ম, ২ = ক্যানসেল) সনাক্ত করে আপনার ওয়েব হুকে ফলাফল পাঠাবে।
Request Body Parameters (JSON Payload):
| Field | Type | Required | Description (বিবরণ) |
|---|---|---|---|
| phone_number | string | Yes | গ্রাহকের ১১ ডিজিটের মোবাইল নম্বর (যেমন: "01700000000")। |
| webhook_url | string (URL) | Yes | কল সম্পন্ন হওয়ার পর ফলাফল পাওয়ার জন্য আপনার সাইটের Webhook URL। |
| custom_text | string | Optional | AI যে টেক্সটটি কাস্টমারকে পড়ে শোনাবে। না দিলে ডিফল্ট ভেরিফিকেশন স্পিচ হবে। |
| custom_audio_url | string (URL) | Optional | AI ভয়েসের বদলে নিজস্ব প্রি-রেকর্ডেড অডিও ফাইল বাজাতে চাইলে সরাসরি MP3/WAV লিংক। |
| confirm_text | string | Optional | কাস্টমার ১ প্রেস করলে তাকে যে ধন্যবাদ মেসেজ শোনানো হবে। |
| cancel_text | string | Optional | কাস্টমার ২ প্রেস করলে তাকে যে বাতিল/এজেন্ট মেসেজ শোনানো হবে। |
| agent_extension | string | Optional | ২ প্রেস করলে সরাসরি আপনার যে সাপোর্ট এজেন্টের এক্সটেনশনে ট্রান্সফার হবে (যেমন: "101")। |
Example Request (cURL):
curl -X POST https://epbx.bd/api/v1/calls/verify \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"phone_number": "01712345678",
"customer_name": "Rahim",
"amount": "1250 BDT",
"store_name": "My Online Shop",
"custom_text": "Hello Rahim, thank you for ordering. Press 1 to confirm, press 2 to cancel.",
"confirm_text": "Thank you! Your order has been confirmed.",
"cancel_text": "Your order has been cancelled.",
"webhook_url": "https://mystore.com/wp-json/custom/v1/order-webhook",
"agent_extension": "101"
}'
2. Click-to-Call (Originate) API
আপনার নিজস্ব CRM বা হেল্পডেস্কে 'Call' বাটনে ক্লিক করলে সিস্টেম প্রথমে আপনার অফিস এজেন্টের আইপি ফোন বা মোবাইল অ্যাপে রিং করবে। এজেন্ট ফোন তোলার সাথে সাথে কাস্টমারের নাম্বারে ডায়াল করে দুজনের মাঝে সরাসরি কল কানেক্ট করিয়ে দেবে।
Request Body Parameters:
| Field | Type | Required | Description |
|---|---|---|---|
| extension | string | Yes | যে এক্সটেনশনে প্রথমে কল যাবে (যেমন: "101")। |
| phone_number | string | Yes | কাস্টমারের ফোন নাম্বার (যেমন: "01800000000")। |
| caller_id | string | Optional | কাস্টমারের স্ক্রিনে প্রদর্শিত কলার আইডি বা ট্রাঙ্ক নম্বর। |
Example Request:
curl -X POST https://epbx.bd/api/v1/calls/originate \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"extension": "101",
"phone_number": "01812345678",
"caller_id": "09639000000"
}'
3. Real-Time Event Webhook Engine
কলটি সমাপ্ত হওয়ার সাথে সাথে PBX আপনার দেওয়া webhook_url-এ স্বয়ংক্রিয়ভাবে একটি HTTP POST রিকোয়েস্ট পাঠায়। নিচে কাস্টমারের অ্যাকশন অনুযায়ী ফলাফল তালিকা দেওয়া হলো:
কাস্টমার কল রিসিভ করে ফোনে ১ (CONFIRM) প্রেস করেছেন। আপনার স্টোরে অর্ডার কনফার্ম করে দিন।
কাস্টমার ফোনে ২ (CANCEL) প্রেস করেছেন (এবং এজেন্ট ট্রান্সফার শুরু হয়েছে)।
কাস্টমার ফোন ধরেছেন কিন্তু অডিও চলাকালীন কোনো বাটন প্রেস করেননি।
কাস্টমার অন্য কলে ব্যস্ত ছিলেন, কল রিজেক্ট করেছেন অথবা ৬০ সেকেন্ডের মধ্যে ফোন রিসিভ করেননি।
Webhook Payload Sent to Your Server (POST Body):
{
"order_id": "89231",
"status": "confirmed",
"digit_pressed": "1",
"phone_number": "01712345678",
"call_id": "test_6aaee835d75f8",
"event": "order_verification_call",
"timestamp": "2026-09-20T01:30:00+06:00"
}
Live Webhook Tester (রিয়েল-টাইম টেস্ট টুল)
আপনার সাইটের Webhook হ্যান্ডলার কোনো কল ছাড়াই পরীক্ষা করুন। নিচে আপনার URL দিন, সিস্টেম সরাসরি আপনার সাইটে পিং পাঠিয়ে আপনার সার্ভারের রেসপন্স কোড ও লেটেন্সি (ms) দেখাবে।
4. Call Detail Records (CDR) & Call History API
আপনার অ্যাকাউন্টের সমস্ত ইনকামিং এবং আউটগোয়িং কলের বিস্তারিত ইতিহাস, টকটাইম, কলার আইডি, স্ট্যাটাস এবং রেকর্ডিং অডিও লিংক প্রোগ্রাম্যাটিকভাবে সংগ্রহ করতে এই এপিআই ব্যবহার করুন।
Query Parameters (ফিল্টারিং অপশনস):
| Parameter | Type | Description |
|---|---|---|
| start_date | string (YYYY-MM-DD) | যে তারিখ থেকে হিস্ট্রি দেখতে চান (যেমন: "2026-09-01")। |
| end_date | string (YYYY-MM-DD) | যে তারিখ পর্যন্ত হিস্ট্রি দেখতে চান (যেমন: "2026-09-20")। |
| phone_number | string | নির্দিষ্ট কোনো কাস্টমারের ফোন নাম্বার দিয়ে ফিল্টার করতে। |
| extension | string | নির্দিষ্ট কোনো অফিস এক্সটেনশন দিয়ে ফিল্টার করতে (যেমন: "101")। |
| disposition | string | কলের স্ট্যাটাস: ANSWERED, NO ANSWER, BUSY, FAILED |
| page | integer | পেজিনেশন পৃষ্ঠা নম্বর (ডিফল্ট: 1)। |
| per_page | integer | প্রতি পৃষ্ঠায় কতটি কল রেকর্ড আসবে (ডিফল্ট: 20, সর্বোচ্চ: 100)। |
Example Response (JSON):
{
"status": "success",
"tenant": "My Store",
"data": [
{
"call_id": "1726792341.1293",
"date": "2026-09-20 01:23:45",
"source": "01712345678",
"destination": "101",
"caller_id": "01712345678",
"disposition": "ANSWERED",
"duration_seconds": 125,
"billable_seconds": 110,
"has_recording": true,
"recording_url": "https://epbx.bd/api/v1/calls/recordings/1726792341.1293"
}
],
"pagination": {
"current_page": 1,
"last_page": 5,
"per_page": 20,
"total": 98
}
}
5. Call Recording Stream & Download API
নির্দিষ্ট কোনো কলের অডিও রেকর্ডিং ফাইল সরাসরি ব্রাউজারে শুনতে অথবা আপনার নিজস্ব সার্ভারে ব্যাকআপ ডাউনলোড করতে এই এপিআই কল করুন। এটি অডিও ফাইলটি সরাসরি audio/wav অথবা audio/mpeg আকারে রিটার্ন করে।
Example Request:
curl -X GET https://epbx.bd/api/v1/calls/recordings/1726792341.1293 \
-H "Authorization: Bearer YOUR_API_TOKEN" \
--output call_recording_1726792341.wav
Global Wallet Balance
আপনার মূল পোর্টাল ওয়ালেটের অবশিষ্ট টাকার পরিমাণ জানতে:
curl -X GET https://epbx.bd/api/v1/balance/global \
-H "Authorization: Bearer YOUR_API_TOKEN"
Response: {"status":"success", "balance":4248.83, "currency":"BDT"}
SIP Trunk Balance
আপনার টেলিফোন গেটওয়ে/আইপি ট্রাঙ্কের ব্যালেন্স জানতে:
curl -X GET https://epbx.bd/api/v1/balance/ip \
-H "Authorization: Bearer YOUR_API_TOKEN"
Response: {"status":"success", "balance":135.44, "trunk":"09639666896"}
7. Call Rates & Voice Pricing Guide (কল রেট ও বিলিং হিসেব)
সিস্টেম স্বচ্ছ ও ডাইনামিক বিলিং পলিসি অনুসরণ করে। এআই ভয়েস কল চলাকালীন আপনার সিলেক্ট করা মডেল অনুযায়ী প্রতি ১০০ ক্যারেক্টারে নিম্নরূপ ফি চার্জ করা হয় (যা স্বয়ংক্রিয়ভাবে আপনার অ্যাকাউন্ট ওয়ালেট থেকে অ্যাডজাস্ট হয়):
• কিন্তু আপনি যদি এপিআই-এর মাধ্যমে সরাসরি কোনো ডাইনামিক অডিও লিংক (custom_audio_url) পাস করেন, তবে সেটিকে ডাউনলোড ও কনভার্ট করার জন্য প্রতি কলে ৳0.45 BDT ফেচিং ফি প্রযোজ্য হবে।
8. Carrier SMS Dispatch API (eCMS Gateway Integration)
আপনার টেন্যান্ট পোর্টালে (Developer Settings > eCMS SMS Integration ট্যাবে) যদি আপনার eCMS বাল্ক এসএমএস অ্যাকাউন্ট কানেক্ট করা থাকে (API Token কনফিগার করা থাকে), তবে আপনার নিজস্ব ওয়েবসাইট, অ্যাপ বা সিআরএম থেকে সরাসরি কাস্টমারদের অর্ডার নোটিফিকেশন, ওটিপি বা ট্রানজেকশনাল মেসেজ পাঠাতে এই এপিআই ব্যবহার করতে পারবেন।
curl -X POST https://epbx.bd/api/v1/sms/send-external \
-H "Authorization: Bearer YOUR_PBX_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"phone": "01712345678",
"message": "Your order #89231 has been dispatched. Thank you for shopping with us!"
}'