Webová integrace
Mocným nástrojem je integrace funkcí telefonní ústředny iPBX s webovými rozhraními nejrůznějších aplikací.
Webová integrace slouží k propojení webových IS/CRM s telefonní ústřednou iPBX. Propojení slouží pro informaci o příchozím volání a jednoduché možnosti vytvořit odchozí volání. Pomocí této funkce dokážete přímo vyhledat informace o volajícím ve svém systému a zobrazit tato data uživateli. Propojení je založeno na Javascript SDK, které využívá technologie HTML5/WebSockets.
Webová integrace umožňuje například:
otevřít okno internetového prohlížeče s informacemi o volajícím zákazníkovi,
zavolat kontakt kliknutím na hypertextový odkaz na webové stránce,
zobrazit na webové stránce informace o aktuálně volajících telefonních linkách,
a mnoho dalšího podle vašich potřeb a přání.
Ověření
Na začátku komunikace musí Vaše webová aplikace provést ověření vůči iPBX a uvést identitu uživatele
auth(token,identityType, identityValue)
token - získání tokenu pomocí REST API
identityType - může nabývat těchto hodnot {login, line, email}
identityValue - údaj kterým označíme uživatele, pro kterého je komunikace určena
Příklad
auth/token(identityType: "email", identityValue: "karel.novak@example.com")
Pozn. u uživatele v iPBX musí být tento email vyplněn (v seznamu kontaktů)
Konfigurace API v iPBX
Formát zpráv (událostí)
formát JSON
event - nazev události (Ringing,Answered,Hangup)
from - číslo volajícího
to - číslo volaného
uniqueId: id hovoru
direction - směr hovoru (incoming, outgoing, incomingLocal, outgoingLocal)
line - číslo linky
queue - jméno fronty ze které přišel hovor (pouze pro operátory)
EventName
Ringing - vyzvánění hovoru
Answered - zvednutí hovoru
Hangup - položení hovoru
Příklad
{
event: Ringing,
from: 777888999,
to: 222333444,
uniqueId: 1412256225.1941,
direction: incoming,
line: 444
}
Schéma
Akce - Vytočení telefonního čísla, zavěšení a přepojení hovoru
Dle přihlášeného uživatele je dohledána linka volajícího a na ní je vytvořen odchozí hovor.
originate
(to, callerid, actionid) vytvoření nového hovoru, callerid je nepovinný parametr, actionid je identifikátor pro spárování s událostí originateresponse('originate', {to: 'phoneNumber', callerid: 'jmeno <cislo>', actionid: 007})
hangup
(uniqueid) ukončení hovoru('hangupcall', {uniqueid: 'uniqueid')
transfer (to, type) přepojení hovoru, to - číslo linky, type je typ přepojení ("blind" - bez konzultace, "attended" - s konzultací)
('transfer', to: 'phoneNumber', type: 'blind', data:{})
FAQ
Často kladené dotazy jsou v samostatné sekci - FAQ Webová integrace
Examples
V níže uvedeném repozitáři naleznete příklady jak funkci implementovat.
https://bitbucket.org/ipex/examples/src/master/Client-side-integration/
V linuxu je možné příklady stáhnout např. takto
git clone https://bitbucket.org/ipex/examples.git