Wirtualna centrala PBX Rostelecom: co i jak można zrobić za pomocą API

Wirtualna centrala PBX Rostelecom: co i jak można zrobić za pomocą API

Współczesny biznes postrzega telefony stacjonarne jako przestarzałą technologię: łączność komórkowa zapewnia mobilność i stałą dostępność pracowników, portale społecznościowe i komunikatory internetowe są łatwiejszym i szybszym kanałem komunikacji. Aby dotrzymać kroku konkurencji, centrale biurowe stają się do nich coraz bardziej podobne: przenoszą się do chmury, zarządzanej poprzez interfejs WWW i integrowanej z innymi systemami poprzez API. W tym poście dowiemy się, jakie funkcje ma wirtualne API PBX Rostelecom i jak za jego pośrednictwem pracować z głównymi funkcjami wirtualnej centrali PBX.

Głównym zadaniem wirtualnego API PBX Rostelecom jest interakcja z CRM lub stronami firmowymi. Przykładowo API implementuje widżety „oddzwoń” i „oddzwoń z witryny” dla głównych systemów zarządzania: WordPress, Bitrix, OpenCart. API umożliwia:

  • Otrzymuj informacje, powiadamiaj o statusie i wykonuj połączenia na żądanie z systemu zewnętrznego;
  • Uzyskaj tymczasowy link do nagrania rozmowy;
  • Zarządzaj i otrzymuj parametry ograniczeń od użytkowników;
  • Uzyskaj informacje o użytkowniku wirtualnej centrali;
  • Zapytaj o historię obciążeń i opłat za połączenia;
  • Prześlij rejestr połączeń.

Jak działa API

Integracyjne API i system zewnętrzny współdziałają ze sobą za pomocą żądań HTTP. W koncie osobistym administrator ustawia adresy, pod które powinny przychodzić żądania do API i na które powinny być wysyłane żądania z API. System zewnętrzny musi posiadać adres publiczny dostępny z Internetu z zainstalowanym certyfikatem SSL.

Wirtualna centrala PBX Rostelecom: co i jak można zrobić za pomocą API

Również na koncie osobistym administrator domeny może ograniczyć źródła żądań podczas uzyskiwania dostępu do API przez IP. 

Otrzymujemy informacje o użytkownikach wirtualnej centrali PBX 

Aby uzyskać listę użytkowników lub grup należy wysłać żądanie do wirtualnej centrali korzystając z metody /informacje o_użytkownikach.

{
        "domain":"example.ru"
}

W odpowiedzi otrzymasz listę, którą możesz zapisać.

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

Ta metoda przekazuje dwie tablice. Jeden z użytkownikami domeny, drugi z grupami domeny. Grupa ma również możliwość określenia adresu e-mail, który zostanie wysłany w zapytaniu.

Przetwarzanie informacji o połączeniu przychodzącym

Podłączenie telefonii korporacyjnej do różnych systemów CRM oszczędza czas pracowników kontaktujących się z klientami i przyspiesza obsługę połączeń przychodzących. Przykładowo, po połączeniu telefonicznym od aktualnego klienta, CRM może otworzyć jego kartę, a z CRM można wykonać połączenie do klienta i połączyć go z pracownikiem.

Aby uzyskać informację o wywołaniach API należy skorzystać z metody /get_number_info, który generuje listę połączeń z informacją o grupie, do której kierowane jest połączenie. Załóżmy, że na numer wirtualnej centrali zostanie odebrane połączenie przychodzące z numeru 1234567890. Wtedy centrala wyśle ​​następujące żądanie:

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

Następnie musisz podłączyć moduł obsługi /get_number_info. Żądanie musi zostać wykonane, gdy na linii przychodzącej nadejdzie połączenie przychodzące, zanim połączenia zostaną przekierowane. Jeżeli w określonym czasie nie zostanie otrzymana odpowiedź na żądanie, połączenie jest kierowane zgodnie z zasadami obowiązującymi w domenie.

Przykład modułu obsługi po stronie 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;

Odpowiedź od handlera.

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

Śledzimy status i pobieramy nagrania rozmów

W wirtualnej centrali PBX Rostelecom nagrywanie rozmów jest aktywowane na Twoim koncie osobistym. Za pomocą API możesz śledzić status tej funkcji. Podczas przetwarzania zakończenia połączenia w call_events widać flagę „is_rekord”, który powiadamia użytkownika o statusie wpisu: prawdziwy oznacza, że ​​funkcja nagrywania rozmów użytkownika jest włączona.

Aby pobrać nagranie, musisz użyć identyfikatora sesji połączenia identyfikator sesji wyślij zapytanie do api.cloudpbx.rt.ru/get_record.

{
        "session_id":"SDsnZugDFmTW7Sec"
}

W odpowiedzi otrzymasz tymczasowy link do pobrania pliku z nagraniem rozmowy.

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

Czas przechowywania plików ustawia się w ustawieniach konta osobistego. Następnie plik zostanie usunięty.

Statystyka i raportowanie

Na swoim koncie osobistym na osobnej stronie możesz zobaczyć statystyki i raporty dotyczące wszystkich połączeń oraz zastosować filtry według statusu i czasu. Za pośrednictwem interfejsu API należy najpierw przetworzyć wywołanie za pomocą metody /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"
        }

Następnie wywołaj metodę informacja_połączenia do przetworzenia tablicy i wyświetlenia wywołania w systemie CRM.

     {
        "session_id":"SDsnZugDFmTW7Sec"
}

W odpowiedzi otrzymasz tablicę danych, które możesz przetworzyć w celu zapisania danych w logu 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":""
        }
}

Inne przydatne funkcje wirtualnej centrali PBX

Oprócz interfejsu API wirtualna centrala PBX ma kilka innych przydatnych funkcji, z których możesz skorzystać. Jest to na przykład interaktywne menu głosowe oraz integracja komunikacji komórkowej i stacjonarnej.

Interaktywna reakcja głosowa (IVR) to dźwięk, który słyszymy w słuchawce, zanim rozmówca odbierze połączenie. Zasadniczo jest to operator elektroniczny, który przekierowuje połączenia do odpowiednich działów i automatycznie odpowiada na niektóre pytania. Już niedługo możliwa będzie współpraca z IVR poprzez API: aktualnie pracujemy nad oprogramowaniem, które pozwoli na śledzenie przebiegu połączenia poprzez IVR oraz otrzymanie informacji o naciśnięciach klawiszy tonowych, gdy abonent będzie w menu głosowym.

Aby przenieść telefonię firmową na telefony komórkowe, możesz skorzystać z aplikacji softphone lub osobno aktywować usługę Fix Mobile Convergence (FMC). Dzięki dowolnej metodzie połączenia w sieci są bezpłatne, możliwa jest praca z krótkimi numerami, a rozmowy można nagrywać i prowadzić na ich temat ogólne statystyki. 

Różnica polega na tym, że telefony programowe do komunikacji potrzebują Internetu, ale nie są powiązane z operatorem, natomiast FMC jest powiązane z konkretnym operatorem, ale można ich używać nawet na starych telefonach z przyciskami.

Źródło: www.habr.com

Dodaj komentarz