برای دریافت لیست تماس ها بهمراه اطلاعات کامل هر تماس می‌توانید با فراخوانی آدرس زیر اقدام نمایید:

`[GET]` https://panel.telefonchy.com/webservice/v1/calls

Header

نام

اجباری بودن

نوع داده

توضیحات

webservice-token

بله

String

توکن وبسرویس خود را می‌توانید از پنل کاربری دریافت نمایید

body

نام

اجباری بودن

نوع داده

توضیحات

service_id

yes

String

شناسه سرویس خود را می‌توانید از پنل کاربری دریافت نمایید

call_dest

no

String

شماره مقصد تماس. برای فیلتر کردن تماس‌ها با مقصد خاص.

date_from

no

Date

تاریخ شروع برای فیلتر کردن تماس‌ها. فرمت تاریخ باید Y/m/d 00:00 باشد. تاریخ به صورت شمسی میباشد.

date_to

no

Date

تاریخ پایان برای فیلتر کردن تماس‌ها. فرمت تاریخ باید Y/m/d 00:00 باشد. تاریخ به صورت شمسی میباشد.

type

no

String

نوع تماس. می‌تواند "incoming" یا "outgoing" باشد.

status

no

String

وضعیت تماس. مثلا "awnser" یا "no-answer".

call_source

no

String

منبع تماس. شماره ورودی تماس میباشد

exten

no

String

شماره داخلی تماس. برای فیلتر کردن تماس‌ها بر اساس داخلی.

trunk_id

no

String

شناسه ترانک برای فیلتر کردن تماس‌ها بر اساس شماره خط.

note

no

String

یادداشت‌های مربوط به تماس.

sort

no

String

این متغیر باید "ASC" یا "DESC" باشد. پیش‌فرض = DESC.

page

no

Int

شماره صفحه برای pagination. پیش‌فرض = 1.

نمونه کد و خروجی

نمونه کد درخواست

# curl shell code

# Get method calling
curl -i -H "webservice-token: {YOUR_TOKEN}"  'https://panel.telefonchy.com/webservice/v1/calls?service_id={YOUR_SERVICE_ID}&page=1&sort=DESC'
// php curl code

#GET method calling
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL,"https://panel.telefonchy.com/webservice/v1/calls?service_id={YOUR_SERVICE_ID}&page=1");

curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$headers = [
    'webservice_token: {YOUR_TOKEN}',
];

curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$server_output = curl_exec ($ch);
curl_close ($ch);

// dd code
dump(json_decode($server_output));
die(1);

نمونه خروجی درخواست

{
    "status": "Ok",
    "code": 200,
    "message": null,
    "data": {
        "calls": [
            {
                "cuid": "1733821495.716007",
                "server_id": "2",
                "call_source": "123456",
                "type": "outgoing",
                "status": "ANSWERED",
                "exceptions": {
                    "exten": [],
                    "record": [],
                    "route": []
                },
                "route": [
                    {
                        "type": "OutgoingRoute",
                        "name": "Outgoing Route",
                        "duration": 10.5,
                        "date": "2024-12-10T12:35:00"
                    },
                    {
                        "type": "SmartApi",
                        "name": "Identifier",
                        "duration": 5.2,
                        "date": "2024-12-10T12:35:10"
                    }
                ],
                "time_wait": 12,
                "time_talk": 180,
                "started_at": "2024-12-10 12:30:00",
                "ended_at": "2024-12-10 12:32:00",
                "jalali_started_at": "1403-09-20 12:30:00",
                "jalali_ended_at": "1403-09-20 12:32:00",
                "created_at": "2024-12-10T12:00:00.000000Z",
                "updated_at": "2024-12-10T12:01:00.000000Z",
                "trunk_id": "t64k-35e34444-4f6b-48e3-a375-72e7542d0fcd",
                "trunk": "02191300474",
                "service_id": "3Ev15-48bb6944-10ce-4dff-aa09-b45919417287",
                "exten": {
                    "exten_id": "123456",
                    "number": "123456",
                    "name": "حسیبا عرفانی"
                },
                "contact": {
                    "call_source": {
                        "type": "exten",
                        "contact_id": 123456",
                        "name": "حسیبا عرفانی"
                    },
                    "call_dest": {
                        "type": "contact",
                        "contact_id": "12345",
                        "name": "مریم فرزین"
                    }
                },
                "file_record": "20241210_v2.1733821495.716007.mp3",
                "call_dest": "09117797716",
                "file_id": "4i1E-96dad9eb-2afe-4065-9901-e222691a6bed",
                "id": "6758031815737197e20aaa39"
            }
        ]
    },
    "paginator": {
        "current": 1,
        "before": 1,
        "next": 1,
        "last": 1,
        "total_pages": 1,
        "total_items": 1
    }
}

توضیحات فیلد های خروجی

  1. status:

    • نوع پاسخ دریافتی از سرور را نشان می‌دهد.

    • در اینجا "status": "Ok" نشان‌دهنده موفقیت‌آمیز بودن درخواست است.

  2. code:

    • کد وضعیت پاسخ است. در اینجا برابر با 200 است که نشان‌دهنده موفقیت‌آمیز بودن درخواست می‌باشد.

  3. message:

    • پیام اضافی از سرور برای توضیح بیشتر. در اینجا null است که به این معناست که پیام خاصی وجود ندارد.

  4. data:

    • آرایه‌ای از داده‌هایی که شامل اطلاعات تماس‌ها است.

    • هر شیء در این آرایه نمایانگر یک تماس است.

    هر تماس شامل فیلدهای زیر است:

    • cuid: شناسه منحصر به فرد تماس که برای شناسایی تماس‌ها استفاده می‌شود.

    • server_id: شناسه سرور که تماس در آن ثبت شده است.

    • call_source: شماره تماس منبع (تماس‌گیرنده). در اینجا “123456” به‌عنوان شماره تماس منبع نمایش داده شده است.

    • type: نوع تماس که می‌تواند incoming (ورودی) یا outgoing (خروجی) باشد. در اینجا نوع تماس outgoing است.

    • status: وضعیت تماس. در اینجا وضعیت تماس "ANSWERED" است که نشان‌دهنده این است که تماس پاسخ داده شده است.

    • exceptions: استثناها برای تماس که می‌تواند شامل فیلدهای مختلف باشد. در اینجا خالی است.

    • route: مسیرهای مختلفی که تماس از آن‌ها عبور کرده است. این مسیرها به‌طور معمول شامل مراحل مختلف پردازش تماس می‌شوند.

      • برای مثال:

        • "OutgoingRoute": مسیر خروجی تماس

        • "SmartApi": مسیر API هوشمند که برای شناسایی تماس استفاده می‌شود.

    • time_wait: مدت زمان انتظار قبل از پاسخ به تماس به ثانیه. در اینجا ۱۲ ثانیه است.

    • time_talk: مدت زمان مکالمه به ثانیه. در اینجا ۱۸۰ ثانیه است که نشان‌دهنده طول مدت مکالمه می‌باشد.

    • started_at: زمان شروع تماس در فرمت استاندارد تاریخ و زمان.

    • ended_at: زمان پایان تماس در فرمت استاندارد تاریخ و زمان.

    • jalali_started_at: زمان شروع تماس به فرمت تاریخ شمسی (هجری شمسی).

    • jalali_ended_at: زمان پایان تماس به فرمت تاریخ شمسی.

    • created_at: زمان ایجاد تماس در پایگاه داده.

    • updated_at: زمان آخرین به‌روزرسانی اطلاعات تماس.

    • trunk_id: شناسه ترانک (خط ارتباطی) که تماس از آن برقرار شده است.

    • trunk: شماره ترانک (خط ارتباطی) که تماس از آن برقرار شده است.

    • service_id: شناسه سرویس که تماس به آن مربوط می‌شود.

    • exten: اطلاعات تماس داخلی که شامل شناسه، شماره و نام فرد تماس‌گیرنده است.

      • exten_id: شناسه تماس داخلی

      • number: شماره تماس داخلی

      • name: نام فرد تماس‌گیرنده

    • contact: اطلاعات مربوط به تماس‌گیرنده و تماس‌گیرنده مقصد.

      • call_source: شماره تماس‌گیرنده و اطلاعات مربوط به آن.

      • call_dest: شماره تماس مقصد و اطلاعات مربوط به آن.

    • file_record: نام فایل صوتی ذخیره شده از تماس. این فیلد null نیست و نشان‌دهنده فایل ضبط‌شده‌ی تماس است.

    • call_dest: شماره مقصد که تماس به آن انجام شده است.

    • file_id: شناسه فایل صوتی مربوط به تماس.

    • id: شناسه یکتای تماس که در پایگاه داده برای این تماس استفاده می‌شود.