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
{ event: Ringing, from: 777888999, to: 222333444, uniqueId: 1412256225.1941, direction: incoming, line: 444 }
Schéma
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