مستندات توسعه دهنده‌گان

دریافت لیست تماس ها

با استفاده از دستور زیر میتوانید موارد زیر را دریافت کنید:

  • لیست تماس ها
  • مشخصات تماس
  • نمایش شماره مبدا و مقصد به همراه اطلاعات مخاطب

لیست کامل تمام تماس های انجام شده به همراه وضعیت تماس

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

پیش نیازها
برای استفاده از service_id باید از دریافت اطلاعات پایه سرویس دریافت کنید و برای استفاده دیگری داده ها را در پایگاه داده خود ذخیره کنید.

Header

نام اجباری بودن نوع داده توضیحات
webservice-token بله String شما میتوانید توکن وب سرویس خود را از پنل کاربری دریافت نمایید

body

نام اجباری بودن نوع داده توضیحات
service_id yes String you can get service_id from service route.
page no Int integer number for pagination, default = 1.
sort no String this variable must be DESC or ASC, default = DESC.

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

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

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

#POST method calling
curl -H "webservice_token: {YOUR_TOKEN}" -d "service_id={YOUR_SERVICE_ID}&page=1&sort=DESC" https://panel.telefonchy.com/webservice/v1/calls
				
			
				
					// 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);
				
			
				
					#POST method calling
$ch = curl_init();

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

$post_fields = [
    'service_id' => '{YOUR_SERVICE_ID}',
    'page' => 1,
    'sort' => 'DESC'
];

curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);

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": [
            {
                "service_id": "{YOUR_SERVICE_ID}",
                "call_id": "71966",
                "type": "incoming",
                "trunk": "21xxxxxxxx",
                "status": "BUSY",
                "note": null,
                "call_source": {
                    "number": "91xxxxxxxx",
                    "contact": {
                        "location": "مشهد",
                        "contact_id": "24626",
                        "name": null,
                        "company": null,
                        "email": null,
                        "address": null,
                        "note": null
                    }
                },
                "call_dest": {
                    "number": "91xxxxxxxx",
                    "contact": null
                },
                "time_wait": "6",
                "time_talk": "0",
                "file_id": null,
                "price_wait": "17",
                "price_talk": "0",
                "price_record": "0",
                "price_saved": "0",
                "price": 17,
                "created_at": "1399-04-21 12:02:18",
                "ended_at": "1399-04-21 12:02:24"
            }
        ]
    },
    "paginator": {
        "current": 1,
        "before": 1,
        "next": 1,
        "last": 1,
        "total_pages": 1,
        "total_items": 1
    }
}
				
			

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

calls: لیست تماس ها

service_id: شناسه سرویس

call_id: شناسه تماس

type: outgoing | incoming | local

local: تماس های داخلی

incoming: تماس های ورودی

outgoing: تماس خروجی

‍‍‍trunk: شماره خط سرویس مربوطه

status: ANSWERED | BUSY | NO ANSWER | CONGESTION

ANSWERED: با موفقیت پاسخ داده شده

BUSY: خط مشغول بوده و تماس قطع شده

NO ANSWER: پاسخ داده نشده

CONGESTION: به دلیل شلوغی خط تماس قطع شده است

note: توضیحات تماس که از طریق پنل مشتری قابل ثبت است.

call_source: اطلاعات تماس گیرنده

number: شماره تماس گیرنده

contact(nullable): اطلاعات شماره تماس گیرنده که برابر با اطلاعات دفترچه تلفن است

location(nullable): نام شهرمخاطب

contact_id: شناسه مخاطب

name(nullable): نام مخاطب

company(nullable): شرکت مخاطب

email(nullable): ایمیل مخاطب

address(nullable): آدرس مخاطب

note(nullable): توضیحات مخاطب

numbers: لیست شماره های مربوط به مخاطب

number_id‍: شناسه شماره

number: شماره مخاطب

type: نوع شماره مخاطب

call_dest: اطلاعات مقصد تماس

number: شماره مقصد تماس

contact(nullable): اطلاعات شماره مقصد که برابر با اطلاعات دفترچه تلفن است

location(nullable): نام شهرمخاطب

contact_id: شناسه مخاطب

name(nullable): نام مخاطب

company(nullable): شرکت مخاطب

email(nullable): ایمیل مخاطب

address(nullable): آدرس مخاطب

note(nullable): توضیحات مخاطب

numbers: لیست شماره های مربوط به مخاطب

number_id‍: شناسه شماره

number: شماره مخاطب

type: نوع شماره مخاطب

time_wait: مدت زمان انتظار تماس گیرنده

time_talk: مدت زمان صحبت

file_id: فایل ضبط مکالمه

price_wait: هزینه مدت انتظار

price_talk: هزینه مکالمه

price_record: هزینه ظبط تماس

price_saved: هزینه صرفه جویی بسته مکالمه

price: هزینه کل

created_at: تاریخ و ساعت ثبت تماس

ended_at: تاریخ و ساعت پایان تماس

price_wait: 1

price_talkd: 1,

price_record: 1,

price_saved: 1,

price: 0

دریافت لیست استان ها و شهرهای زیر مجموعه

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

Header

نام اجباری بودن نوع داده توضیحات
webservice-token بله String شما میتوانید توکن وب سرویس خود را از پنل کاربری دریافت نمایید

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

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

				
					# curl shell code

curl -i -H "webservice_token: {YOUR_TOKEN}" https://panel.telefonchy.com/webservice/v1/locations
				
			
				
					// php curl code

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL,"https://panel.telefonchy.com/webservice/v1/locations");

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": {
        "locations": [
            {
                "province": "آذربایجان شرقی",
                "cities": [
                    {
                        "location_id": "1",
                        "name": "آذرشهر"
                    }
                ]
            }
        ]
    }
				
			

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

locations: لیست اطلاعات استان ها و شهرهای زیر مجموعه

province: نام استان

cities: لیست شهرهای زیر مجموعه

location_id: شناسه شهر

این شناسه در روت های بعدی که به سیستم اضافه میشود مورد نیاز است.

name: نام شهر

دریافت تاریخ سرور

با استفاده از این دستور تاریخ سرور را دریافت کنید

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

Header

نام اجباری بودن نوع داده توضیحات
webservice-token بله String شما میتوانید توکن وب سرویس خود را از پنل کاربری دریافت نمایید

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

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

				
					# curl shell code

curl -i -H "webservice_token: {YOUR_TOKEN}" https://panel.telefonchy.com/webservice/v1/current/date
				
			
				
					// php curl code

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL,"https://panel.telefonchy.com/webservice/v1/current/date");

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": {
        "unix": 1594640783,
        "persian": {
            "full": "1399-04-23 16:16:23",
            "date": {
                "string": "1399-04-23",
                "day": 23,
                "month": 4,
                "year": 1399
            },
            "time": {
                "string": "16:16:23",
                "hour": 16,
                "min": 16,
                "sec": 23
            }
        },
        "gregorian": {
            "full": "2020-07-13 16:16:23",
            "date": {
                "string": "2020-07-13",
                "day": 13,
                "month": 7,
                "year": 2020
            },
            "time": {
                "string": "16:16:23",
                "hour": 16,
                "min": 16,
                "sec": 23
            }
        }
    }
}
				
			

دریافت اطلاعات پایه سرویس

با استفاده از دستور زیر میتوانید موارد زیر را دریافت کنید:

  • لیست سرویس ها
  • خطوط فعال
  • داخلی های خطوط

اطلاعات پایه سرویس را سعی کنید در دیتابیس محلی خود ذخیره کنید تا بتوانید از اطلاعات ذخیره شده در روت هایی که در آینده به سیستم اضافه میشود به راحتی استفاده کنید.

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

				
			

Header

نام اجباری بودن نوع داده توضیحات
webservice-token بله String شما میتوانید توکن وب سرویس خود را از پنل کاربری دریافت نمایید

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

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

				
					# curl shell code

curl -i -H "webservice-token: {YOUR_TOKEN}" https://panel.telefonchy.com/webservice/v1/services
				
			
				
					// php curl code

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL,"https://panel.telefonchy.com/webservice/v1/services");

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": [
        {
            "service_id": "{ANY_STRING}",
            "trunks": [
                "number": "021XXXXXXXXXXX",
            ],
            "extens": [
                {
                    "number": "1510",
                    "name": "کارشناس1"
                }
            ]
        }
    ]
}
				
			

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

service_id: شناسه سرویس. (بسیار مهم)

trunks: اطلاعات خطوط

id: شناسه خط فعال

number: شماره خط

extens: داخلی های سرویس

number: شماره داخلی خط

name: نام اپراتور متصل به داخلی

CDR(Call-Detail Record)

یکی از رویدادهای تعبیه شده در سیستم است به این صورت که در صورت اتمام هر تماس اطلاعات به آدرسی که مشتری در پنل برای این رویداد تعریف کرده باشد، ارسال خواهد کرد.

اطلاعاتی که ارسال میکند به صورت زیر است:

				
					{
    "service_id": "{YOUR_SERVICE_ID}",
    "call_id": "71966",
    "type": "incoming",
    "trunk": "21xxxxxxxx",
    "status": "BUSY",
    "note": null,
    "call_source": {
        "number": "91xxxxxxxx",
        "contact": {
            "location": "مشهد",
            "contact_id": "24626",
            "name": null,
            "company": null,
            "email": null,
            "address": null,
            "note": null
        }
    },
    "call_dest": {
        "number": "91xxxxxxxx",
        "contact": null
    },
    "time_wait": "6",
    "time_talk": "0",
    "price_wait": 1,
    "price_talk": 2,
    "price_record": 2,
    "price_saved": 3,
    "price": 3,
    "created_at": "1399-04-21 12:02:18",
    "ended_at": "1399-04-21 12:02:24"
}


				
			

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

service_id: شناسه سرویس

call_id: شناسه تماس

type: outgoing | incoming | local

local: تماس های داخلی

incoming: تماس های ورودی

outgoing: تماس خروجی

‍‍‍trunk: شماره خط سرویس مربوطه

status: ANSWERED | BUSY | NO ANSWER | CONGESTION

ANSWERED: با موفقیت پاسخ داده شده

BUSY: خط مشغول بوده و تماس قطع شده

NO ANSWER: پاسخ داده نشده

CONGESTION: به دلیل شلوغی خط تماس قطع شده است

note: توضیحات تماس که از طریق پنل مشتری قابل ثبت است.

call_source: اطلاعات تماس گیرنده

number: شماره تماس گیرنده

contact(nullable): اطلاعات شماره تماس گیرنده که برابر با اطلاعات دفترچه تلفن است

location(nullable): نام شهرمخاطب

contact_id: شناسه مخاطب

name(nullable): نام مخاطب

company(nullable): شرکت مخاطب

email(nullable): ایمیل مخاطب

address(nullable): آدرس مخاطب

note(nullable): توضیحات مخاطب

numbers: لیست شماره های مربوط به مخاطب

number_id‍: شناسه شماره

number: شماره مخاطب

type: نوع شماره مخاطب

call_dest: اطلاعات مقصد تماس

number: شماره مقصد تماس

contact(nullable): اطلاعات شماره مقصد که برابر با اطلاعات دفترچه تلفن است

location(nullable): نام شهرمخاطب

contact_id: شناسه مخاطب

name(nullable): نام مخاطب

company(nullable): شرکت مخاطب

email(nullable): ایمیل مخاطب

address(nullable): آدرس مخاطب

note(nullable): توضیحات مخاطب

numbers: لیست شماره های مربوط به مخاطب

number_id‍: شناسه شماره

number: شماره مخاطب

type: نوع شماره مخاطب

time_wait: مدت زمان انتظار تماس گیرنده

time_talk: مدت زمان صحبت

price_wait: هزینه مدت انتظار

price_talk: هزینه مکالمه

price_record: هزینه ظبط تماس

price_saved: هزینه صرفه جویی بسته مکالمه

price: هزینه کل

created_at: تاریخ و ساعت ثبت تماس

ended_at: تاریخ و ساعت پایان تماس