Daktela API v3.5

Formát URL pro zasílání API požadavků je:

http://[SERVER_ADDRESS]/api/[VERSION]/[ACTION]/[ID]/[FORMAT]?access_token=[ACCESS_TOKEN]&[OPTIONAL_PARAMS]

SERVER_ADDRESS - Hostname nebo IP adresa serveru, kde beží API

VERSION - Číslo verze, kterou chceme u akce použít

ACTION - Jakou akci / příkaz chceme provést

ID - Jednoznačné určení záznamu o který máme zájem

FORMAT - V jakém formátu chceme vrátit data. Možnosti jsou xml nebo json.

ACCESS_TOKEN - Autentizačení token pro vstup do API. Token je string, který obsahuje jeden SHA1 hash ze stringů uživatelského jména a hesla. Tedy ACCESS_TOKEN = SHA1(login + password)

OPTIONAL_PARAMS - Volitelné vstupní parametry oddělené &

Webhooks

Příchozí hovor

Popis:

Každý příchozí hovor můžeme nechat projít přes volitelný kontext, kde můžeme změnit chování ústředny nebo notifikovat CRM systém. Vhodné například při potřebě získání nějaké informace ze CRM systému a následně na základě této informace změnit chování ústředny. Například pokud se potřebujeme při příchozím hovoru dotázat CRM systému na jméno firmy volajícího zákazníka a toto jméno firmy následně zobrazit na telefonu operátorům. Strategie vyzvánění ringall u fronty nemusí být vždy plně podporována.

Nastavení:

  • Rozklikneme Nastavení ústředny -> Volitelný context -> Systemový hook na Příchodu
  • Doplníme tento kód, kde VasCRMsystem.to je adresa CRM systému, kterého se dotazujeme. AGI(notify_crm_api.agi,http://VasCRMsystem.to/storedata,80,"htusername:htpassword",POST,"callid=${CALLERID}","dnd=${FROM_DID}")
  • Pokud při volání vrátíte platnou JSON struktůru, která bude například vypadat takto {"status":1, "NAME":"Daktela s.r.o.", "ADDRESS":"Pod Krejcarkem 975"}
    • status - pokud bude nastaven na 1, tak se naplní proměnné, které budou dostupné v celém průchodu dialplánu ústředny. Pokud bude nastaveno cokoli jiného, tak se žádné proměnné nenastaví.
    • v rámci dialplanu bude dostupná proměnná NAME, která bude naplněna hodnotou "Daktela s.r.o."
    • v rámci dialplanu bude dostupná proměnná ADDRESS, která bude naplněna hodnotou "Pod Krejcarkem 975"

Vyzvánění na lince

Popis:

Každé vyzvánění na lince můžeme nechat projít přes volitelný kontext, kde můžeme změnit chování ústředny nebo notifikovat CRM systém. Vhodné například při potřebě notifikovat CRM systém o tom, že na klapce začína zvonit hovor s číslem volajícího. Strategie vyzvánění ringall u fronty nemusí být vždy plně podporována.

Nastavení:

  • Rozklikneme Nastavení ústředny -> Volitelný context -> Systemový hook při zvonění na lince
  • Doplníme tento kód, kde VasCRMsystem.to je adresa CRM systému, kterého se dotazujeme. AGI(notify_crm_api.agi,"http://VasCRMsystem.to/api2",80,"htusername:htpassword","GET","callerId=%CALLERID(num)%","calleeId=%FROM_DID%", "line=%REAL_EXTEN%","idcall=%ID_CALL%","action=ringing")
  • Pokud při volání vrátíte platnou JSON struktůru, která bude například vypadat takto {"status":1, "NAME":"Daktela s.r.o.", "ADDRESS":"Pod Krejcarkem 975"}
    • status - pokud bude nastaven na 1, tak se naplní proměnné, které budou dostupné v celém průchodu dialplánu ústředny. Pokud bude nastaveno cokoli jiného, tak se žádné proměnné nenastaví.
    • v rámci dialplanu bude dostupná proměnná NAME, která bude naplněna hodnotou "Daktela s.r.o."
    • v rámci dialplanu bude dostupná proměnná ADDRESS, která bude naplněna hodnotou "Pod Krejcarkem 975"

Zodpovězený hovor

Popis:

Každé zodpovězení hovoru na lince můžeme nechat projít přes volitelný kontext, kde můžeme změnit chování ústředny nebo notifikovat CRM systém. Vhodné například při potřebě notifikovat CRM systém o tom, že na klapce došlo k zodpovězení hovor s číslem volajícího. Strategie vyzvánění ringall u fronty nemusí být vždy plně podporována.

Nastavení:

  • Rozklikneme Nastavení ústředny -> Volitelný context -> Systemový hook při zodpovězení hovoru
  • Doplníme tento kód, kde VasCRMsystem.to je adresa CRM systému, kterého se dotazujeme. AGI(notify_crm_api.agi,"http://VasCRMsystem.to/api2",80,"htusername:htpassword","GET","callerId=%CALLERID(num)%","calleeId=%FROM_DID%","line=%REAL_EXTEN%","idcall=%ID_CALL%","action=answer")
  • Pokud při volání vrátíte platnou JSON struktůru, která bude například vypadat takto {"status":1, "NAME":"Daktela s.r.o.", "ADDRESS":"Pod Krejcarkem 975"}
    • status - pokud bude nastaven na 1, tak se naplní proměnné, které budou dostupné v celém průchodu dialplánu ústředny. Pokud bude nastaveno cokoli jiného, tak se žádné proměnné nenastaví.
    • v rámci dialplanu bude dostupná proměnná NAME, která bude naplněna hodnotou "Daktela s.r.o."
    • v rámci dialplanu bude dostupná proměnná ADDRESS, která bude naplněna hodnotou "Pod Krejcarkem 975"

Zavěšený hovor

Popis:

Každé zavěšení hovoru můžeme nechat projít přes volitelný kontext, kde můžeme notifikovat CRM systém. Vhodné například při potřebě notifikovat CRM systém o tom, že na klapce došlo k ukončení hovoru s číslem volajícího. Strategie vyzvánění ringall u fronty nemusí být vždy plně podporována.

Nastavení:

  • Rozklikneme Nastavení ústředny -> Volitelný context -> Systemový hook při zavěšení hovoru
  • Doplníme tento kód, kde VasCRMsystem.to je adresa CRM systému, kterého se dotazujeme. AGI(notify_crm_api.agi,"http://VasCRMsystem.to/api2",80,"htusername:htpassword","GET","callerId=%CALLERID(num)%","calleeId=%FROM_DID%","line=%REAL_EXTEN%","idcall=%ID_CALL%","action=hangup")
  • Pokud při volání vrátíte platnou JSON struktůru, která bude například vypadat takto {"status":1, "NAME":"Daktela s.r.o.", "ADDRESS":"Pod Krejcarkem 975"}
    • status - pokud bude nastaven na 1, tak se naplní proměnné, které budou dostupné v celém průchodu dialplánu ústředny. Pokud bude nastaveno cokoli jiného, tak se žádné proměnné nenastaví.
    • v rámci dialplanu bude dostupná proměnná NAME, která bude naplněna hodnotou "Daktela s.r.o."
    • v rámci dialplanu bude dostupná proměnná ADDRESS, která bude naplněna hodnotou "Pod Krejcarkem 975"

Verze 3.0

Vytvoření nebo editování agenta

Akce:

CreateAgent

Vytvoří uživatele, který bude mít přístup pouze do operátorské aplikace. Pokud už agent se stejným loginem existuje, pak se jenom edituje uživatel.

Povinné parametry:

name
Přihlašovací jméno agenta - login
title
Název agenta
password
Přístupové heslo

Volitelné parametry:

description
Popisek ke jménu
email
Emailová adresa
extension
Číslo klapky, pokud se jedná o statického agenta
queues
Čísla front oddělených čárkou, na které má agent právo se příhlásit. Zadáváme ve formátu volací klapky například 1000. Pokud nepředáme čísla front, tak se agentovi přiřadí všechny fronty.
penalty
Priorita zařazení do front, předané v parametru queues. Zadáváme celé číslo, možnosti jsou 0 - nejvyšší priorita, 1 - nižší priorita, 2 - nejnižší priorita. Pokud není definováno, nastaví se 0 u všech front.

Ukázka použití:

Popis:

Vytvoření agenta Pepa Novak s přihlašovacím loginem novak a heslem abc

Vstup:
https://MojeVU.daktela.com/api/3.0/CreateAgent/xml?access_token=1234567890123456789012345678901234567890&name=novak&password=abc&title=Novak%20Pepa
Výstup:
{"status":1,"error":null,"result":null}
Popis:

Upravíme heslo a fronty do kterých se má přihlásit u agenta Pepa Novak s loginem novak

Vstup:
https://MojeVU.daktela.com/api/3.0/CreateAgent/xml?access_token=1234567890123456789012345678901234567890&name=novak&password=abcd&queues=1000,2000,3000
Výstup:
{"status":1,"error":null,"result":null}

Vytvoření nebo editování fronty

Akce:

CreateQueue

Vytvoří novou frontu. Pokud číslo fronty už bude existovat, tak se fronta jen edituje podle nových parametrů.

Povinné parametry:

number
Číslo fronty
title
Jméno fronty
direction
Typ fronty příchozí nebo odchozí

Volitelné parametry:

id
ID fronty
outboundcid
Odchozí identifikace u odchozí fronty
description
Popisek fronty
wrapuptime
Délka zotavení na pauze WRAP po skončení hovoru
outbounder
Nastavíme pokud chceme vytvořit outbounder frontu

Ukázka použití:

Popis:

Vytvoříme novou odchozí navolávací frontu číslo 123456789 s názvem Support

Vstup:
https://MojeVU.daktela.com/api/3.1/CreateQueue/xml?access_token=1234567890123456789012345678901234567890&number=12345678&title=Support&direction=out&outbounder=true
Výstup:
{"status":1,"error":null,"result":null}

Informace o uživatelích

Akce:

GetUsers

Získá informace o uživatelích Pokud není předané ID, tak se vrátí všichni uživatelé.

Volitelné parametry:

id
ID uživatele, který nás zajímá.

Ukázka použití:

Popis:

Získaní všech uživatelů

Vstup:
http://api.server/api/3.0/GetUsers/xml?access_token=1234567890123456789012345678901234567890
Výstup:
{"status":1,"error":null,"result":{"1":{"user":"1","extension":"100","name":"admin","title":"Administrator","description":"Administrator z\u00e1kazn\u00edka","password":"cordheslo","email":"jedna@jedna.cz","deleted":"0","parent":"1","child":"1"},"3":{"user":"3","extension":null,"name":"hajekhu","title":"Hajek Hugo","description":"","password":"heslo","email":"","deleted":"0","parent":"1","child":"3"}}}
Popis:

Získáme informace o uživateli s ID 2

Vstup:
https://MojeVU.daktela.com/api/3.0/GetUsers/3/json?access_token=1234567890123456789012345678901234567890
Výstup:
{"status":1,"error":null,"result":{"user":"3","extension":null,"name":"hajekhu","title":"Hajek Hugo","description":"","password":"heslo","email":"","deleted":"0","parent":"1","child":"3"}}

Informace o frontách

Akce:

GetQueues

Získá informace o vytvořených frontách Pokud není předané ID, tak se vrátí všechny fronty.

Volitelné parametry:

id
ID fronty, které nás zajímá.

Ukázka použití:

Popis:

Získáme informace o frontě s ID 3

Vstup:
https://MojeVU.daktela.com/api/3.0/GetQueues/3/json?access_token=1234567890123456789012345678901234567890
Výstup:
{"status":1,"error":null,"result":{"queue":"3","name":"1002","title":"Outbounder","description":"","direction":"out","outboundcid":"","wrapuptime":"0","outbounder":"1","form":"0","missed":null,"options":"{\"type\":\"outbounder\",\"wrapuptime\":\"\",\"lajdaktime\":\"\",\"qa_form\":\"\",\"missed\":\"\",\"maxwait\":\"\",\"maxlength\":\"\",\"threshold_time\":\"\",\"threshold_users\":\"\",\"threshold_calls\":\"\",\"callback_callstart\":\"http:\\\/\\\/\",\"callback_callanswer\":\"http:\\\/\\\/\",\"callback_callend\":\"http:\\\/\\\/\",\"outboundcid\":\"\",\"allowed_time\":\"10:00-18:00|mon-fri|*|*\"}","deleted":"0","user":"1","penalty":"0","login":"manual"}}

Smazání uživatele

Akce:

DeleteUser

Smaže uživatele s předaným id

Povinné parametry:

id
ID uživatele, který se ma smazat

Ukázka použití:

Popis:

Smažeme uživatele s ID 2

Vstup:
http://api.server/api/3.0/DeleteUser/2/json?access_token=1234567890123456789012345678901234567890
Výstup:
{"error":null,"status":1}

Vytvořit odchozí hovor

Akce:

CreateCall

Vytvoří odchozí telefonní hovor bez požadavků na call centrum.

Povinné parametry:

extension
Číslo klapky, která chce vytvořít odchozí volání
number
Telefonní číslo na které chceme volat

Volitelné parametry:

accountcode
Jedinečný kód, který se nese celou dobu s hovorem
autoanswer
Pokud telefon podporuje automatické vyzvednutí hovoru, je možné tutu funkci použít. Výchozí stav je vypnuto.
waitingtime
Jak dlouho v sekundach má zvonit telefon u linky / extension. Výchozí stav: 30 sekund
idcall
ID podle kterého se dá nalézt CDR informace a nahrávka
agenttext
Textová informace, kterou uvidí agent na displeji svého telefonu během vytáčení hovoru.

Ukázka použití:

Popis:

Odchozí hovor z linky 300 na veřejné číslo 800123456

Vstup:
https://MojeVU.daktela.com/api/3.0/CreateCall/json?access_token=1234567890123456789012345678901234567890&extension=300&number=800123456
Výstup:
{"error":null,"status":1,"result":{"id_call":"123456789.1234SJ"}}
Popis:

Odchozí hovor z linky 300 na veřejné číslo 800123456 a zepnutou funkcí auto answer

Vstup:
https://MojeVU.daktela.com/api/3.0/CreateCall/json?access_token=1234567890123456789012345678901234567890&extension=300&number=800123456&autoanswer=yes
Výstup:
{"error":null,"status":1,"result":{"id_call":"123456789.1234SJ"}}

Přihlášení uživatele do fronty

Akce:

LoginQueue

Přihlásí uživatele do fronty nebo kampaně, kterou specifikujeme číslem.

Povinné parametry:

user
Přihlašovací jméno agenta
queue
Číslo fronty nebo kampaně do které chceme uživatele přihlásit, pokud tam má právo

Volitelné parametry:

extension
Číslo klapky u které agent sedí. Tento parametr se nemusí specifikovat znovu, pokud uživatel už je aktuálně přihlášen v některé fronte.
priority
S jakou prioritou se má přihlásit do fronty. Povolené hodnoty od normální po nejnižší prioritu: 0, 1, 2. Pokud není specifikováno bere se priorita nastavená u uživatele k dané frontě. Tento parametr má smysl pouze u příchozí fronty.

Ukázka použití:

Popis:

Přihlásíme uživatele michalhajek do fronty 5001 s normální prioritou

Vstup:
https://MojeVU.daktela.com/api/3.0/LoginQueue/json?access_token=1234567890123456789012345678901234567890&user=michalhajek&queue=5001&priority=0
Výstup:
{"error":null,"status":1}

Odhlášení živatele z fronty

Akce:

LogoutQueue

Odhlásí uživatele z fronty nebo kampaně, kterou specifikujeme číslem.

Povinné parametry:

user
Přihlašovací jméno agenta
queue
Číslo fronty nebo kampaně z které chceme uživatele odhlásit

Ukázka použití:

Popis:

Odhlásíme uživatele michalhajek z fronty 5001

Vstup:
https://MojeVU.daktela.com/api/3.0/LogoutQueue/json?access_token=1234567890123456789012345678901234567890&user=michalhajek&queue=5001
Výstup:
{"error":null,"status":1}
Popis:

Pokus o odhlášení uživatele michalhajek z fronty 5000 v době, kdy agent vyřizuje na této frontě hovor.

Vstup:
https://MojeVU.daktela.com/api/3.0/LogoutQueue/json?access_token=1234567890123456789012345678901234567890&user=michalhajek&queue=5000
Výstup:
{"error":"Nelze se odhlasit z fronty\/kampan\u011b, ve kter\u00e9 prob\u00edh\u00e1 hovor s \u010d\u00edslem 468008585","status":0}

Nastavení pauzy u uživatele

Akce:

PauseOn

Nastavíme uživateli v call centru danou pauzu v případě že neuskutečnuje žádný hovor Pokud na pauze už je, dojde k přenastavení na konkrétní pauzu

Povinné parametry:

user
Přihlašovací jméno agenta
pause
Na jakou pauzu přepneme uživatele

Volitelné parametry:

force
Pokud je nastaveno na yes, tak se pauza nastaví i v případě, že agent zvoní, hovoří nebo je na on holdu. Výchozí stav je no.

Ukázka použití:

Popis:

Nastavíme pauzu s ID 7, která představuje třeba Oběd

Vstup:
https://MojeVU.daktela.com/api/3.1/PauseOn/json?access_token=1234567890123456789012345678901234567890&user=michalhajek&pause=7
Výstup:
{"error":null,"status":1}
Popis:

Nastavíme pauzu s ID 100, která neexistuje

Vstup:
https://MojeVU.daktela.com/api/3.1/PauseOn/json?access_token=1234567890123456789012345678901234567890&user=michalhajek&pause=100
Výstup:
{"error":"Tato pauza nebyla nalezena","status":0}

Zrušení pauzy u uživatele

Akce:

PauseOff

Zrušíme uživateli v call centru nastavenou pauzu

Povinné parametry:

user
Přihlašovací jméno agenta

Ukázka použití:

Popis:

Odhlásíme z pauzy uživatele michalhajek

Vstup:
https://MojeVU.daktela.com/api/3.0/PauseOff/json?access_token=1234567890123456789012345678901234567890&user=michalhajek
Výstup:
{"error":null,"status":1}

Vypsání všech definovaných pauz

Akce:

GetPauses

Vrátí všechny definované pauzy

Volitelné parametry:

id
Vrácení informace o pauze s konkrétním ID. Pokud se nepředá, tak vrací všechny pauzy

Ukázka použití:

Popis:

Chceme všechny pauzy

Vstup:
https://MojeVU.daktela.com/api/3.0/GetPauses/json?access_token=1234567890123456789012345678901234567890
Výstup:
{"status":1,"error":null,"result":{"3":{"pcode_id":"3","pcode":"666","pcode_desc":"Lajdak","read_key":"","isBillable":"0","isPayable":"0","pauseType":"w","sys_dt_creazione":"0000-00-00 00:00:00","sys_user_creazione":"0","sys_dt_modifica":"0000-00-00 00:00:00","sys_user_modifica":"0","sys_optilock":"0"},"2":{"pcode_id":"2","pcode":"20","pcode_desc":"Wrap","read_key":"","isBillable":"1","isPayable":"0","pauseType":"w","sys_dt_creazione":"0000-00-00 00:00:00","sys_user_creazione":"0","sys_dt_modifica":"0000-00-00 00:00:00","sys_user_modifica":"0","sys_optilock":"0"},"4":{"pcode_id":"4","pcode":"13","pcode_desc":"Backoffice","read_key":"","isBillable":"1","isPayable":"0","pauseType":"-","sys_dt_creazione":"0000-00-00 00:00:00","sys_user_creazione":"0","sys_dt_modifica":"0000-00-00 00:00:00","sys_user_modifica":"0","sys_optilock":"0"},"5":{"pcode_id":"5","pcode":"12","pcode_desc":"Email","read_key":"","isBillable":"1","isPayable":"0","pauseType":"-","sys_dt_creazione":"0000-00-00 00:00:00","sys_user_creazione":"0","sys_dt_modifica":"0000-00-00 00:00:00","sys_user_modifica":"0","sys_optilock":"0"},"6":{"pcode_id":"6","pcode":"11","pcode_desc":"Prestavka","read_key":"","isBillable":"0","isPayable":"0","pauseType":"-","sys_dt_creazione":"0000-00-00 00:00:00","sys_user_creazione":"0","sys_dt_modifica":"0000-00-00 00:00:00","sys_user_modifica":"0","sys_optilock":"0"},"7":{"pcode_id":"7","pcode":"10","pcode_desc":"Obed","read_key":"","isBillable":"0","isPayable":"0","pauseType":"-","sys_dt_creazione":"0000-00-00 00:00:00","sys_user_creazione":"0","sys_dt_modifica":"0000-00-00 00:00:00","sys_user_modifica":"0","sys_optilock":"0"}}}
Popis:

Chceme pauzu s ID 3

Vstup:
https://MojeVU.daktela.com/api/3.0/GetPauses/3/json?access_token=1234567890123456789012345678901234567890
Výstup:
{"status":1,"error":null,"result":{"3":{"pcode_id":"3","pcode":"666","pcode_desc":"Lajdak","read_key":"","isBillable":"0","isPayable":"0","pauseType":"w","sys_dt_creazione":"0000-00-00 00:00:00","sys_user_creazione":"0","sys_dt_modifica":"0000-00-00 00:00:00","sys_user_modifica":"0","sys_optilock":"0"}}}

Zavěšení hovoru

Akce:

Hangup

Ukončení probihajícího hovoru. Stačí předat číslo linky nebo agenta.

Povinné parametry:

user
Přihlašovací jméno agenta (stačí jeden povinný parametr)
extension
Číslo klapky (stačí jeden povinný parametr)

Ukázka použití:

Popis:

Zavěšení hovoru u uživatele michalhajek/p>

Vstup:
https://MojeVU.daktela.com/api/3.1/Hangup/json?access_token=1234567890123456789012345678901234567890&user=michalhajek
Výstup:
{"error":null,"status":1}
Popis:

Zavěšení hovoru u klapky 300

Vstup:
https://MojeVU.daktela.com/api/3.1/Hangup/json?access_token=1234567890123456789012345678901234567890&extension=300
Výstup:
{"error":null,"status":1}

Přesměrování hovoru

Akce:

Transfer

Přesměrování hovoru s představením (attended) nebo bez představování (blind).

Povinné parametry:

user
Přihlašovací jméno agenta odkud se má hovor přesměrovat (stačí user nebo extension)
extension
Číslo klapky odkud se má hovor přesměrovat (stačí user nebo extension)
number
Telefonní číslo kam se má přesměrovat

Volitelné parametry:

type
Jaký druh přesměrování se má provést. Pokud neuvedete použije se attended attended - přesměrování s představením (nejprve budete hovořit s číslem kam přesměrováváte a teprve pak se hovor přesměruje s volajícím) blind - přesměrování bez představování (rovnou se přesměruje volajíci na číslo kam přesmérováváte)

Ukázka použití:

Popis:

Přesměrování hovoru od uživatele michalhajek na číslo 100

Vstup:
https://MojeVU.daktela.com/api/3.1/Transfer/json?access_token=1234567890123456789012345678901234567890&user=michalhajek&type=attended&number=800123456
Výstup:
{"error":null,"status":1}

Příposlech hovoru

Akce:

Monitoring

Online příposlech probíhajícího hovoru bez požadavků na call centrum

Povinné parametry:

exten
Číslo klapky, kterou chceme poslouchat
listener
Číslo klapky, kde chceme poslouchat hovor
mode
Jaký typ příposlechu má být zvolen spy - listener nemůže mluvit s exten ani se zákazníkem (pouze poslouchá) whisper - listener může mluvit s exten, ale zákazník to neslyší (listener slyší zákazníka) whisperprivate - listener může mluvit s exten, ale zákazník to neslyší (listener neslyší zákazníka) barge - listener může mluvit s exten i se zákazníkem (všichni se slyší) interactive - přepínání mezi módy pomocí DTMF klávesnice telefonu 4=spy(výchozí), 5=whisper, 6=barge

Ukázka použití:

Popis:

Příposlech hovoru, kdy listener může mluvit s klapkou, ale zákazník listenera neuslyší

Vstup:
https://MojeVU.daktela.com/api/3.0/Monitoring/json?access_token=1234567890123456789012345678901234567890&exten=100&listener=200&mode=whisper
Výstup:
{"error":null,"status":1}

Aktuální stav klapek

Akce:

DeviceStates

Získá aktuální stav klapek, tedy která linka je ve stavu dostupná, nedostupná, přidržení hovoru, hovořící linka Možnosti ve status jsou: AVAILABLE (dostupná) UNAVAILABLE (nedostupná) ONHOLD (přidržení hovoru) INUSE (hovořící linka)

Ukázka použití:

Popis:

Vrací seznam všech linek s jejich stavy na PBX

Vstup:
https://MojeVU.daktela.com/api/3.1/DeviceStates/json?access_token=1234567890123456789012345678901234567890
Výstup:
{"status":1,"error":null,"result":[{"exten":"100","status":"AVAILABLE","ip":"172.22.254.254","port":"5064"},{"exten":"200","status":"AVAILABLE","ip":"212.24.153.186","port":"20652"},{"exten":"300","status":"AVAILABLE","ip":"212.24.153.186","port":"5063"},{"exten":"500","status":"UNAVAILABLE","ip":"-none-","port":"0"}]}

Zpracování zmeškaných hovorů

Akce:

MissedCall

Zjistí zda se má tento zmeškaný hovor z příchozí fronty zapsat do outbounder kampaně. Případně pokud už tam číslo zapsané je a zákazník se dovolal, tak se provede odstranění z outbounder kampaně, aby dané číslo agent nevolal.

Povinné parametry:

clid
Zmeškané telefonní číslo volajícího
verb
Zda byl hovor spojen (CONNECTED) či nikoliv (ABANDON)

Volitelné parametry:

id_queue
ID fronty ve které vzniknul zmeškaný hovor (stačí zadat id_queue nebo queue)
queue
Číslo fronty ve které vzniknul zmeškaný hovor (stačí zadat id_queue nebo queue)

Ukázka použití:

Popis:

Chceme zapsat zmeškaný hovor, který vzniknul u fronty, která má nastaveno zapisování zmeškaných hovoru do kampaně

Vstup:
https://MojeVU.daktela.com/api/3.0/MissedCall/json?access_token=1234567890123456789012345678901234567890&id_queue=1&verb=ABANDON&clid=200
Výstup:
{"error":null,"status":1}

Informace o zpracovávání emailu

Akce:

EventEmail

Můžeme zapsat do statistik, že agent vyřizuje email, tuto událost pak uvidíme ve statistikách

Povinné parametry:

eventid
Jedinečné ID pro zpracování emailu (například číslo ticketu)
event
Zda se jedná o počáteční (START) nebo ukončenou (STOP) událost
user
Přihlašovací jméno agenta
queue
Číslo fronty

Volitelné parametry:

email
Emailová adresa
subject
Subject emailu

Ukázka použití:

Popis:

Chceme informovat systém, že agent hajekmi začíná zpracovávat email/ticket číslo 12123

Vstup:
https://MojeVU.daktela.com/api/3.0/EventEmail/json?access_token=1234567890123456789012345678901234567890&eventid=12123&event=START&user=hajekmi
Výstup:
{"error":null,"status":1}

Získání informace o hovoru

Akce:

AboutCall

Vrátí všechny CDR informace o hovoru, tedy například zdrojovou linku, cílovou linku, dobu vyzvánění, dobu spojení, směr, cestu k nahrávce, příchozí číslo a hash k binárnímu stažení nahrávky. Pro binární stažení nahrávky použijeme recording_hash, kterou předáme akci GetRecording

Povinné parametry:

id_call
Unikátní číslo hovoru

Ukázka použití:

Popis:

Chceme informace o hovoru s unikátním číslem 1319030658.204

Vstup:
https://MojeVU.daktela.com/api/3.0/AboutCall/json?access_token=1234567890123456789012345678901234567890&id_call=1319030658.204
Výstup:
{"status":1,"error":null,"result":[{"calldate":"2011-10-19 15:24:46","clid":"200","src":"200","dst":"468008580","dcontext":"from-internal","channel":"SIP\/200-0000009f","dstchannel":"SIP\/pbx-000000a0","lastapp":"ResetCDR","lastdata":"w","duration":"32","billsec":"29","disposition":"ANSWERED","amaflags":"3","accountcode":"","uniqueid":"1319030686.213","userfield":"\/RECORDINGS\/2011\/10\/19\/OUT200-468008580-20111019-152447-1319030686.213.wav","real_exten":"200","direction":"out","from_did":null,"id_call":"1319030658.204","recording_hash":"225fae9e2c0a2e830c7d0e9e80040f4245a65d2e1319030658.204"}]}

Stáhnutí nahrávky

Akce:

GetRecording

Po předání validního hashe z akce AboutCall můžeme stáhnout nahrávku. Akce podporuje navázání přerušeného stahování.

Povinné parametry:

recording_hash
Tento hash získáme z akce AboutCall

Volitelné parametry:

octetstream
Pokud nastavíme na true, bude hlavička Content-Type nastavena na application/octet-stream. Pokud bude na false (výchozí hodnota), hlavička Content-Type bude nastavena na audio/x-wav nebo audio/mpeg.

Ukázka použití:

Popis:

Požadujeme nahrávku s kontrolním hashem 225fae9e2c0a2e830c7d0e9e80040f4245a65d2e1319030658.204

Vstup:
https://MojeVU.daktela.com/api/3.0/GetRecording/json?recording_hash=225fae9e2c0a2e830c7d0e9e80040f4245a65d2e1319030658204
Výstup:
Binární výstup s nahrávkou

Verze 3.1

Vytvoří odchozí call centrový hovor

Akce:

CreateCall

Vytvoří odchozí telefonní hovor s požadavkem na call centrum.

Povinné parametry:

user
Přihlašovací jméno agenta, který chce vytvořit hovor
number
Telefonní číslo na které chceme volat

Volitelné parametry:

accountcode
Jedinečný kód, který se nese celou dobu s hovorem
autoanswer
Pokud telefon podporuje automatické vyzvednutí hovoru, je možné tutu funkci použít. Výchozí stav je vypnuto.
waitingtime
Jak dlouho v sekundach má zvonit telefon u linky / extension. Výchozí stav: 30 sekund
dialingtime
Jak dlouho v sekundach má zvonit telefon u zákazníka. Výchozí stav: 120 sekund
idcall
ID podle kterého se dá nalézt CDR informace a nahrávka
agenttext
Textová informace, kterou uvidí agent na displeji svého telefonu během vytáčení hovoru.

Ukázka použití:

Popis:

Odchozí hovor od uživatele michalhajek na veřejné číslo 800123456 a zapnutou funkcí auto answer

Vstup:
https://MojeVU.daktela.com/api/3.1/CreateCall/json?access_token=1234567890123456789012345678901234567890&user=michalhajek&number=800123456&autoanswer=yes
Výstup:
{"error":null,"status":1,"result":{"id_call":"123456789.1234SJ"}}}
Popis:

Odchozí hovor od uživatele michalhajek na veřejné číslo 800123456 a zapnutou funkcí auto answer. Uživatel ale není přihlášen do odchozí fronty.

Vstup:
https://MojeVU.daktela.com/api/3.1/CreateCall/json?access_token=1234567890123456789012345678901234567890&user=michalhajek&number=800123456&autoanswer=yes
Výstup:
{"error":"Agent nen\u00ed p\u0159ihl\u00e1\u0161en do odchoz\u00ed kampan\u011b\/fronty","status":0}

Příposlech call centrového hovoru

Akce:

Monitoring

Online příposlech probíhajícího hovoru s požadavkem na call centrum

Povinné parametry:

user
Přihlašovací jméno operátora, kterého chceme poslouchat
listener
Číslo klapky, kde chceme poslouchat hovor
mode
Jaký typ příposlechu má být zvolen spy - listener nemůže mluvit s exten ani se zákazníkem (pouze poslouchá) whisper - listener může mluvit s exten, ale zákazník to neslyší (listener slyší zákazníka) whisperprivate - listener může mluvit s exten, ale zákazník to neslyší (listener neslyší zákazníka) barge - listener může mluvit s exten i se zákazníkem (všichni se slyší) interactive - přepínání mezi módy pomocí DTMF klávesnice telefonu 4=spy(výchozí), 5=whisper, 6=barge

Ukázka použití:

Popis:

Příposlech hovoru, kdy listener může mluvit s klapkou, ale zákazník listenera neuslyší

Vstup:
https://MojeVU.daktela.com/api/3.0/Monitoring/json?access_token=1234567890123456789012345678901234567890&user=hajekhu&listener=200&mode=spy
Výstup:
{"status":1,"error":null,"result":{"calling_direction":"out","calling_number":"468008585","calling_queue":"1006","calling_queue_name":"ObycOdchozi","ringing":"2","billsec":"177"}}

Odeslat skupinovou SMS zprávu

Akce:

SendGroupSMS

Odešleme skupinovou SMS zprávu přes hostingovou bránu. Pokud vlastníme více SIM karet, tak se SMS zprávy odesílají cyklicky.

Povinné parametry:

number
Pole s telefonníma číslama, na které chceme poslat zprávu
message
Pole SMS zpráv. Délka jedné zprávy může být 160 znaku. Pokud je zadáno více znaků, bude SMS automaticky rozdělena na více zpráv. Může být zadáno maximálně 765 znaků.

Volitelné parametry:

confirmation
Zda má být zpětně potvrzeno doručenkou. Je třeba mít definovany URL callback nebo emailovou adresu, kam se zašle potvrzení.
unicode
Text SMS zprávy odeslán včetně diakritiky. Max délka jedné SMS zprávy se zkrátí na 70 znaků. Pokud není unicode nastaven, text zprávy se automaticky zkonvertuje na ASCII znaky.
email
Email na který se má zaslat odpověd na odeslanou SMS zprávu nebo potvrzení o doručení.
accountcode
Volitelná identifikace zprávy. Tento kód bude vracen v URL callbacku.

Ukázka použití:

Popis:

Chceme odeslat skupinovou SMS zprávu na číslo 123456789 s textem Ahoj a současně chceme odeslat na číslo 987654321 s textem Cau. bez potvrzení o doručení. V count_sms se nám vrací počet odeslaných SMS zpráv.

Vstup:
https://api.daktela.com/api/3.1/SendGroupSMS/json?number[0]=123456789&message[0]=Ahoj1&number[1]=987654321&message[1]=Ahoj2&access_token=1234567890123456789012345678901234567890
Výstup:
{"status":1,"error":null,"result":{"2445":{"count_sms":0,"id":2445,"group_id":2445},"2446":{"count_sms":1,"id":2446,"group_id":2445},"2447":{"count_sms":1,"id":2447,"group_id":2445}}}

Odeslat SMS zprávu

Akce:

SendSMS

Odešleme SMS zprávu přes hostingovou bránu. Pokud vlastníme více SIM karet a nespecifikujeme číslo gw, slotu a portu, tak se SMS zprávy odesílají cyklicky.

Povinné parametry:

number
Telefonní číslo, na které chceme poslat zprávu
message
Text SMS zprávy. Délka jedné zprávy může být 160 znaku. Pokud je zadáno více znaků, bude SMS automaticky rozdělena na více zpráv. Může být zadáno maximálně 765 znaků.

Volitelné parametry:

confirmation
Zda má být zpětně potvrzeno doručenkou. Je třeba mít definovany URL callback nebo emailovou adresu, kam se zašle potvrzení.
unicode
Text SMS zprávy odeslán včetně diakritiky. Max délka jedné SMS zprávy se zkrátí na 70 znaků. Pokud není unicode nastaven, text zprávy se automaticky zkonvertuje na ASCII znaky.
email
Email na který se má zaslat odpověd na odeslanou SMS zprávu nebo potvrzení o doručení.
accountcode
Volitelná identifikace zprávy. Tento kód bude vracen v URL callbacku.
gw
Můžeme specifikovat přes jaké číslo brány má SMS odejít, pokud je v hostingu více SIM karet. Pro použití je třeba specifikovat gw, slot i port.
slot
Můžeme specifikovat přes jaké číslo slotu má SMS odejít, pokud je v hostingu více SIM karet. Pro použití je třeba specifikovat gw, slot i port.
port
Můžeme specifikovat přes jaké číslo portu má SMS odejít, pokud je v hostingu více SIM karet. Pro použití je třeba specifikovat gw, slot i port.

Ukázka použití:

Popis:

Chceme odeslat SMS zprávu na číslo 123456789 bez potvrzení o doručení. V count_sms se nám vrací počet odeslaných SMS zpráv.

Vstup:
https://api.daktela.com/api/3.1/SendSMS/json?number=123456789&message=Ahoj&access_token=1234567890123456789012345678901234567890
Výstup:
{"error":null,"status":1,"result":{"count_sms":"1", "id":"2222"}}
Popis:

Odešleme SMS zprávu s požadavkem o potvrzeném doručení(musí být nastaven callback nebo email, na který chceme tuto informaci předat) a vložíme i accountcode.

Vstup:
https://api.daktela.com/api/3.1/SendSMS/json?number=123456789&message=Ahoj&access_token=1234567890123456789012345678901234567890&confirmation=yes&accountcode=ID12345
Výstup:
{"error":null,"status":1,"result":{"count_sms":"1", "id":"2222"}}

Volitelné nastavení pro hostovanou SMS bránu

Akce:

SetSMSSettings

Možnost nastavit příchozí nebo odchozí URL callback, který se zavolá při každé přijaté nebo odeslané SMS zprávě. Stejně tak se dá nastavit email, na který se má příchozí zpráva poslat. URL může obsahovat přihlašovací údaje přes Basic Authorizaci (htaccess). Například http://login:heslo@pbx.in:8080/path

Volitelné parametry:

incoming_callback
Na jakou URL adresu se mají notifikovat všechny příchozí SMS zprávy.
outgoing_callback
Na jakou URL adresu se mají notifikovat všechny odchozí SMS zprávy, včetně doručenek.
incoming_email
Na jakou emailovou adresu se mají notifikovat všechny příchozí SMS zprávy.
outgoing_email
Na jakou emailovou adresu se mají notifikovat všechny odchozí SMS zprávy včetně doručenek.

Ukázka použití:

Popis:

Nastavení příchozího URL callbacku na http://callback.daktela.com/CRM/sms

Vstup:
https://api.daktela.com/api/3.1/SetSMSSettings/json?access_token=1234567890123456789012345678901234567890&incoming_callback=http://MojeVU.daktela.com/CRM/sms
Výstup:
{"error":null,"status":1}

Informace o hostovaných SIM kartach

Akce:

GetSMSSettings

Dostanete informaci o tom, jaké URL callbacky, emailové callbacky máte nastavené. Získáte také informaci o tom na jakých pozicích SIM karty vlastníte, využijete v případě, pokud chcete poslat zprávu přes konkrétní SIM kartu.

Ukázka použití:

Popis:

Získáte callbacky a pozice SIM karet, přes které můžete odesílat SMS zprávy. V Našem případě to je brána číslo 1, slot 3 a v něm porty 1,2,3.

name - pojmenování SIM karty, při instalaci tam budete mít tel. číslo SIM karty
imsi - International Mobile Subscriber Identity - jde o unikátní číslo přidělené mobilním operátorem,
       slouží k jednoznačné identifikaci u operátora
ccid - Integrated Circuit Card ID - sériové číslo, toto číslo je vyznačeno na původním obalu,
       kde byla SIM karta nalepená

Vstup:
http://api.daktela.com/api/3.1/GetSMSSettings/json?access_token=1234567890123456789012345678901234567890
Výstup:
{"status":1,"error":null,"result":{"settings":{"billing_id":"123","enabled_sms":"1","outgoing_price":"0.000","incoming_callback":"","outgoing_callback":"","incoming_email":"","outgoing_email":""},"sim":[{"gw_number":1,"slot_number":1,"port_number":1,"name":"775473674","operator":"Vodafone CZ","imsi":"123456789012345","ccid":"1234567890123456789"}]}}

Vrátí všechny SMS zprávy s možností vyhledávání

Akce:

GetSMS

Pokud nepředáme vyhledávací kritéria, tak vrátí všechny SMS zprávy seřazené podle datumu (od nejstarší po nejnovější). Vyhledávací kritéria jsou telefonní číslo, text ve zprávách, číslo brány, číslo slotu, číslo portu

Volitelné parametry:

id
ID konkrétní SMS zprávy
direction
Vrátíme jen příchozí(in) nebo odchozí(out) zprávy.
keyword
Vyhledávání podle telefonního čísla nebo textu ve zprávách.
accountcode
Volitelná identifikace zprávy u odchozí zprávy. Možnost předat jako pole, pokud chceme předat více accountcodu.
email
Volitelná položka email, pokud byla předána u odchozí zprávy.
gw
Vrátíme zprávy, které šly přes tuto bránu.
slot
Vrátíme zprávy, které šly přes tento slot.
port
Vrátíme zprávy, které šly přes tento port.
datetime_from
Od jakého data a času se mají vypsat SMS zprávy. Formát vstupu je YYYY-MM-DD HH:MM:SS
datetime_to
Do jakého data a času se mají vypsat SMS zprávy. Formát vstupu je YYYY-MM-DD HH:MM:SS

Ukázka použití:

Popis:

Vrátíme všechny SMS zprávy s vyhledáváním textu ahoj

Vstup:
https://api.daktela.com/api/3.1/GetSMS/json?access_token=1234567890123456789012345678901234567890&keyword=ahoj
Výstup:
{"status":1,"error":null,"result":[{"id":"7180","billing_id":"259","direction":"out","datetime":"2011-10-11 01:07:01","datetime_processed":"2011-10-10 23:07:26","number":"603927227","attempts":"0","count_sms":"1","from_client":"","message":"Ahoj toto je jen na ukazku","result":"error","confirmation_enable":"1","confirmed":"0","price":"0.000","gw_number":"1","slot_number":"1","port_number":"2","accountcode":null,"email":null},{"id":"7178","billing_id":"259","direction":"out","datetime":"2011-10-10 17:25:19","datetime_processed":"2011-10-10 15:27:03","number":"603927227","attempts":"0","count_sms":"1","from_client":"","message":"Ahoj,jak se mas?","result":"ok","confirmation_enable":"1","confirmed":"1","price":"3.500","gw_number":"1","slot_number":"1","port_number":"1","accountcode":null,"email":null}]}

Informace o odeslaných skupinových SMS zprávách

Akce:

StatusGroupSMS

Vrátí počty zpráv, které jsou ve stavu odeslánych, čekajících, chybně odeslaných

Volitelné parametry:

id
ID konkrétní skupinové SMS zprávy (group_id)
waiting
Pokud chceme získat informace jen o čekajících skupinových zprávách, nastavíme na true hodnotu.

Ukázka použití:

Popis:

Získáme informace o počtu zpráv, které je třeba ještě odeslat u skupinových zpráv Význam jednotlivých hodnot z výstupu:

  • group_id - ID skupinové SMS
  • accountcode - Volitelný identifikátor, pokud byl specifikovaný při odesílání
  • datetime_processed - Datum posledního zpracování/odeslání SMS zprávy
  • datetime - Datum, kdy byl vytvořen požadavek na odeslání skupinové SMS zprávy
  • count_total - Celkový počet SMS zpráv ve skupině
  • count_ok - Počet v pořádku odeslaných zpráv ze skupiny
  • count_waiting - Počet zpráv, které čekají na odeslání ve skupině
  • count_error - Počet zpráv, které skončily s chybou

Vstup:
https://api.daktela.com/api/3.1/StatusGroupSMS/json?access_token=1234567890123456789012345678901234567890&waiting=true
Výstup:
{"status":1,"error":null,"result":{"11213":{"group_id":"11213","accountcode":"1","datetime_processed":"2012-04-14 02:43:39","datetime":"2012-04-14 02:43:33","count_total":"3","count_ok":"1","count_waiting":"2","count_error":"0"}}}

Odstraní odesílání skupinových SMS zpráv

Akce:

RemoveGroupSMS

Nenávratně zastaví skupinové odesílání SMS zpráv, které jsou ve stavu čekání na odeslání. Výsledkem je počet zpráv, které odeslány nebudou ze skupiny.

Povinné parametry:

id
ID konkrétní skupinové SMS zprávy (group_id)

Ukázka použití:

Popis:

Odstraníme skupinové SMS zprávy se skupinovým ID 1234

Vstup:
https://api.daktela.com/api/3.1/RemoveGroupSMS/1234/json?access_token=1234567890123456789012345678901234567890
Výstup:
{"status":1,"error":null,"result":{"count_removed":2}}

Verze 3.2

Vyhledáni kontaktů, které jsou naimportované v Call Centru

Akce:

SimpleSearchContact

Výstupem jsou všechny kontakty včetně celé formulářové struktury, které odpovídají hledanému filtru

Povinné parametry:

phonenumber
Telefonní číslo, které chceme hledat

Volitelné parametry:

queues
Pole čísel kampaní ve kterých chceme hledat telefonní číslo

Ukázka použití:

Popis:

Získáme kontakty, které jsou z čísla 226211245 a hledání omezíme na čísla front 1002 a 1000

Vstup:
https://MojeVU.daktela.com/api/3.2/SimpleSearchContact/json?phonenumber=226211245&queues[]=1002&queues[]=1000&access_token=1234567890123456789012345678901234567890
Výstup:
Popis:

Vstup:
Výstup:
{"status":1,"error":null,"result":[{"id_list":"3","name_campaign":"Outbounder","id_code_possibili":"3","number_campaign":"1002","array_struct":{"id_field":["1","6","2","7"],"type_field":["text","text","text","selectbox"],"label_field":["Jm\u00e9no","Email","P\u0159\u00edjmen\u00ed","Vyber"],"default_value_field":["","","","[\"ANO\",\"NE\"]"],"ro_field":[false,false,false,false],"order_field":["1","2","3","4"],"value_data":["Michal","noreply@daktela.com","Hajek","ANO"]},"sysdata_struct":{"id":"3","number":"2262112455","date":"2012-03-20 16:12:51","date_nextcall":null,"callstatus":"7","action":"5","asterisk_uniqueid":"1329393906.6650WS","agent_id":"3"},"status_error":null}]}

Verze 3.3

Importuje data do outbounder kampaně

Akce:

ImportData

Importuje data do outbounder kampaně formou CSV souboru, který se posíla jako multipart/form-data. Je třeba pamatovat, pokud se změní struktura kampaně, například přidáním nebo jiném rozmístěním datových položek, že je třeba upravit i CSV soubor, tak, aby to odpovídalo novému uspořádání.

Povinné parametry:

queue
Číslo fronty nebo kampaně do které chceme naimportovat záznamy
csv
CSV soubor posíláný jako application/octet-stream zabalený v multipart/form-data (stejně jako když se uploaduje soubor přes webový prohlížeč)
charset
V jaké znakové sadě je CSV soubor uložen. Možnosti jsou UTF-8 nebo ISO-8859-2.

Volitelné parametry:

user
Pokud chceme přiřadit importované kontakty z CSV souboru konkrétnímu uživateli. Takto naimportované kontakty bude navolávat pouze tento uživatel.
date_nextcall
Pokud chceme specifikovat od kdy se mají importované kontakty z CSV souboru nejdřive navolávat. Formát času je ve formátu YYYY-MM-DD HH:MM:SS

Ukázka použití:

Popis:

Naimportujeme CSV soubor, který jsme si vytvořili ze šablony přes GUI v modulu Nastavení call centra. Importované záznamy nechceme rezervovat pro žádného konkrétního operátora, ani specifikovat, kdy nejdříve se mají záznamy nabízet volným agenům. Importujeme do kampaně s číslem 1002. Vrácena hodnota count značí, kolik záznamů se naimportovalo. Celkem se jedná od 2 záznamy.
Ukázka HTTP hlavičky, kterou posíláme:

GET https://MojeVU.daktela.com/api/3.3/ImportData/json?access_token=1234567890123456789012345678901234567890&queue=1002&charset=UTF-8
Content-Type: multipart/form-data; boundary=----------------------------32508bfa4561

----------------------------32508bfa4561
Content-Disposition: form-data; name="csv"; filename="/tmp/campaign_leden.csv"
Content-Type: application/octet-stream
....

----------------------------32508bfa4561

Vstup:
https://MojeVU.daktela.com/api/3.3/ImportData/json?access_token=1234567890123456789012345678901234567890&queue=1002&charset=UTF-8&csv={...}
Výstup:
{"status":1,"error":null,"result":{"count":2}}
Popis:

Naimportujeme CSV soubor, který jsme si vytvořili ze šablony přes GUI v modulu Nastavení call centra. Importované záznamy chceme rezervovat pro konkrétního operátora, jehož login je hugo a současně nastavíme, aby se tyto kontkaty navolávaly až od 1.února 2012 od 08:00 hod. Importujeme do kampaně s číslem 1002. Vrácena hodnota count značí, kolik záznamů se naimportovalo. Celkem se jedná od 2 záznamy.

Vstup:
https://MojeVU.daktela.com/api/3.3/ImportData/json?access_token=1234567890123456789012345678901234567890&queue=1002&charset=UTF-8&csv={...}&user=hugo&call_date=2012-02-01%2008:00:00
Výstup:
{"status":1,"error":null,"result":{"count":2}}
Popis:

Ukážeme si, jak lze toto API používat pomocí PHP interpretu s nainstalovaným rozšířením CURL. Soubor se jmenuje /tmp/campaign_leden.csv a je uložen ve znakové sadě UTF-8.

Vstup:
// Inicializace cURL - jako parametr predame URL, kde bezi Daktela API
$curl_handle = curl_init('https://MojeVU.daktela.com/api/3.3/ImportData/json?access_token=1234567890123456789012345678901234567890&charset=UTF-8&queue=1002&date_nextcall=2011-05-12%2001:01:01');

// Nastavime cestu k souboru k CSV, soubor se jmenuje /tmp/campaign_leden.csv, zavináčem před jménem souboru říkáme curl, že se jedna o soubor.
curl_setopt($curl_handle, CURLOPT_POSTFIELDS, Array('csv'=>'@/tmp/campaign_leden.csv'));

// Odpoved z Daktela API vratime jako string
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, TRUE);

// necheckuji validitu SSL certifikatu - mam starou verzi curl
curl_setopt($curl_handle, CURLOPT_SSL_VERIFYPEER, FALSE);

// Provedeme uploadovani dat
$return = curl_exec($curl_handle);

// Pokud doslo k chybe tak ji vytiskneme
if(curl_errno($curl_handle)) echo 'Chyba: '.curl_error($curl_handle);

// Zavreme session
curl_close($curl_handle);

// Vytiskneme vraceny data z Daktela API, dale s tim pracujeme jako JSON
echo $return;
Výstup:
{"status":1,"error":null,"result":{"count":2}}

Vytvoření nebo editování pauzy

Akce:

CreatePause

Vytvoří nebo upraví pauzu, která bude dostupná pro všechny operátory v call centrových aplikací, jako je například WebAgent, PhoneAgent, API.

Povinné parametry:

title
Jméno pauzy
type
O jaký typ pauzy se jedna. Zda je to systémová pauza Wrap(wrap), systémová pauza Lajdák(lajdak) nebo nesystémová pauza(normal).
paid
Zda je pauza proplácená(yes) nebo není(no). Například Wrap pauza by měla být proplácená, ale pauza Lajdák nikoliv. *

Volitelné parametry:

id
ID pauzy, kterou získáme přes GetPauses. Pokud předáme ID pauzy, tak provedeme editaci pauzy.
code
Speciální kód pauzy

Ukázka použití:

Popis:

Vytvoříme novou pauzu Oběd, nesystémové pauzy (normal), která se nebude operátorům proplácet.

Vstup:
https://MojeVU.daktela.com/api/3.3/CreatePause/json?access_token=1234567890123456789012345678901234567890&name=Obed&type=normal&billable=no
Výstup:
{"status":1,"error":null,"result":null}
Popis:

Změníme jméno pauzy Obed s ID 9 na nové jméno Svacina

Vstup:
https://MojeVU.daktela.com/api/3.3/CreatePause/9/json?access_token=1234567890123456789012345678901234567890&name=Svacina&type=normal&billable=yes
Výstup:
{"status":1,"error":null,"result":null}

Výpis všech pauz

Akce:

GetPauses

Vypíšeme všechny pauzy, včetně smazaných.

Ukázka použití:

Popis:

Výpis všech pauz

Vstup:
https://MojeVU.daktela.com/api/3.3/GetPauses/json?access_token=1234567890123456789012345678901234567890
Výstup:
{"status":1,"error":null,"result":{"3":{"pause":"3","name":"666","title":"Lajdak","type":"lajdak","paid":"0","deleted":"0"},"2":{"pause":"2","name":"20","title":"Wrap","type":"wrap","paid":"1","deleted":"0"},"4":{"pause":"4","name":"13","title":"Backoffice","type":null,"paid":"1","deleted":"0"},"6":{"pause":"6","name":"11","title":"Prestavka","type":null,"paid":"0","deleted":"0"},"7":{"pause":"7","name":"10","title":"Obed","type":"","paid":"0","deleted":"0"},"8":{"pause":"8","name":"667","title":"Email","type":"","paid":"1","deleted":"0"},"9":{"pause":"9","name":"668","title":"Obed22","type":"","paid":"0","deleted":"0"}}}

Verze 3.4

Přihlášení uživatele do Call Centra

Akce:

Login

Předáme uživatelské jméno a číslo linky pod kterou chceme uživatele přihlásit do Call Centra. Pokud uživatel má definované automatické přihlášení do fronty, tak se provede automatické přihlašení do fronty. Jinak je třeba zavolat LoginQueue a přihlásit uživatele do front.

Povinné parametry:

user
Přihlašovací jméno agenta

Volitelné parametry:

extension
Číslo linky u které agent sedí. Pokud agent má svázanou linku se svým učtem, není potřeba předávat tuto linku.

Ukázka použití:

Popis:

Přihlásíme agenta michalhajek, který sedí u linky 100 do Call Centra

Vstup:
https://MojeVU.daktela.com/api/3.4/Login/json?access_token=1234567890123456789012345678901234567890&user=michalhajek&extension=100
Výstup:
{"status":1,"error":null,"result":null}

Odhlášení uživatele z Call Centra

Akce:

Logout

Předáme uživatelské jméno agenta, kterého chceme odhlásit ze všech přihlášených front a z call centra. Dojde tak k uvolnení linky u které agent sedi.

Povinné parametry:

user
Přihlašovací jméno agenta

Ukázka použití:

Popis:

Odhlásíme agenta michalhajek z Call Centra

Vstup:
https://MojeVU.daktela.com/api/3.4/Logout/json?access_token=1234567890123456789012345678901234567890&user=michalhajek
Výstup:
{"status":1,"error":null,"result":null}

Verze 3.5

Realtime statistika front

Akce:

RTStatsQueues

Vrací aktuální přehled o celkovém počtu agentů a hovorů po jednotlivých frontách

Ukázka použití:

Popis:

Význam jednotlivých hodnot z výstupu:

  • id - ID fronty
  • users_total - Počet přihlášených operátorů v této frontě
  • users_ready - Počet volných operátorů, kteří jsou schopni přijímat hovory v této frontě
  • users_busy - Počet obsazených operátorů, kteří právě hovoří v této frontě
  • users_pause - Počet zapauzovaných operátorů, kteří mají nastavenou pauzu v této frontě
  • calls_count - Počet probíhajících hovorů v této frontě
  • calls_wait - Počet hovorů, které jsou ve stavu vyzvánění v této frontě
  • calls_time - Nejdelší doba čekání na zodpovězení hovoru v této frontě

Vstup:
https://MojeVU.daktela.com/api/3.5/RTStatsQueues/json?access_token=1234567890123456789012345678901234567890
Výstup:
{"status":1,"error":null,"result":{"4":{"id":"4","users_total":1,"users_ready":0,"users_busy":1,"users_pause":0,"calls_count":1,"calls_wait":0,"calls_time":null},"6":{"id":"6","users_total":1,"users_ready":0,"users_busy":1,"users_pause":0,"calls_count":0,"calls_wait":0,"calls_time":0}}}

Realtime statistika front s celkovým přehledem

Akce:

RTStatsQueuesSummary

Vrací aktuální celkový přehled o celkovém počtu agentů a hovorů ve frontách

Volitelné parametry:

users
ID operátorů, které chceme vyfiltrovat
queues
ID front, které chceme vyfiltrovat

Ukázka použití:

Popis:

Význam jednotlivých hodnot z výstupu:

  • users_total - Celkový počet přihlášených operátorů
  • users_ready - Celkový počet volných operátorů, kteří jsou schopni přijímat hovory
  • users_busy - Celkový počet obsazených operátorů, kteří právě hovoří
  • users_pause - Celkový počet zapauzovaných operátorů, kteří mají nastavenou pauzu
  • calls_count - Celkový počet probíhajících hovorů
  • calls_in - Celkový počet příchozích hovorů
  • calls_out - Celkový počet odchozích hovorů
  • calls_wait - Celkový počet hovorů, které jsou ve stavu vyzvánění
  • calls_time - Nejdelší doba čekání v sekundách na zodpovězení hovoru

Vstup:
https://MojeVU.daktela.com/api/3.5/RTStatsQueuesSummary/json?users[0]=3&users[1]=1&access_token=1234567890123456789012345678901234567890
Výstup:
{"status":1,"error":null,"result":{"users_total":1,"users_ready":0,"users_busy":0,"users_pause":1,"calls_count":0,"calls_in":0,"calls_out":0,"calls_wait":0,"calls_time":0}}

Realtime statistika hovorů

Akce:

RTStatsCalls

Vrací aktuální přehled probíhajících hovorů

Ukázka použití:

Popis:

Význam jednotlivých hodnot z výstupu:

  • id - ID hovoru
  • queue - ID fronty, kde probíhá hovor
  • agent - ID operátora, který vyřizuje hovor (hovor musí být zodpovězený)
  • users - ID operátorů, kteří jsou spojeni s hovorem (při ringall strategii ve frontě, zde bude uvedeno více operátorů)
  • clid - Telefonní číslo zákazníka
  • direction - Směr hovoru (in,out)
  • state - V jakém stavu se nachází hovor (Waiting,Ringing,Speaking,On Hold, Transfered)
  • enter_time_absolute - Čas, kdy hovor vstoupil do fronty. Formát času YYYY-MM-DD HH:MM:SS
  • enter_time_relative - Kolik sekund trvá hovor, včetně doby čekání, vyzvánění a hovoření.
  • wait_time_absolute - Čas, kdy hovor začal čekat ve frontě (stejný jako enter_time_absolute). Formát času YYYY-MM-DD HH:MM:SS
  • wait_time_relative - Kolik sekund trvalo, než byl hovor zodpovězen
  • ring_time_absolute - Čas, kdy hovor začal vyzvánět u operátora. Formát času YYYY-MM-DD HH:MM:SS
  • ring_time_relative - Kolik sekund trvalo vyzvánění
  • answer_time_absolute - Čas, kdy byl hovor zodpovězen operátorem. Formát času YYYY-MM-DD HH:MM:SS
  • answer_time_relative - Kolik sekund trvá hovoření s operátorem
  • hold_time_absolute - Čas, kdy byl hovor přidržen operátorem (hold). Formát času YYYY-MM-DD HH:MM:SS
  • hold_time_relative - Kolik sekund už je hovor přidržen (hold)

Vstup:
https://MojeVU.daktela.com/api/3.5/RTStatsCalls/json?access_token=1234567890123456789012345678901234567890
Výstup:
{"status":1,"error":null,"result":{"1332333840.98":{"id":"1332333840.98","queue":"6","agent":"3","users":["3"],"clid":"100","direction":"in","state":"Speaking","enter_time_absolute":"2012-03-21 13:44:02","enter_time_relative":"7","wait_time_absolute":"2012-03-21 13:44:02","wait_time_relative":"5","ring_time_absolute":"2012-03-21 13:44:04","ring_time_relative":"5","answer_time_absolute":"2012-03-21 13:44:07","answer_time_relative":"2","hold_time_absolute":null,"hold_time_relative":"0"}}}

Realtime statistika přihlášených operátorů

Akce:

RTStatsSessions

Vrací aktuální přehled přihlášených operátorů

Ukázka použití:

Popis:

Význam jednotlivých hodnot z výstupu:

  • id - ID operátora
  • extension - Číslo linky
  • queues - ID front, kde je operátor přihlášen
  • state - V jakém stavu se operátor nachází (Logged, Idle, Paused, Calling, Ringing, Speaking, On Hold)
  • pause - Pokud je state Paused, zde je uvedeno ID pauzy
  • state_time_absolute - Čas, kdy se u operátora změnil stav. Formát času YYYY-MM-DD HH:MM:SS
  • state_time_relative - Kolik sekund uplynulo od poslední změny stavu
  • login_time_absolute - Čas, kdy se operátor přihlásil. Formát času YYYY-MM-DD HH:MM:SS
  • login_time_relative - Kolik sekund je operátor přihlášen

Vstup:
https://MojeVU.daktela.com/api/3.5/RTStatsSessions/json?access_token=1234567890123456789012345678901234567890
Výstup:
{"status":1,"error":null,"result":{"3":{"id":"3","extension":"200","queues":["6"],"state":"Paused","pause":"4","state_time_absolute":"2012-03-21 14:08:06","state_time_relative":"940","login_time_absolute":"2012-03-21 10:21:21","login_time_relative":"14545"}}}

Realtime statistika aktivovaných pauz

Akce:

RTStatsPauses

Vrací aktuální přehled nastavených pauz u operátorů

Ukázka použití:

Popis:

Význam jednotlivých hodnot z výstupu:

  • id - ID pauzy
  • users - ID operátorů, kteří mají tuto pauzu nastavenou
  • count - Počet operátorů, kteří mají nastavenou tuto pauzu

Vstup:
https://MojeVU.daktela.com/api/3.5/RTStatsPauses/json?access_token=1234567890123456789012345678901234567890
Výstup:
{"status":1,"error":null,"result":{"4":{"id":"4","count":"1","users":["3"]}}}

Výpis všech hovorů v callcentru

Akce:

StatsCalls

Vypsání callcentrových hovorů

Povinné parametry:

datetime_from
Od jakého času se mají hledat hovory. Formát času YYYY-MM-DD HH:MM:SS
datetime_to
Do jakého času se mají hledat hovory. Formát času YYYY-MM-DD HH:MM:SS

Volitelné parametry:

phonenumber
Telefonní číslo podle kterého se má hledat

Ukázka použití:

Popis:

Vyhledáme hovory s číslem 00420123456789 v časovém rozmezí 2012-03-21 00:00:00 do 2012-03-22 00:00:00

Vstup:
https://MojeVU.daktela.com/api/3.5/StatsCalls/json?access_token=1234567890123456789012345678901234567890&phonenumber=00420123456789&datetime_from=2012-03-21 00:00:00&datetime_to=2012-03-22 00:00:00
Výstup:
{"status":1,"error":null,"result":{"496":{"call":"1332337304.105","call_time":"2012-03-21 14:41:45","direction":"in","queue":"6","user":"3","answered":false,"clid":"00420123456789","waiting_time":8,"ringing_time":0,"hold_time":0,"duration":0,"disposition":"caller","orig_posision":1,"attempts":0}}}

Výpis CDR s cenou hovoru

Akce:

CDR

Vypsání CDR (Call Detail Records) s funkcí účtování hovoru. Cena hovoru je zavislá na ceníku, který je importovaný do modulu Přehledy voláni

Povinné parametry:

datetime_from
Od jakého času se mají vypsat hovory. Formát času YYYY-MM-DD HH:MM:SS
datetime_to
Do jakého času se mají vypsat hovory. Formát času YYYY-MM-DD HH:MM:SS

Volitelné parametry:

real_extens
Čísla klapek, která se účastnila hovorů. Možnost zadat více klapek do pole.
accountcodes
Podle jakých accountcodů vypsat hovory. Možnost zadat více accountcodů do pole.
direction
Jaký směr hovoru chceme vypsat. Možnosti jsou in,out,local
destinations
Přes jaké destinace vypsat hovory. Je možné zadávat více typů destinací do pole. Informace o destinacích nalezneme v modulu Přehledy volání.
disposition
Vypsání jen zodpovězených hovorů, nastavíme na ANSWERED.
src_channels
Přes jaké příchozí kanály chceme vypsat hovory. Možnost zadat více kanálů do pole.
dst_channels
Přes jaké odchozí kanály chceme vypsat hovory. Možnost zadat více kanálů do pole.
min_price_call
Budou vypsány jen hovory, které jsou dražší než zde specifikujeme. Měna se zde nespefifikuje, záleží v jaké měně je importovaný ceník v modulu Přehledy volání. Například 2.50

Ukázka použití:

Popis:

Vypsat zodpovězené odchozí hovory, které jsou uskutečněny v březnu 2012 pro klapky 300, 500 a vynechat hovory, které jsou levnější nez 1.20 Kč. Současně hovory šly přes kanaly SIP/daktela a SIP/gsm

Vstup:
https://MojeVU.daktela.com/api/3.5/CDR/json?access_token=1234567890123456789012345678901234567890&datetime_from=2012-03-01%2000:00:00&datetime_to=2012-03-31%2023:59:59&direction=out&disposition=ANSWERED&min_price_call=1.20&real_extens[]=300&real_extens[]=500&dst_channels[]=SIP/proxy&dst_channels=SIP/gsm
Výstup:
{"status":1,"error":null,"result":[{"date":"2012-03-05 13:05:20","real_exten":"500","dst":"468008585","billsec":"321","duration":"328","disposition":"ANSWERED","accountcode":"","uniqueid":"1330949120.242","id_call":"1330949120.242","from_did":null,"direction":"out","price":"4.94999987","destination_type":"Pevna_Linka","destination_type_description":"Pevna_Linka","destination":"Ceska republika","destination_price":"0.9000"},{"date":"2012-03-05 13:10:57","real_exten":"500","dst":"468008585","billsec":"170","duration":"177","disposition":"ANSWERED","accountcode":"","uniqueid":"1330949457.244","id_call":"1330949457.244","from_did":null,"direction":"out","price":"2.69999993","destination_type":"Pevna_Linka","destination_type_description":"Pevna_Linka","destination":"Ceska republika","destination_price":"0.9000"},{"date":"2012-03-05 13:13:56","real_exten":"500","dst":"468008585","billsec":"2200","duration":"2206","disposition":"ANSWERED","accountcode":"","uniqueid":"1330949636.250","id_call":"1330949636.250","from_did":null,"direction":"out","price":"33.29999912","destination_type":"Pevna_Linka","destination_type_description":"Pevna_Linka","destination":"Ceska republika","destination_price":"0.9000"},{"date":"2012-03-05 13:51:08","real_exten":"500","dst":"468008585","billsec":"923","duration":"929","disposition":"ANSWERED","accountcode":"","uniqueid":"1330951868.260","id_call":"1330951868.260","from_did":null,"direction":"out","price":"13.94999963","destination_type":"Pevna_Linka","destination_type_description":"Pevna_Linka","destination":"Ceska republika","destination_price":"0.9000"},{"date":"2012-03-08 14:13:31","real_exten":"500","dst":"840101010","billsec":"4","duration":"8","disposition":"ANSWERED","accountcode":"","uniqueid":"1331212411.14","id_call":"1331212411.14","from_did":null,"direction":"out","price":"3.82999992","destination_type":"Specialni_Cisla","destination_type_description":"Specialni_Cisla","destination":"Bila linka ","destination_price":"1.9150"},{"date":"2012-03-13 16:57:13","real_exten":"300","dst":"603927227","billsec":"6","duration":"17","disposition":"ANSWERED","accountcode":"1002","uniqueid":"1331654233.196","id_call":"1331654233.586WS","from_did":null,"direction":"out","price":"2.25000000","destination_type":"Mobilni_Hovory","destination_type_description":"Mobilni_Hovory","destination":"Ceska republika - mobil T-mobile","destination_price":"4.5000"},{"date":"2012-03-26 10:51:29","real_exten":"500","dst":"491200163","billsec":"83","duration":"91","disposition":"ANSWERED","accountcode":"1002","uniqueid":"1332751889.0","id_call":"1332751889.9807WS","from_did":null,"direction":"out","price":"1.34999996","destination_type":"Pevna_Linka","destination_type_description":"Pevna_Linka","destination":"Ceska republika","destination_price":"0.9000"}]}