Virtuální PBX Rostelecom: co a jak lze udělat přes API

Virtuální PBX Rostelecom: co a jak lze udělat přes API

Moderní byznys vnímá pevné telefony jako zastaralou technologii: mobilní komunikace zajišťuje mobilitu a stálou dostupnost zaměstnanců, sociální sítě a instant messenger jsou jednodušší a rychlejší komunikační kanál. Aby držely krok s konkurencí, stále více se jim podobají kancelářské ústředny: přesouvají se do cloudu, spravují se přes webové rozhraní a integrují se s ostatními systémy přes API. V tomto příspěvku vám řekneme, jaké funkce má rozhraní Rostelecom virtual PBX API a jak přes něj pracovat s hlavními funkcemi virtuální PBX.

Hlavním úkolem rozhraní Rostelecom virtual PBX API je interakce s CRM nebo firemními weby. Rozhraní API například implementuje widgety „zpětné volání“ a „volání z webu“ pro hlavní systémy správy: WordPress, Bitrix, OpenCart. API umožňuje:

  • Přijímat informace, oznamovat stav a volat na vyžádání z externího systému;
  • Získejte dočasný odkaz pro záznam konverzace;
  • Spravovat a přijímat parametry omezení od uživatelů;
  • Získejte informace o uživateli virtuální ústředny;
  • Vyžádejte si historii debetů a poplatků za hovory;
  • Nahrajte protokol hovorů.

Jak funguje API

Integrační rozhraní API a externí systém spolu komunikují pomocí požadavků HTTP. V osobním účtu administrátor nastavuje adresy, kam mají docházet požadavky na API a kam mají být zasílány požadavky z API. Externí systém musí mít veřejnou adresu přístupnou z internetu s nainstalovaným SSL certifikátem.

Virtuální PBX Rostelecom: co a jak lze udělat přes API

Také v osobním účtu může administrátor domény omezit zdroje požadavků při přístupu k API pomocí IP. 

Dostáváme informace o uživatelích virtuálních PBX 

Chcete-li získat seznam uživatelů nebo skupin, musíte pomocí metody odeslat požadavek na virtuální ústřednu /users_info.

{
        "domain":"example.ru"
}

Jako odpověď obdržíte seznam, který si můžete uložit.

{
"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^_^]
                            }
              ]

Tato metoda předává dvě pole. Jeden s doménovými uživateli, jeden se skupinami domén. Skupina má také možnost specifikovat email, který bude zaslán v žádosti.

Zpracování informací o příchozím hovoru

Propojení firemní telefonie s různými CRM systémy šetří čas zaměstnancům při interakci s klienty a urychluje zpracování příchozích hovorů. Například při hovoru od aktuálního klienta může CRM otevřít jeho kartu a z CRM můžete klientovi zavolat a spojit ho se zaměstnancem.

Chcete-li získat informace o voláních API, musíte použít metodu /get_number_info, který vygeneruje seznam hovorů s informacemi o skupině, do které je hovor distribuován. Předpokládejme, že číslo virtuální ústředny přijme příchozí hovor z čísla 1234567890. Poté ústředna odešle následující požadavek:

{
        "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":""
}

Dále musíte připojit handler /get_number_info. Požadavek musí být proveden, když na příchozí linku dorazí příchozí hovor, než jsou hovory směrovány. Pokud není odpověď na požadavek přijata ve stanoveném čase, je hovor směrován podle pravidel stanovených v doméně.

Příklad handlera na straně 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;

Odpověď od handlera.

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

Sledujeme stav a stahujeme nahrávky hovorů

Ve virtuální pobočkové ústředně Rostelecom je nahrávání hovorů aktivováno na vašem osobním účtu. Pomocí API můžete sledovat stav této funkce. Při zpracování ukončení hovoru v call_events můžete vidět vlajku 'is_record', který informuje uživatele o stavu záznamu: pravdivý znamená, že je povolena funkce nahrávání hovorů uživatele.

Chcete-li stáhnout nahrávku, musíte použít ID relace hovoru session_id poslat žádost na api.cloudpbx.rt.ru/get_record.

{
        "session_id":"SDsnZugDFmTW7Sec"
}

Jako odpověď obdržíte dočasný odkaz na stažení souboru se záznamem konverzace.

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

Doba uložení souboru je nastavena v nastavení vašeho osobního účtu. Poté bude soubor smazán.

Statistiky a výkaznictví

Ve svém osobním účtu na samostatné stránce můžete vidět statistiky a přehledy všech hovorů a používat filtry podle stavu a času. Prostřednictvím API musíte nejprve zpracovat volání s metodou /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"
        }

Poté zavolejte metodu call_info zpracovat pole a zobrazit volání v CRM systému.

     {
        "session_id":"SDsnZugDFmTW7Sec"
}

Jako odpověď obdržíte pole dat, které lze zpracovat pro uložení dat do protokolu 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":""
        }
}

Další užitečné funkce virtuální ústředny

Kromě API má virtuální PBX několik dalších užitečných funkcí, které můžete využít. Jedná se například o interaktivní hlasové menu a integraci mobilní a pevné komunikace.

Interactive Voice Response (IVR) je to, co slyšíme ve sluchátku, než osoba přijme hovor. V podstatě se jedná o elektronického operátora, který přesměrovává hovory na příslušná oddělení a automaticky odpovídá na některé otázky. Brzy bude možné pracovat s IVR přes API: v současné době vyvíjíme software, který vám umožní sledovat průběh hovoru přes IVR a přijímat informace o stisknutých klávesách, když je účastník v hlasovém menu.

Chcete-li přenést firemní telefonii na mobilní telefony, můžete buď použít aplikace pro softphone, nebo samostatně aktivovat službu Fixed Mobile Convergence (FMC). S kteroukoli z metod jsou hovory v rámci sítě zdarma, je možné pracovat s krátkými čísly, lze hovory nahrávat a vést o nich obecné statistiky. 

Rozdíl je v tom, že softphony potřebují ke komunikaci internet, ale nejsou vázány na operátora, zatímco FMC je vázáno na konkrétního operátora, ale lze je používat i na starých tlačítkových telefonech.

Zdroj: www.habr.com

Přidat komentář