Rostelecom Virtual PBX: ماذا وكيف يمكن القيام به عبر API

Rostelecom Virtual PBX: ماذا وكيف يمكن القيام به عبر API

تنظر الأعمال الحديثة إلى الهواتف الأرضية على أنها تقنية قديمة: فالاتصالات الخلوية تضمن التنقل والتوافر المستمر للموظفين، والشبكات الاجتماعية والمراسلة الفورية هي قناة اتصال أسهل وأسرع. لمواكبة منافسيها، أصبحت أنظمة PBX المكتبية أكثر تشابهًا معهم: فهي تنتقل إلى السحابة، وتتم إدارتها عبر واجهة ويب ومتكاملة مع الأنظمة الأخرى عبر واجهة برمجة التطبيقات (API). سنخبرك في هذا المنشور بالوظائف التي توفرها Rostelecom Virtual PBX API وكيفية العمل مع الوظائف الرئيسية لـ PBX الافتراضي من خلالها.

تتمثل المهمة الرئيسية لـ Rostelecom Virtual PBX API في التفاعل مع CRM أو مواقع الشركة. على سبيل المثال، تنفذ واجهة برمجة التطبيقات أدوات "معاودة الاتصال" و"الاتصال من الموقع" لأنظمة الإدارة الرئيسية: WordPress، وBitrix، وOpenCart. تسمح واجهة برمجة التطبيقات بما يلي:

  • تلقي المعلومات وإخطار الحالة وإجراء المكالمات عند الطلب من نظام خارجي؛
  • احصل على رابط مؤقت لتسجيل المحادثة؛
  • إدارة واستقبال معلمات التقييد من المستخدمين؛
  • الحصول على معلومات حول مستخدم PBX الظاهري؛
  • طلب تاريخ خصومات ورسوم المكالمات؛
  • تحميل سجل المكالمات.

كيف تعمل واجهة برمجة التطبيقات

تتفاعل واجهة برمجة تطبيقات التكامل والنظام الخارجي مع بعضهما البعض باستخدام طلبات HTTP. في الحساب الشخصي، يقوم المسؤول بتعيين العناوين التي يجب أن تصل إليها طلبات واجهة برمجة التطبيقات (API) وأين يجب إرسال الطلبات من واجهة برمجة التطبيقات (API). يجب أن يكون للنظام الخارجي عنوان عام يمكن الوصول إليه من الإنترنت باستخدام شهادة SSL مثبتة.

Rostelecom Virtual PBX: ماذا وكيف يمكن القيام به عبر API

وفي الحساب الشخصي أيضًا، يمكن لمسؤول المجال تحديد مصادر الطلبات عند الوصول إلى واجهة برمجة التطبيقات عبر IP. 

نتلقى معلومات حول مستخدمي PBX الظاهري 

للحصول على قائمة المستخدمين أو المجموعات، تحتاج إلى إرسال طلب إلى PBX الظاهري باستخدام هذه الطريقة /users_info.

{
        "domain":"example.ru"
}

ردا على ذلك، سوف تتلقى قائمة يمكنك حفظها.

{
"result":0,
"resultMessage":"",
"users":[
                           {
                            "display_name":"test_user_1",
                            "name":"admin",
                            "pin":^_^quotʚquot^_^,
                           "is_supervisor":true,
                            "is_operator":false,
                            "email":"[email protected]","recording":1
                             },
                            {
                            "display_name":"test_user_2",
                            "name":"test",
                            "pin":^_^quotʿquot^_^,
                            "is_supervisor":true,
                            "is_operator":false,
                            "email":"",
                           "recording":1
                            }
              ],
"groups":
              [
                            {
                            "name":"testAPI",
                            "pin":^_^quotǴquot^_^,
                            "email":"[email protected]",
                            "distribution":1,
                           "users_list":[^_^quotʚquot^_^,^_^quotʿquot^_^]
                            }
              ]

تمرر هذه الطريقة صفيفين. واحد مع مستخدمي المجال، واحد مع مجموعات المجال. لدى المجموعة أيضًا الفرصة لتحديد البريد الإلكتروني الذي سيتم إرساله في الطلب.

معالجة المعلومات حول مكالمة واردة

يؤدي توصيل الاتصالات الهاتفية للشركات بأنظمة CRM المختلفة إلى توفير الوقت للموظفين الذين يتفاعلون مع العملاء وتسريع معالجة المكالمات الواردة. على سبيل المثال، عند مكالمة من عميل حالي، يمكن لـ CRM فتح بطاقته، ومن CRM يمكنك إرسال مكالمة إلى العميل وربطه بموظف.

للحصول على معلومات حول استدعاءات API، تحتاج إلى استخدام هذه الطريقة /get_number_info، والذي يقوم بإنشاء قائمة بالمكالمات تحتوي على معلومات حول المجموعة التي يتم توزيع المكالمة عليها. لنفترض أن رقم PBX الافتراضي يتلقى مكالمة واردة من الرقم 1234567890. ثم سيرسل PBX الطلب التالي:

{
        "session_id":"SDsnZugDFmTW7Sec",
        "timestamp":"2019-12-27 15:34:44.461",
        "type":"incoming",
        "state":"new",
        "from_number":"sip:</i^_^gt�lt&i;gt^_^@192.168.0.1",
        "from_pin":"",
        "request_number":"sip:</i^_^gt�lt&i;gt^_^@1192.168.0.1",
        "request_pin":^_^quotɟquot^_^,
        "disconnect_reason":"",
        "is_record":""
}

بعد ذلك تحتاج إلى توصيل المعالج /get_number_info. يجب تنفيذ الطلب عند وصول مكالمة واردة على الخط الوارد قبل توجيه المكالمات. إذا لم يتم تلقي استجابة لطلب خلال الوقت المحدد، فسيتم توجيه المكالمة وفقًا للقواعد الموضوعة في المجال.

مثال على معالج من جانب CRM.

if ($account) {
        	$data = [
            	'result' => 0,
            	'resultMessage' => 'Абонент найден',
            	'displayName' => $account->name,
            	//'PIN' => $crm_users,
        	];
    	} 
        else 
                {
        	$data = [
            	'result' => 0,
            	'resultMessage' => 'Абонент не найден',
            	'displayName' => 'Неизвестный абонент '.$contact,
            	//'PIN' => crm_users,
        	];
    	}
    	return $data;

الرد من المعالج.

{
        "result":0,
        "resultMessage":"Абонент найден",
        "displayName":"Иванов Иван Иванович +1</i> 234-56-78-90<i>"
}

نحن نتتبع الحالة ونقوم بتنزيل تسجيلات المكالمات

في نظام PBX الافتراضي الخاص بـ Rostelecom، يتم تنشيط تسجيل المكالمات في حسابك الشخصي. باستخدام API، يمكنك تتبع حالة هذه الوظيفة. عند معالجة إنهاء المكالمة في call_events يمكنك رؤية العلم "هو_سجل"، الذي يخطر المستخدم بحالة الإدخال: صحيح يعني أن وظيفة تسجيل المكالمات الخاصة بالمستخدم ممكّنة.

لتنزيل التسجيل، تحتاج إلى استخدام معرف جلسة المكالمة session_id إرسال طلب إلى api.cloudpbx.rt.ru/get_record.

{
        "session_id":"SDsnZugDFmTW7Sec"
}

ردًا على ذلك، ستتلقى رابطًا مؤقتًا لتنزيل ملف يحتوي على تسجيل للمحادثة.

{
        "result": ^_^quot�quot^_^,
        "resultMessage": "Операция выполнена успешно",
    	"url": "https://api.cloudpbx.rt.ru/records_new_scheme/record/download/501a8fc4a4aca86eb35955419157921d/188254033036"
}

يتم ضبط وقت تخزين الملفات في إعدادات حسابك الشخصي. وبعد ذلك سيتم حذف الملف.

الإحصائيات والتقارير

في حسابك الشخصي، في صفحة منفصلة، ​​يمكنك رؤية الإحصائيات والتقارير حول جميع المكالمات وتطبيق المرشحات حسب الحالة والوقت. من خلال واجهة برمجة التطبيقات (API)، يجب عليك أولاً معالجة الاستدعاء باستخدام الطريقة /call_events:

       {
        "session_id":"SDsnZugDFmTW7Sec",
        "timestamp":"2019-12-27 15:34:59.349",
        "type":"incoming",
        "state":"end",
        "from_number":"sip:</i^_^gt�lt&i;gt^_^@192.168.0.1",
        "from_pin":"",
        "request_number":"sip:</i^_^gt�lt&i;gt^_^@192.168.0.1",
        "request_pin":^_^quotʚquot^_^,
        "disconnect_reason":"",
        "is_record":"true"
        }

ثم اتصل بالطريقة call_info لمعالجة المصفوفة وعرض المكالمة في نظام CRM.

     {
        "session_id":"SDsnZugDFmTW7Sec"
}

ردًا على ذلك، ستتلقى مجموعة من البيانات التي يمكن معالجتها لتخزين البيانات في سجل CRM.

{
        "result":0,
        "resultMessage":"",
        "info":
        {
                "call_type":1,
                "direction":1,
                "state":1,
                "orig_number":"sip:</i^_^gt�lt&i;gt^_^@192.168.0.1",
                "orig_pin":null,
                "dest_number":"sip:</i^_^gt�lt&i;gt^_^@192.168.0.1",
                "answering_sipuri":"[email protected]",
                "answering_pin":^_^quotɟquot^_^,
                "start_call_date":^_^quot�quot^_^,
                "duration":14,
                 "session_log":"0:el:123456789;0:ru:admin;7:ct:admin;9:cc:admin;14:cd:admin;",
                "is_voicemail":false,
                "is_record":true,
                "is_fax":false,
                "status_code":^_^quot�quot^_^,
                "status_string":""
        }
}

ميزات PBX الافتراضية المفيدة الأخرى

إلى جانب واجهة برمجة التطبيقات (API)، يحتوي نظام PBX الافتراضي على العديد من الميزات المفيدة الأخرى التي يمكنك استخدامها. على سبيل المثال، هذه قائمة صوتية تفاعلية وتكامل الاتصالات الخلوية والثابتة.

الرد الصوتي التفاعلي (IVR) هو ما نسمعه على الهاتف قبل أن يجيب الشخص. في الأساس، هذا هو المشغل الإلكتروني الذي يعيد توجيه المكالمات إلى الأقسام المناسبة ويجيب على بعض الأسئلة تلقائيًا. سيكون من الممكن قريبًا العمل مع الرد الصوتي التفاعلي (IVR) عبر واجهة برمجة التطبيقات (API): نقوم حاليًا بتطوير برنامج يسمح لك بتتبع تقدم المكالمة من خلال الرد الصوتي التفاعلي (IVR) وتلقي معلومات حول ضغطات المفاتيح التي تعمل باللمس عندما يكون المشترك في القائمة الصوتية.

لنقل اتصالات الشركة إلى الهواتف المحمولة، يمكنك إما استخدام تطبيقات الهواتف الإلكترونية أو تنشيط خدمة تقارب الهواتف المحمولة الثابتة (FMC) بشكل منفصل. مع أي من الطرق، تكون المكالمات داخل الشبكة مجانية، ويصبح من الممكن العمل مع أرقام قصيرة، ويمكن تسجيل المكالمات والاحتفاظ بالإحصائيات العامة عليها. 

الفرق هو أن الهواتف الذكية تحتاج إلى الإنترنت للتواصل، لكنها ليست مرتبطة بمشغل، في حين أن FMC مرتبطة بمشغل معين، ولكن يمكن استخدامها حتى على الهواتف القديمة التي تعمل بالضغط على الزر.

المصدر: www.habr.com

إضافة تعليق