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.
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