VCC-API fejlesztői leírás
Virtual Call Center API fejlesztői leírás
Oldal: 1 / 79
VCC-API fejlesztői leírás
Dokumentumtörténet Verzió 1.0.0 1.0.1
Kiadás dátuma 2011.02.17. 2011.02.28.
Készítette Fehér Gábor, Gólya Ádám Fehér Gábor, Gólya Ádám
1.1.0
2011.04.11.
Fehér Gábor, Gólya Ádám
1.2.0
2011.06.15.
Fehér Gábor
1.3.0
2011.10.07.
Fehér Gábor, Farkas Dániel
1.3.0
2011.10.13.
Fehér Gábor
1.4.0
2011.11.28.
Fehér Gábor
1.5.0
2011.12.02.
Fehér Gábor
1.5.1
2011.12.09.
Fehér Gábor, Vincze Zoltán
1.5.2
2012.01.17.
Fehér Gábor, Gólya Ádám
1.5.3 1.5.4
2012.01.31. 2012.02.07.
Fehér Gábor Fehér Gábor, Gólya Ádám
1.5.5 1.5.6
2012.03.22. 2012.06.24. 2012.07.20. 2012.08.08. 2012.08.22. 2012.10.01-03.
Fehér Gábor, Imre Zsolt Fehér Gábor
2.0.1
2012.11.13.
Fehér Gábor
2.0.2
2013.01.08.
Fehér Gábor
2.0.3
2013.02.01.
Fehér Gábor
2.0.0
Fehér Gábor, Gólya Ádám
Leírás Fejlesztői dokumentáció Kiegészítés: Kimenő API rész hozzáadása, Tartalom átrendezés Projects kiegészítése a "status" elemmel, új erőforrás: felhasználók listájának lekérdezése Kimenő API Létező események módosítása Hívás statisztika, Bejövő statisztika hozzáadása Projekt paraméterekeinek lekérdezése rész kiegészítés Hívás statisztika, Bejövő statisztika hozzáadása kiegészítés: kimenet formátum Kvóták lekérdezése, és kvótalimitek módosítása. Tömeges rekord és termináció módosítás. Mezők és értékek létrehozása. Értékek beszúrása adott mezőhöz. Értékek törlése. Kvóták lekérdezés kiegészítés. Rekord beszúrás kiegészítés. Kimenő API kiegészítés Várakozási sorban szereplő online és elérhető operátorok számának lekérdezése. Autentikáció kiegészítés Struktúra átalakítás, magyarázatok beépítése API V2 változások felvezetése. Formázási változtatások. Visszatérési értékek táblázat bevezetése. Összefüggés ábra beszúrása. Rekord beszúrás (2.8.2) pont értelmezési rész kiegészítése a támogatott telefonszám formátummal. Módosítás: 2.1-es pont API -> Adatbázis API; 3.2-es pont API fül -> Callback API Kiegészítés 2.9.2-es pont: új kulcson megadható, hogy a rendszer mely telefonszámon hívja az ügyfelet. Oldal: 2 / 79
VCC-API fejlesztői leírás
2.1.0
2013.02.18.
Fehér Gábor
2.1.1
2013.09.24.
Vincze Zoltán, Fehér Gábor
2.2.0
2014.02.24-26.
Farkas János, Fehér Gábor
2.2.1
2014.04.22.
Farkas János, Fehér Gábor
2.2.2
2014.08.12.
Fehér Gábor
Módosítás: 3-as pont Kimenő API nevének cseréje Callback API-ra Új Database API funkció: Felhasználói tevékenység statisztika Tömeges termináció állítás (2.11) kiegészítés, Tömeges rekord beszúrás (2.8) Új Database API funkciók: Csapatok lekérdezése (2.23), Jogosultság csoportok lekérdezése (2.24), Projekt másolás (2.25), Felhasználó létrehozás (2.26) Strukturális átalakítás: logikai csoportok létrehozása Új Database API funkció: Adott mező értékeinek módosítása Callback API példa beszúrása, új Database API funkció: CDR lekérdezése uuid alapján, Callback API kiegészítése példával
Oldal: 3 / 79
VCC-API fejlesztői leírás 1.
2.
Virtual Call Center API leírás............................................................................................... 8 1.1.
A REST interface megvalósítása ................................................................................... 8
1.2.
Az API elérhetősége ..................................................................................................... 8
1.3.
Authentikáció............................................................................................................... 8
1.3.1.
Az API beállítása ................................................................................................... 8
1.3.2.
Az authentikáció folyamata .................................................................................. 8
Projektek............................................................................................................................. 10 2.1. 2.1.1.
A funkció leírása................................................................................................... 10
2.1.2.
Példa a funkció használatára................................................................................ 10
2.1.3.
A visszatérő adatok értelmezése .......................................................................... 10
2.2.
Projektek paramétereinek lekérdezése......................................................................... 11
2.2.1.
A funkció leírása.................................................................................................... 11
2.2.2.
Példa a funkció használatára................................................................................. 11
2.2.3.
A visszatérő adatok értelmezése .......................................................................... 16
2.3.
3.
Projektek listájának lekérdezése.................................................................................. 10
Projekt másolás ........................................................................................................... 18
2.3.1.
A funkció leírása................................................................................................... 18
2.3.2.
Példa a funkció használatára................................................................................ 18
2.3.3.
A visszatérő adatok értelmezése .......................................................................... 18
Rekordok ............................................................................................................................ 19 3.1.
Rekordok listázása....................................................................................................... 19
3.1.1.
A funkció leírása................................................................................................... 19
3.1.2.
Példa a funkció használatára................................................................................ 19
3.1.3.
A visszatérő adatok értelmezése ......................................................................... 20
3.2.
Rekord adatainak lekérdezése..................................................................................... 21
3.2.1.
A funkció leírása................................................................................................... 21
3.2.2.
Példa a funkció használatára................................................................................ 21
3.2.3.
A visszatérő adatok értelmezése ..........................................................................25
3.3.
Rekord adatainak módosítása .....................................................................................27
3.3.1.
A funkció leírása...................................................................................................27
3.3.2.
Példa a funkció használatára................................................................................27
3.3.3.
A visszatérő adatok értelmezése ......................................................................... 28
3.4.
Rekord beszúrása ....................................................................................................... 29 Oldal: 4 / 79
VCC-API fejlesztői leírás 3.4.1.
A funkció leírása.................................................................................................. 29
3.4.2.
Példa a funkció használatára............................................................................... 29
3.4.3.
A visszatérő adatok értelmezése .......................................................................... 31
3.5.
3.5.1.
A funkció leírása................................................................................................... 33
3.5.2.
Példa a funkció használatára................................................................................ 33
3.5.3.
A visszatérő adatok értelmezése .......................................................................... 33
3.6.
A funkció leírása...................................................................................................35
3.6.2.
Példa a funkció használatára................................................................................35
3.6.3.
A visszatérő adatok értelmezése ......................................................................... 36
Tömeges termináció módosítás.................................................................................. 38
3.7.1.
A funkció leírása.................................................................................................. 38
3.7.2.
Példa a funkció használatára............................................................................... 38
3.7.3.
A Visszatérő adatok értelmezése......................................................................... 39
Kvótázás.............................................................................................................................. 41 4.1.
Kvóták lekérdezése...................................................................................................... 41
4.1.1.
A funkció leírása................................................................................................... 41
4.1.2.
Példa a funkció használatára................................................................................ 41
4.1.3.
A visszatérő adatok értelmezése ..........................................................................43
4.2.
5.
Tömeges rekord módosítás .........................................................................................35
3.6.1.
3.7.
4.
Termináció beszúrása egy adott rekordhoz................................................................. 33
Kvóták módosítása ..................................................................................................... 45
4.2.1.
A funkció leírása.................................................................................................. 45
4.2.2.
Példa a funkció használatára............................................................................... 45
4.2.3.
A visszatérő adatok értelmezése ......................................................................... 45
Mezők és értékek ............................................................................................................... 47 5.1.
Mezők és értékek létrehozása..................................................................................... 47
5.1.1.
A funkció leírása.................................................................................................. 47
5.1.2.
Példa a funkció használatára............................................................................... 47
5.1.3.
A visszatérő adatok értelmezése ......................................................................... 48
5.2.
Létező mezőhöz új érték hozzáadása ......................................................................... 49
5.2.1.
A funkció leírása.................................................................................................. 49
5.2.2.
Példa a funkció használatára............................................................................... 49
5.2.3.
A visszatérő adatok értelmezése ......................................................................... 50 Oldal: 5 / 79
VCC-API fejlesztői leírás 5.3.
5.3.1.
A funkció leírása................................................................................................... 51
5.3.2.
Példa a funkció használatára................................................................................ 51
5.3.3.
A visszatérő adatok értelmezése .......................................................................... 51
5.4.
6.
Adott mező értékeinek módosítása ............................................................................. 51
Adott mező értékeinek törlése ....................................................................................52
5.4.1.
A funkció leírása...................................................................................................52
5.4.2.
Példa a funkció használatára................................................................................52
5.4.3.
A visszatérő adatok értelmezése ..........................................................................52
Statisztikák, riportok ..........................................................................................................53 6.1.
CDR-ek lekérdezése adott hónapra.............................................................................53
6.1.1.
A funkció leírása...................................................................................................53
6.1.2.
Példa a funkció használatára................................................................................53
6.1.3.
Visszatérő adatok értelmezése ............................................................................ 54
6.2.
CDR-ek lekérdezése uuid alapján ............................................................................... 56
6.2.1.
A funkció leírása.................................................................................................. 56
6.2.2.
Példa a funkció használatára............................................................................... 56
6.2.3.
Visszatérő adatok értelmezése ............................................................................ 56
6.3.
Bejövő statisztika........................................................................................................ 58
6.3.1.
A funkció leírása.................................................................................................. 58
6.3.2.
Példa a funkció használatára............................................................................... 58
6.3.3.
A visszatérő adatok értelmezése ......................................................................... 60
6.4.
Hívás statisztika ......................................................................................................... 62
6.4.1.
A funkció leírása.................................................................................................. 62
6.4.2.
Példa a funkció használatára............................................................................... 62
6.4.3.
A visszatérő adatok értelmezése ......................................................................... 65
6.5.
Várakozási sorban szereplő online és elérhető operátorok számának lekérdezése .... 66
6.5.1.
A funkció leírása.................................................................................................. 66
6.5.2.
Példa a funkció használatára............................................................................... 66
6.5.3.
A visszatérő adatok értelmezése ......................................................................... 66
6.6.
Felhasználói tevékenység statisztika .......................................................................... 67
6.6.1.
A funkció leírása.................................................................................................. 67
6.6.2.
Példa a funkció használatára............................................................................... 67
6.6.3.
A visszatérő adatok értelmezése ......................................................................... 69 Oldal: 6 / 79
VCC-API fejlesztői leírás 7.
Felhasználók, csapatok, jogosultságok................................................................................ 71 7.1. 7.1.1.
A funkció leírása................................................................................................... 71
7.1.2.
Példa a funkció használatára................................................................................ 71
7.1.3.
A visszatérő adatok értelmezése .......................................................................... 71
7.2.
Felhasználó létrehozása...............................................................................................72
7.2.1.
A funkció leírása...................................................................................................72
7.2.2.
Példa a funkció használatára................................................................................72
7.2.3.
A visszatérő adatok értelmezése ..........................................................................72
7.3.
Csapatok lekérdezése ................................................................................................. 74
7.3.1.
A funkció leírása.................................................................................................. 74
7.3.2.
Példa a funkció használatára............................................................................... 74
7.3.3.
A visszatérő adatok értelmezése ......................................................................... 74
7.4.
8.
Felhasználók listájának lekérdezése ............................................................................ 71
Jogosultság csoportok lekérdezése ..............................................................................75
7.4.1.
A funkció leírása...................................................................................................75
7.4.2.
Példa a funkció használatára................................................................................75
7.4.3.
A visszatérő adatok értelmezése ..........................................................................75
Callback API ...................................................................................................................... 76 8.1.
A Callback API célja és működése .............................................................................. 76
8.2.
A Callback API beállítása............................................................................................ 76
8.3.
Példa a Callback API üzenetre.....................................................................................77
Oldal: 7 / 79
VCC-API fejlesztői leírás
1. Virtual Call Center API leírás A Virtual Call Center API (továbbiakban API) célja, hogy a Virtual Call Center (továbbiakban VCC) rendszerét összekösse az ügyfelek külső rendszereivel.
1.1. A REST interface megvalósítása Az API tervezése során a REST elveit valamint a JSON-t választottuk a VCC és a külső rendszerek integrálásához. Ezen technológiák segítségével a rendszerek HTTP GET, PUT, POST, DELETE üzenetek segítségével kommunikálnak egymással. Az elérhető erőforrások részletes leírása a következő fejezetekben fog megtörténni. A REST interfaceről bővebben: http://en.wikipedia.org/wiki/Representational_state_transfer http://hu.wikipedia.org/wiki/REST A JSON-ről bővebben: http://en.wikipedia.org/wiki/JSON http://hu.wikipedia.org/wiki/JSON
1.2. Az API elérhetősége <customer>.asp.virtual-call-center.eu
Az API-t csak előre meghatározott IP-ről vagy IP tartományba tartozó IP-ről lehet elérni.
1.3. Authentikáció 1.3.1. Az API beállítása A bejelentkezéshez szükséges adatokat a Virtual Call Center kliens használatával, supervisor / admin jogosultságú felhasználóként a VCC → Beállítások oldal Adatbázis API füle alatt adható meg a következő lépések végrehajtásával: 1. Állítsa be az IP címet, vagy IP tartományt, ahonnan szeretné az API-t elérhetővé tenni. 2. Generálja le a jelszót a „Jelszó generálás” gomb megnyomásával. 3. A módosítások mentéséhez nyomja meg a „Mentés” gombot. Az „URL példa a használathoz” mező által adott mintát használhatja az API eléréséhez. 1.3.2. Az authentikáció folyamata Amennyiben a bejelentkezés még nem történt meg, bármely API funkció meghívásakor a kiszolgáló felszólítja a klienst, hogy authentikálja magát. Az API HTTP basic authentikációt használ, melynek során a kliens a felhasználónevet és jelszót egy kettősponttal összefűzi, az így kapott szöveget Base64 kódolja, majd a HTTP kérés fejlécében, az „Authorization” paraméter értékeként küldi el a kiszolgáló felé.
Oldal: 8 / 79
VCC-API fejlesztői leírás Sikeres authentikációt követően a kiszolgáló által küldött válasz fejlécében a Set-Cookie paraméterben megkapjuk a PHPSESSID változó értékét, amit minden kérésnél el kell küldeni, vagy cookie-n keresztül vagy a scoping információban. Az API használatához, beleértve az ahhoz történő authentikációt is, a HTTPS protokoll használata ajánlott, habár minden művelet elérhető HTTP protokollon keresztül is, de ez utóbbi nem nyújt védelmet a hálózati forgalom lehallgatásával szemben. További információ a Basic Authentication-nel kapcsolatban http://en.wikipedia.org/wiki/Basic_access_authentication oldalon.
elérhető
a
Oldal: 9 / 79
VCC-API fejlesztői leírás
2. Projektek 2.1. Projektek listájának lekérdezése 2.1.1. A funkció leírása o o o
Az erőforrás célja: az összes projekt lekérdezése Az erőforrás URI-je: /v2/projects Metódus: GET 2.1.2. Példa a funkció használatára
o o
Kérés: http://<customer>.asp.virtual-call-center.eu/v2/projects Válasz: { "response": [ { "projectid": 2, "name": "Kimenő hideghívások", "status": "active", "container": false }, { "projectid": 3, "name": "Emlékeztető hívások Budapest", "status": "inactive", "container": false }, { "projectid": 1, "name": "2011 október", "status": "active", "container": false } ], "errors": [] }
2.1.3. A visszatérő adatok értelmezése
Típus int string string
projectid name status active inactive container
boolean true false
Magyarázat a projekt a VCC adatbázisában szereplő azonosítója a projekt ügyfél által megadott neve a projekt státusza a projekt státusza aktív a projekt státusza inaktív az adott elem tartalmaz-e további elemeket tartalmaz nem tartalmaz
Oldal: 10 / 79
VCC-API fejlesztői leírás
2.2. Projektek paramétereinek lekérdezése 2.2.1. A funkció leírása o o o
Az erőforrás célja: Visszaadja az adott projekt adatait (mezők és értékei, terminációk). Az erőforrás URI-je: /v2/projects/<projectid> Metódus: GET 2.2.2. Példa a funkció használatára
o
Kérés:http://<customer>.asp.virtual-callcenter.eu/v2/projects/<projectid>
o
o
projectid = [0-9]+ a paraméterrel megadható, hogy melyik projekt adatait szeretné lekérni például:http://<customer>. asp.virtual-callcenter.eu/v2/projects/251 esetén a 251-es projektre vonatkozó információk kerülnek visszaadásra Válasz: { "response": { "fields": [ { "fieldid": 1, "name": "name", "type": "text", "indexed": "yes", "customised": "yes", "label": "name" }, { "fieldid": 2, "name": "phone1", "type": "text", "indexed": "yes", "customised": "yes", "label": "phone1" }, { "fieldid": 3, "name": "cim", "type": "text", "indexed": "no", "customised": "", "label": "cim" }, { "fieldid": 22, "name": "szerzodes", "type": "simple", "indexed": "no", "customised": "no", "label": "Van-e az ügyfélnek szerződése", "values": [ [
Oldal: 11 / 79
VCC-API fejlesztői leírás { "label": "Igen", "name": "Igen", "valueid": 6, "fieldid": 22, "export_value": "Létező szerződés", "description": "", "commission": 10, "price": 100 }, { "label": "Nem", "name": "Nem", "valueid": 7, "fieldid": 22, "export_value": "Még nincs szerződés", "description": "Potenciális jelölt", "commission": 20, "price": 200 } ] ] }, { "fieldid": 23, "name": "szerztype", "type": "multiple", "indexed": "no", "customised": "no", "label": "A szerződés típusa", "values": [ [ { "label": "Telefon", "name": "Telefon", "valueid": 8, "fieldid": 23, "export_value": "T1", "description": "", "commission": 1, "price": 1 }, { "label": "TV", "name": "TV", "valueid": 9, "fieldid": 23, "export_value": "T2", "description": "", "commission": 2, "price": 2 }, { "label": "Internet", "name": "Internet", "valueid": 10, "fieldid": 23, "export_value": null, "description": "", "commission": 0, "price": 0 } ] ] }
Oldal: 12 / 79
VCC-API fejlesztői leírás ], "dispositions": [ { "name": "Visszahívás", "assesment": "failed", "description": "", "recall": 0, "status": "recall", "price": 0, "commission": 0, "id": 1, "label": "Visszahívás", "mode": "active" }, { "name": "Közös listás visszahívás", "assesment": "failed", "description": "", "recall": 0, "status": "shared_recall", "price": 0, "commission": 0, "id": 2, "label": "Közös listás visszahívás", "mode": "active" }, { "name": "Foglalt", "assesment": "failed", "description": "", "recall": 0, "status": "busy", "price": 0, "commission": 0, "id": 3, "label": "Foglalt", "mode": "active" }, { "name": "Csatorna túllépés miatt megszakítva", "assesment": "failed", "description": "", "recall": 0, "status": "limit_exceeded", "price": 0, "commission": 0, "id": 4, "label": "Csatorna túllépés miatt megszakítva", "mode": "active" }, { "name": "Nem elérhető", "assesment": "failed", "description": "", "recall": 0, "status": "unavailable", "price": 0, "commission": 0, "id": 5, "label": "Nem elérhető", "mode": "active" }, { "name": "Eldobott", "assesment": "failed",
Oldal: 13 / 79
VCC-API fejlesztői leírás "description": "", "recall": 0, "status": "discard", "price": 0, "commission": 0, "id": 6, "label": "Eldobott", "mode": "active" }, { "name": "Ideiglenesen nem elérhető", "assesment": "failed", "description": "", "recall": 0, "status": "temporary_not_available", "price": 0, "commission": 0, "id": 7, "label": "Ideiglenesen nem elérhető", "mode": "active" }, { "name": "Hibás szám miatt eldobott", "assesment": "failed", "description": "", "recall": 0, "status": "discard_failed", "price": 0, "commission": 0, "id": 8, "label": "Hibás szám miatt eldobott", "mode": "active" }, { "name": "Vesztett", "assesment": "failed", "description": "", "recall": 86400, "status": "dropped", "price": 0, "commission": 0, "id": 9, "label": "Vesztett", "mode": "active" }, { "name": "Kvóta", "assesment": "failed", "description": "", "recall": 0, "status": "quota", "price": 0, "commission": 0, "id": 10, "label": "Kvóta", "mode": "active" }, { "name": "ELŐFIZETÉS", "assesment": "success", "description": "Az ügyfél előfizetés kötött.", "recall": 0, "status": "finished", "price": 10000, "commission": 1000,
Oldal: 14 / 79
VCC-API fejlesztői leírás "id": 11, "label": "EL01", "mode": "active" }, { "name": "VISSZAHÍVÁS - új adatok", "assesment": "success", "description": "Adategyeztetés miatt visszahívni.", "recall": 0, "status": "recall", "price": 0, "commission": 0, "id": 13, "label": "VISSZAHÍVÁS - új adatok", "mode": "active" }, { "name": "ELUTASÍT", "assesment": "success", "description": "", "recall": 0, "status": "finished", "price": 0, "commission": 0, "id": 14, "label": "ELUTASÍT", "mode": "active" }, { "name": "VISSZAHÍVÁS 1 nap", "assesment": "success", "description": "Egy nap múlva hívjuk vissza", "recall": 86400, "status": "recall", "price": 0, "commission": 0, "id": 15, "label": "CB1", "mode": "active" }, { "name": "nem létező ügyfél", "assesment": "ordered", "description": "", "recall": 0, "status": "finished", "price": 0, "commission": 0, "id": 12, "label": "NAC", "mode": "active" } ] }, "errors": [] }
Oldal: 15 / 79
VCC-API fejlesztői leírás 2.2.3. A visszatérő adatok értelmezése
fieldid
Típus array int
name type
string string
fields
text simple multiple indexed
string
yes no customised
string
yes no label
string
label name valueid
string string int
fieldid
int
export_value
string
description
string
comission
int
price
int
name assesment
array string String
values
dispositions
success ordered failed description
string
recall
int
status
string
Magyarázat a mező VCC adatbázisban szereplő azonosítója a mező ügyfél által megadott neve szöveges mező egy érték kezelésére alkalmas mező több érték kezelésére alkalmas mező a mező ügyfél által indexelve van-e, vagyis külön kereshető a tartalma a VCC program egyes felületein pl. rekordok a mező indexelve van a mező nincs indexelve a mező custom típusú-e, amely beállítás a mező értékének operátori híváslistában való megjelenést szabályozza ké zi tárcsázás esetén ebben az esetben a mező értéke megjelenik az operátori híváslistában ebben az esetben a mező értéke nem jelenik meg az operátori híváslistában a mező ügyfél által beállított címkéje a mezők értékei az érték ügyfél által megadott értéke az érték ügyfél által megadott neve az érték VCC adatbázisban szereplő azonosítója annak a mezőnek a VCC adatbázisban szereplő azonosítója, amelyhez az érték tartozik az érték ügyfél által megadott export értéke az ügyfél által az értékhez adott megjegyzés az ügyfél által megadott operátori jutalék értéke az ügyfél által megadott call center jutalék értéke terminációk a termináció ügyfél által megadott neve a termináció ügyfél által megadott értékelése, kivéve rendszer oldali terminációk (id: 1-10) elért sikeres nem elért a terminációhoz ügyfél által adott megjegyzés adott terminációkhoz (rendszer és visszahívás / közös listás visszahívás típusú terminációk) ügyfél által megadott alapértelmezett visszahívási időpont értéke (mp) a termináció ügyfél által megadott típusa,kivéve rendszer terminációk (id: 1-10)
Oldal: 16 / 79
VCC-API fejlesztői leírás visszahívás közös listás visszahívás foglalt csatorna túllépés miatt megszakítva
recall shared_recall busy limit_exceede d unavailable discard temporary_not _available discard_faile d dropped quota answering_mac hine machine
nem elérhető eldobott átmenetileg nem elérhető hibás szám miatt eldobott vesztett kvóta hangpostára fut egy hívás
robinson finished price
int
comission
int
id
int
label
string
mode
string active inactive deleted
a tárcsázó felismert egy üzenetrögzítőt vagy IVR-t az operátor robinson listára terminált egy hívást befejezett az ügyfél által megadott operátori jutalék értéke az ügyfél által megadott call center jutalék értéke a termináció VCC adatbázisban szereplő azonosítója a termináció ügyfél által megadott exportértéke a termináció státusza aktív inaktív törölt
Oldal: 17 / 79
VCC-API fejlesztői leírás
2.3. Projekt másolás 2.3.1. A funkció leírása o o o
Az erőforrás célja: projektID alapján az adott projekt másolása Az erőforrás URI-je: /v2/projects/clone/<projectid> Metódus: PUT 2.3.2. Példa a funkció használatára
o
Kérés:http://<customer>.asp.virtual-callcenter.eu/v2/projects/clone/<projectid> o BODY tartalma: { "name": "
" }
name
Típus string
Köt. igen
Magyarázat Az új (másolt) projekt neve.
2.3.3. A visszatérő adatok értelmezése o
sikeres változtatás esetén body tartalma: a response kulcson található <projectid> vagyis a létrehozott projekt adatbázisban szereplő egyedi azonosítója { "response": 33, "errors": [] }
o
sikertelen változtatás esetén a body tartalma: o 417 - error.required: hiányzó érték a name kulcson o 417 - error.projectname_already_exists: a megadott névvel már létezik projekt az adatbázisban o 417 - error.wrong_projectname_format: a megadott név hibás, vagy nem támogatott karaktereket tartalmaz pl. / \ o 417 - error.bad_arguments: a BODY tartalma nem értelmezhető (pl. nem valid JSON) o 500 - error.clone_project_error: a másolás sikertelen volt szerver oldali probléma miatt, és a projekt nem jött létre
Oldal: 18 / 79
VCC-API fejlesztői leírás
3. Rekordok 3.1. Rekordok listázása 3.1.1. A funkció leírása o o o
Az erőforrás célja: Visszaadja az adott projektben szereplő rekordokat. Az erőforrás URI-je: /v2/projects/<projectid>/records Metódus: GET 3.1.2. Példa a funkció használatára
o
Kérés:http://<customer>.asp.virtual-callcenter.eu/v2/projects/<projectid>/records
o
o
o
1) start=[0-9]+ az egyenlőségjel után megadott számmal befolyásolható, hogy hányadik rekordtól adja vissza a rekordokat a rendszer például:http://<customer>. asp.virtual-callcenter.eu/v2/projects/<projectid>/records?start=2 esetén az adatbázisban szereplő rekordok közül a harmadikkal kezdődően szereplő rekordokat fogja visszaadni a rendszer 2) num=[0-9]+ az egyenlőségjel után megadott számnak megfelelő rekordot ad vissza a rendszer például:http://<customer>. asp.virtual-callcenter.eu/v2/projects/<projectid>/records?num=2 esetén a rendszer az adatbázisban szereplő rekordok közül az első kettőt fogja visszaadni 3) fieldname=[a-z_]+&value=.+ például:http://<customer>. asp.virtual-callcenter.eu/v2/projects/<projectid>/records ?fieldname=phone1&value=3619997400 esetén a rendszer azokat a
o
rekordokat fogja visszaadni az adatbázisból, ahol phone1 mező értéke 3619997400 o Fontos, hogy a rendszer csak az indexelt mezők adatait adja vissza! Válasz: { "response": { "rows": [ { "id": 1, "name": "Kovács György" }, { "id": 2, "name": "Kiss Álmos" }, { "id": 3, "name": "Tóth Aladár" } ], "totalCount": 3 },
Oldal: 19 / 79
VCC-API fejlesztői leírás "errors": []}
3.1.3. A visszatérő adatok értelmezése
id name totalcount
Típus int string int
Magyarázat a rekord VCC adatbázisban szereplő azonosítója a rekord ügyfél által megadott neve Az összes rekord darabszáma az adott projektben
Oldal: 20 / 79
VCC-API fejlesztői leírás
3.2. Rekord adatainak lekérdezése 3.2.1. A funkció leírása o o o
Az erőforrás célja: Visszaadja egy rekord adatait, a hozzá tartozó eseményeket és CDR-ket. Az erőforrás URI-je: /v2/projects/<projectid>/records/ Metódus: GET 3.2.2. Példa a funkció használatára
o
Kérés:http://<customer>.asp.virtual-callcenter.eu/v2/projects/<projectid>/records/ o numberid = [0-9]+ a lekérdezésben a numberid csak szám lehet http://example.asp.virtual-callcenter.eu/v2/projects/122/records/13 esetén a
például
122-es projektid-val rendelkező projektből a 13-as numberid-val (egyedi azonosító) rendelkező rekord részletes adatait adja vissza a rendszer
o
Válasz: { "response": { "data": { "name": "Virtual Call Center", "phone1": "3619997400", "cim": "HU, 1023 Budapest, Csalogány utca 23 -33", "szerzodes": [ 6 ], "szerztype": [ 8, 9, 10 ] }, "events": [ { "attempted_connection": 1, "create_date": "2011-11-22 14:36:40", "description": "predictivedialer", "dispositionid": 9, "next_calldate": "2011-11-23 14:36:40", "phone": "36203399877", "shared_call": false, "userid": -1 }, { "attempted_connection": 2, "create_date": "2011-11-30 21:50:08", "description": "predictivedialer", "dispositionid": 3, "next_calldate": "0000-00-00 00:00:00", "phone": "36203399877", "shared_call": false, "userid": -1 }, { "attempted_connection": 3,
Oldal: 21 / 79
VCC-API fejlesztői leírás "create_date": "2011-12-15 22:07:04", "description": "predictivedialer", "dispositionid": 3, "next_calldate": "0000-00-00 00:00:00", "phone": "36203399877", "shared_call": false, "userid": -1 }, { "attempted_connection": 4, "create_date": "2012-01-18 22:17:34", "description": "predictivedialer", "dispositionid": 7, "next_calldate": "0000-00-00 00:00:00", "phone": "36203399877", "shared_call": false, "userid": -1 }, { "client_search": "no", "commission": 0, "comp": { "from": "00:00", "period": "0", "to": "00:00" }, "create_date": "2012-03-27 09:46:33", "description": "", "dispositionid": 1, "next_calldate": "2010-03-27 09:45:52", "phone": "36203399877", "price": 0, "state": "AFTERWORK", "userid": 11, "uuid": "ea2ab432-77e0-11e1-865d-65b56d88788b" }, { "client_search": "no", "commission": 0, "comp": { "from": "00:00", "period": "0", "to": "00:00" }, "create_date": "2012-04-17 16:32:28", "description": "", "dispositionid": 1, "next_calldate": "2010-04-17 16:26:09", "phone": "36203399877", "price": 0, "state": "AFTERWORK", "userid": 11, "uuid": "4624e082-8899-11e1-a703-2ff36baa95dd" }, { "create_date": "2012-04-24 21:49:49", "dispositionid": 11, "description": "megköti a szerződést", "userid": 11, "price": 0, "commission": 0 } ], "cdrs": { "rows": [
Oldal: 22 / 79
VCC-API fejlesztői leírás { "uuid": "4624e082-8899-11e1-a703-2ff36baa95dd", "source": "3615100315", "destination": "3619997400", "userid": 11, "numberid": 2, "start_ts": "2012-04-17 16:26:18", "billing_ts": "2012-04-17 16:26:19", "ringtime": 10, "billingtime": 5, "talktime": 4, "queuetime": 1, "beforequeuetime": 0, "dispositionid": 1, "dispositionreach": 1, "dispositionstatus": 1, "projectid": 251 }, { "uuid": "ea2ab432-77e0-11e1-865d-65b56d88788b", "source": "3615100315", "destination": "3619997400", "userid": 11, "numberid": 2, "start_ts": "2012-03-27 09:46:15", "billing_ts": "2012-03-27 09:46:15", "ringtime": 7, "billingtime": 3, "talktime": 3, "queuetime": 0, "beforequeuetime": 0, "dispositionid": 1, "dispositionreach": 1, "dispositionstatus": 1, "projectid": 251 }, { "uuid": "d6b11e02-4219-11e1-acaf-8f8202560c15", "source": "3615100315", "destination": "3619997400", "userid": -1, "numberid": 2, "start_ts": "2012-01-18 22:17:34", "billing_ts": "2012-01-18 22:17:34", "ringtime": 0, "billingtime": 0, "talktime": 0, "queuetime": 0, "beforequeuetime": 0, "dispositionid": 7, "dispositionreach": 1, "dispositionstatus": 13, "projectid": 251 }, { "uuid": "b9b99816-2760-11e1-a332-f9ecdf8a5141", "source": "3615100315", "destination": "3619997400", "userid": -1, "numberid": 2, "start_ts": "2011-12-15 22:06:58", "billing_ts": "2011-12-15 22:07:04", "ringtime": 6, "billingtime": 0, "talktime": 0,
Oldal: 23 / 79
VCC-API fejlesztői leírás "queuetime": 0, "beforequeuetime": 0, "dispositionid": 3, "dispositionreach": 1, "dispositionstatus": 3, "projectid": 251 }, { "uuid": "f6ea748a-150e-11e1-9908-2f557157f9f0", "source": "3615100315", "destination": "3619997400", "userid": -1, "numberid": 2, "start_ts": "2011-11-22 14:36:21", "billing_ts": "2011-11-22 14:36:39", "ringtime": 18, "billingtime": 1, "talktime": 0, "queuetime": 1, "beforequeuetime": 0, "dispositionid": 9, "dispositionreach": 1, "dispositionstatus": 10, "projectid": 251 }, { "uuid": "dbe2c692-1b94-11e1-9b62-f9ecdf8a5141", "source": "3615100315", "destination": "3619997400", "userid": -1, "numberid": 2, "start_ts": "2011-11-30 21:49:55", "billing_ts": "2011-11-30 21:50:07", "ringtime": 12, "billingtime": 0, "talktime": 0, "queuetime": 0, "beforequeuetime": 0, "dispositionid": 3, "dispositionreach": 1, "dispositionstatus": 3, "projectid": 251 } ], "totalCount": 1 } }, "errors": [] }
Oldal: 24 / 79
VCC-API fejlesztői leírás 3.2.3. A visszatérő adatok értelmezése
data
Típus object
events
array
attempted_conne ction
int
create_date
string
description
string updateim port predicti vedialer
Tárcsázó
dispositionid
int
next_calldate
string
phone
string
shared_call
boolean true false
userid
int -1 -2
client_search
string yes no
comission price state
int int string
uuid
string
comp
object from
string
period
string
to
string
recycled_as_new
boolean true
cdrs
Magyarázat a data kulcs alatt a rekord minden adata visszaadásra kerül, amely az adatbázisban szerepel. Amennyiben egy vagy többértékes mezők (simple,multiple) is szerepelnek a válaszban, akkor az értékek nem szövegesen, hanem a valueid-val kerülnek visszaadásra. A példában: a "szerzodes" nevű mezőnél a "6"-os valueid (Igen) van kiválasztva a rekordnál, míg a "szerztype" mezőnél a "8", "9", "10"-es valueidk (Telefon, TV, Internet az events kulcs alatt a rekordhoz beállított terminációk kerülnek felsorolásra, amely operátor, supervisor vagy rendszer (predictive, adatbázis frissítés) általi termináció is lehet a tárcsázó általi próbálkozás száma (supervisor által a Call Center / Projekt / / Mezők / alatt befolyásolható a mennyiség, hogy hányszor próbálkozzon a tárcsázó elérni egy rekordot a termináció beállításának időpontja éééé-hh-nn óó-pp-mp formátumban Az operátor által adott megjegyzés Adatbázis frissítés
object
a tárcsázó által beállított termináció adatbázisban szerepelő IDja a rekord legközelebbi felhívásának időpontja éééé-hh-nn óó-ppmp formátumban a rekordhoz tarto zó telefonszámok közül az, amelyiken hívta és hívni fogja a rendszer a hívás terminációja közös listás visszahívás típusú volt-e közös listás nem közös listás típus az operátor adatbázisban szereplő ID-ja rendszer állította be a terminációt adatbázis frissítés állította be a terminációt az operátor kikereste-e a rekordot operátor által kikeresett rekord nem operátor által kikeresett rekord a terminációhoz beállított operátori jutalék értéke a terminációhoz beállíttt call center jutalék értéke azon operátori státusz neve, amely állapotban az operátor volt a termináció beállításakor pl. AFTERWORK esetén az operátor utómunka állapotban rögzítette a terminációt amennyiben történt hívás a termináció beállításakor, akkor a hívás rendszer által adott egyedi azonosítója amennyiben az operátor intervallumos közös listás visszahívás típusú terminációt állított be, akkor mikor hívja a rendszer mikortól hívja a rendszer óó-pp-mp formátumban pl. 11:00:00 órától fogja hívni a rendszer milyen időközönként pl. 25 esetén 25 percenként fogja hívni a rendszer meddig hívja a rendszer óó-pp-mp formátumban pl. 18:00:00 óráig fogja hívni a rendszer újként forgatta-e vissza a supervisor a Rekordok listája alatt újként lett visszaforgatva kulcs alatt a rekordhoz tartozó CDR információk adatai kerülnek elküldésre. Amennyiben volt olyan termináció, amelyhez nem tartozott hívás például supervisori beállítás, akkor ehhez nem
Oldal: 25 / 79
VCC-API fejlesztői leírás lesznek CDR információk rows uuid source destination userid
array string string string int
numberid start_ts
int string
billing_ts
string
ringtime billingtime talktime queuetime
int int int int
beforequeuetime
int
dispositionid
int
dispositionreac h
int
a hívás rendszer által adott egyedi azonosítója a hívó fél telefonszáma a hívott fél telefonszáma a terminációt beállító felhasználó egyedi azonosítója (-1 predictive / power tárcsázó esetén az értéke) a rekord adatbázisban szereplő egyedi azonosítója a hívás indításának időpontja éééé-hh-nn óó-pp-mp formátumban a hívás számlázása elkezdésének időpontja éééé-hh-nn óó-ppmp formátumban a hívás kicsörgési ideje (mp) a hívás számlázott ideje (mp) a hívás során a beszélgetés ideje (mp) amennyiben a hívás várakozási sorba került, akkor a várakozási sorban töltött ideje (mp) a hívás várakozási sor előtt töltött ideje (pl. IVR-ban töltött idő) (mp) a híváshoz beállított termináció adatbázisban szereplő egyedi azonosítója a beállított termináció értékelése
int
nem elért elért sikeres a beállított termináció típusa
1 2 3 dispositionstat us 1 2 3 4 5 8 9 10 11 12 13 projectid
int
visszahívás közös listás visszahívás foglalt nem elérhető befejezett eldobott hibás szám miatt eldobott vesztett kvóta csatorna túllépés miatt megszakítva átmenetileg nem elérhető annak a projektnek az adatbázisban szereplő egyedi azonosítója, ahol a hívás történt
Oldal: 26 / 79
VCC-API fejlesztői leírás
3.3. Rekord adatainak módosítása 3.3.1. A funkció leírása o o o
Az erőforrás célja: Módosítja a megadott rekord meghatározott mezőihez tartozó adatait, és opcionálisan a next_contact mező értékét is. Az erőforrás URI-je: /v2/projects/<projectid>/records/ Metódus: PUT 3.3.2. Példa a funkció használatára
o
Kérés:http://<customer>.asp.virtual-callcenter.eu/v2/projects/<projectid>/records/ o 1) next_contact=phone[1-9] a next_contact a rekordhoz tartozó telefonszámok közül megjelöli
o
azt, amelyiken a rendszernek fel kell hívnia legközelebb. Mivel a VCC rendszerbe összesen 9 telefonszám tölthető fel, így a next_contact értéke 1-9 között lehet, ahol az 1 a phone1-nek felel meg, a 9 a phone9-nek. BODY tartalma: {"":"","":""}
Az EA a mező egyedi azonosítója, amelyet a supervisor ad meg a mező létrehozása során. Ezek közül csak a név és a telefonszámok egyedi azonosítója kötött (name, phone1, phone2...phone9), a többi szabadon adható meg a rendszerbe belefoglalt kötöttségeknek megfelelően (csak angol abc kisbetűk és aláhúzás, nem kezdődhet számmal) Például, ha az ügyfél elsődleges telefonszámát szeretné módosítani, akkor a BODY a következőképpen néz ki: {"phone1":"3619997400"}
next_contact
o
Típus string
Köt. nem
Magyarázat a rekordhoz tarto zó telefonszámok közül megjelöli azt, amelyiken a rendszernek fel kell hívnia legközelebb
Példa: curl http://<username>:<password>@<customer>.asp.virtual-callcenter.eu/v2/projects/251/records/62/ -d {\"phone1\":\"3619997400\"} -X PUT
Oldal: 27 / 79
VCC-API fejlesztői leírás 3.3.3. A visszatérő adatok értelmezése o
Sikeres változtatása esetén a body tartalma { "errors": [], "response": true }
o
sikertelen változtatás esetén a body formátumára példa: { "errors": [ { "errorcode": 400, "errormessage": "400 Bad request", "index": 0 } ], "response": false }
Oldal: 28 / 79
VCC-API fejlesztői leírás
3.4. Rekord beszúrása 3.4.1. A funkció leírása o o o
Az erőforrás célja: A meghatározott projektbe egy új rekordot szúr be a meghatározott adatokkal. Az erőforrás URI-je: /v2/projects/<projectid>/records Metódus: POST 3.4.2. Példa a funkció használatára
o
Kérés:http://<customer>.asp.virtual-callcenter.eu/v2/projects/<projectid>/records o BODY tartalma egy rekord beszúrása esetén: { "phone_field": "phone4", "form": { "name": "Kovács Ákos", "phone1": "3619997400", "phone4": "3619996400", "szerzodes": [ { "valueid": 6 } ], "szerztype": [ { "valueid": 8 }, { "valueid": 9 } ] }, "premium": { "price": "100", "commission": "50" }, "disposition": { "dispositionid": "1", "userid": "81", "next_calldate": "2012-07-20 10:26:55" } }
o
BODY tartalma több rekord egyidejű beszúrása esetén:
[ [ { "phone_field": "phone4", "form": { "name": "Kovács Ákos", "phone1": "3619997400", "phone4": "3619996400", "szerzodes": [ { "valueid": 6
Oldal: 29 / 79
VCC-API fejlesztői leírás } ], "szerztype": [ { "valueid": 8 }, { "valueid": 9 } ] }, "premium": { "price": "100", "commission": "50" }, "disposition": { "dispositionid": "1", "userid": "81", "next_calldate": "2012-07-20 10:26:55" } }, { "form": { "name": "Kovács Ákos1", "phone1": "3619997400", "phone4": "3619996400" }, "disposition": { "dispositionid": "1", "userid": "81", "next_calldate": "2012-07-20 10:26:55" } } ]
]
phone_field
premium price comission form
Típus string
Köt. nem
object string string object
nem nem igen
Magyarázat a telefonszámok közül melyik legyen a visszahívási telefonszám pl: "phone_field": "" esetén, amennyiben a projekt adatbázisában van phone2 mező, akkor a rekordnál a phone2 mezőben szereplő telefonszám lesz a visszahívási telefonszám a premium kulcson két adat kerülhet elküldésre a rekordhoz kapcsolódó call center jutalék értéke a rekordhoz kapcsolódó operátori jutalék értéke kulcson küldhetőek el a rekord adatai, mint például a neve, telefonszáma (kötelező) címe stb. Amennyiben egy olyan mezőhöz kíván értéket beállítani, ahol egy vag y több érték kö zül kell választani, akkor a beállítani kívánt érték ID-ját kell megadnia (ennek lekérdezése:2.4-es pont) A phone[1-9] kulcson elküldött érték tartalmazza az ügyfél telefonszámait,amelynek támogatott formátuma , kizárólag folyamatosan számokkal leírt formátumban például: 3619997400. Nem támogatott a + előjel vagy a 00-ás prefix a telefonszám előtti használata például +3619997400 vagy 003619997400, továbbá bármilyen különleges karakter pl. / jel szóköz, alulvonás stb. használata a telefonszámban.
Oldal: 30 / 79
VCC-API fejlesztői leírás disposition
o
dispositionid
object string
nem igen
userid
string
igen
next_calldate
string
nem
kulcson terminációt is állíthat az adott rekordhoz a beállítani kívánt termináció adatbázisban szereplő egyedi azonosítója (ennek lekérdezése 2.4-es pont) a beállítani kívánt termináció mely felhasználóhoz kapcsolódjon, és ennek a felhasználónak az adatbázisban szereplő egyedi azonosítója (ennek lekérdezése:2.18-as pont) amennyiben visszahívás vagy kö zös listás visszahívás típusú terminációt kíván beállítani, akkor megadható, hogy annak időpontja mikor legyen éééé-hh-nn óó:pp:mp formátumban
Példa: curl http://<username>:<password>@<customer>.asp.virtual-callcenter.eu/v2/projects/251/records -vvv -X POST -d "{\"phone_field\": \"phone1\", \"premium\": {\"commission\": \"50\", \"price\": \"100\"}, \"disposition\": {\"premium\": {\"commission\": \"50\", \"price\": \"100\"}, \"next_calldate\": \"2012-07-20 10:26:55\", \"dispositionid\": \"1\", \"userid\": \"3\"}, \"form\": {\"szerzodes\": [{\"valueid\": 6}], \"phone1\": \"3619997400\", \"szerztype\": [{\"valueid\": 8}, {\"valueid\": 9}], \"name\": \"test\", \"phone4\": \"361\"}}"
3.4.3. A visszatérő adatok értelmezése o
sikeres változtatás esetén body tartalma: a response után található szögletes zárójelben a vagyis a beszúrt rekord adatbázisban szereplő egyedi azonosítója, tömeges beszúrás esetén pedig a beszúrt rekordok egyedi azonosítói { "errors": [], "response": [6] }
Oldal: 31 / 79
VCC-API fejlesztői leírás { "response": [ 63, 64, 65 ], "errors": [] }
o
sikertelen változtatás esetén a body tartalma: o error.bad_arguments : nem megfelelő vagy hiányzó adatok { "response": false, "errors": [ { "errorcode": 417, "errormessage": "error.bad_arguments", "index": 0 } ] }
Oldal: 32 / 79
VCC-API fejlesztői leírás
3.5. Termináció beszúrása egy adott rekordhoz 3.5.1. A funkció leírása o o
Az erőforrás célja: A projekt egy meghatározott rekordjához beállít egy új terminációt a paramétereknek megfelelően. Az erőforrás URI-je: /v2/projects/<projectid>/records//dispositions
o
Metódus: POST 3.5.2. Példa a funkció használatára
o
Kérés:http://<customer>.asp.virtual-callcenter.eu/v2/projects/<projectid>/records//dispositions o BODY tartalma: { "dispositionid": "", "userid": "", "next_calldate": "yyyy-mm-dd hh:mm:ss" "next_contactid": }
Típus dispositionid
string
Kötele ző igen
userid
string
igen
next_calldate
string
nem
next_contactid
int
nem
o
Magyarázat a beállítani kívánt termináció adatbázisban szereplő egyedi azonosítója (ennek lekérdezése 2.4-es pont) a beállítani kívánt termináció mely felhasználóhoz kapcsolódjon, és ennek a felhasználónak az adatbázisban szereplő egyedi azonosítója (ennek lekérdezése 2.18-as pont) amennyiben visszahívás vagy kö zös listás visszahívás típusú terminációt kíván beállítani, akkor megadható, hogy annak időpontja mikor legyen éééé-hh-nn óó:pp:mp formátumban megadható, hogy a rendszer melyik telefonszámon hívja fel az ügyfelet. A telefonszámokat a phone1-phone9 mezők tartalmazzák. Amennyiben azt szeretné, hogy a rendszer a phone1 mezőben lévő telefonszámon hívja az ügyfelet, akkor next_contactid:1 formulát kell használnia. Ha nem küld ezen a kulcson adatot, vagy nem létező phone mezőt ír be pl. 99, akkor a rendszer a projektben található legkisebb id-nak megfelelő értéket állítja be (elsősorban phone1).
Példa: curl http://<username>:<password>@.asp.virtual-callcenter.eu/v2/projects/251/records/138/dispositions -vvv -X POST -d "{\"next_calldate\": \"2012-07-20 10:26:55\", \"dispositionid\": \"2\", \"userid\": \"3\"}" 3.5.3. A visszatérő adatok értelmezése
o
sikeres változtatás esetén body tartalma: { "errors": [], "response": true }
Oldal: 33 / 79
VCC-API fejlesztői leírás o
sikertelen változtatás esetén a body tartalma: o a termináció beszúrása sikertelen volt pl. nem létező projekt esetén { "errorcode": 417, "index": 0, "errormessage": "error.add_disposition_was_unsuccessful" }
Oldal: 34 / 79
VCC-API fejlesztői leírás
3.6. Tömeges rekord módosítás 3.6.1. A funkció leírása o o o
Az erőforráscélja: A projekt meghatározott rekordjainak meghatározott tulajdonságait módosítja egyidejűleg. Az erőforrás URI-je: /v2/projects/<projectid>/records Metódus: PUT 3.6.2. Példa a funkció használatára
o
Kérés:http://<customer>.asp.virtual-callcenter.eu/v2/projects/<projectid>/records o BODY tartalma: { "elements": [ { "form": {"name": "Kovács Aladár"}, "search": {"name": "Aladár"} }, { "form": {"name": "Sándor","cim": "Miskolc"}, "numberid": "4" } ], "default": {"cim": "Budapest","kor": "30"} } Típus array
Kötelező igen
form search
object object
igen igen
numberid
string
igen
object
nem
elements
default
Magyarázat Ez a tömb tartalmazza a módosítani kívánt rekordok azonosításához szükséges paramétereket és a változtatni kívánt adatokat. A módosítani kívánt mezők adatait tartalmazza. A rekord adatbázisban való azonosítási paramétereit tartalmazza. Vagy ezt vagy a numberid-t kötelező megadni. A rekord adatbázisban szereplő egyedi azonosítója. Vagy ezt vagy a search paramétert kötelező megadni. Ezen kulcs értékei minden esetben beállításra kerülnek kivéve, ahol külön definiálva lett az érték.
A rendszer az elements-en belül végigmegy az egyes sorokon és végrehajtja a rekordok módosítását a feltételeknek megfelelően. Minden egyes element egy új keresési és módosítási feltételnek felel meg, ezáltal akár átfedések is lehetnek. A default kulcson lévő adatok minden esetben beállításra kerülnek, ahol külön nincs azoknak megfelelő érték definiálva.
Oldal: 35 / 79
VCC-API fejlesztői leírás A példa alapján a következő történik: 1. minden olyan rekordok, ahol a name mező értéke "Aladár" ott ez az érték felülíródik "Kovács Aladár"-ra. Emellett ezeknél a rekordoknál a cim és a kor is beállításra kerül (default kulcs). 2. a 4-es numberid-val rendelkező rekordnál a name érték felülíródik "Sándor"-ra a cim pedig "Miskolc"-ra. Mivel a default kulcson szereplő cim itt külön definiálva volt, ezért ezt a a default kulcs értéke nem írja felül, de a kor mező értéke viszont beállításra kerül. o
Példa: curl http://<username>:<password>@<customer>.asp.virtual-callcenter.eu/v2/projects/251/records/ -vvv -X PUT -d {\"elements\":[{\"form\":{\"name\":\"test\"},\"search\":{\"name\":\"tibi\"}},{\"for m\":{\"name\":\"test tibi\"}},{\"form\":{\"name\":\"tibi\",\"cim\":\"bela\"},\"numberid\":\"4\"}],\"defa ult\":{\"cim\":\"value1\",\"kor\":\"value2\"}}
3.6.3. A visszatérő adatok értelmezése o
sikeres változtatás esetén a body tartalma: { "errors": [], "response": { "0": true, "1": true } }
o
részleges sikeresség esetén a body tartalma: o
error.missing_numberid_or_search: hiányzik a keresés (search) vagy a numberid paraméter (ezek közül az egyiknek szerepelnie kell kérésben) { "errors": [ { "errorcode": 417, "errormessage": "error.missing_numberid_or_search", "index": 1 } ], "response": { "0": true, "2": true } }
o
sikertelenség esetén a body tartalma: { "errors": [ { "errorcode": 417, "errormessage": "error.missing_numberid_or_search", "index": 0
Oldal: 36 / 79
VCC-API fejlesztői leírás }, { "errorcode": 417, "errormessage": "error.missing_numberid_or_search", "index": 1 } ], "response": false }
Oldal: 37 / 79
VCC-API fejlesztői leírás
3.7. Tömeges termináció módosítás 3.7.1. A funkció leírása o o o
Az erőforrás célja: A projekt meghatározott rekordjainak aktuális terminációját felhasználóját és visszahívási időpontját módosítja a paramétereknek megfelelően. Az erőforrás URI-je: /v2/projects/<projectid>/records/dispositions Metódus: PUT 3.7.2. Példa a funkció használatára
o
Kérés:http://<customer>.asp.virtual-callcenter.eu/v2/projects/<projectid>/records/dispositions o BODY tartalma: { "elements": [ { "numberid": "1", "dispositionid": "1", "userid": "22", "next_calldate": "2012-10-10 11:00:00" }, { "search": { "name": "Kovács" } } ], "disposition": { "dispositionid": 2, "userid": 7, "next_calldate": "2012-09-10 12:00:00" } }
Típus array
Köt. igen
userid next_cal ldate search
string string
nem nem
object
igen
numberid
string
igen
elements
Magyarázat Ez a tömb tartalmazza a módosítani kívánt rekordok azonosításához szükséges paramétereket és a változtatni kívánt adatokat. A terminációhoz beállítható felhasználó egyedi azonosítója. A visszahívási időpont beállítására szolgáló paraméter, melynek formátuma éééé-hh-nn óó:pp:mp A rekord adatbázisban való azonosítási paramétereit tartalmazza. A search-ben szereplő kulcs a következők valamelyike lehet: numberid: a rekord egyedi azonosítója projektben található indexelt mező egyedi azonosítója pl. name pref_userid: rekordhoz tarto zó operátor azonosítója (userid (2.18)), közös listás visszahívás esetén az értéke: 0) act_status: rekordhoz tartozó aktuális termináció azonosítója (dispositionid (2.4)) Amennyiben több search objektum is meg van adva, akkor VAGY kapcsolattal történik a keresés. Ha pedig egy search objektumon belül több kulcs (keresési feltétel) is szerepel, ott ÉS kapcsolattal történik a keresés. A rekord adatbázisban szereplő egyedi azonosítója. Vagy ezt
Oldal: 38 / 79
VCC-API fejlesztői leírás disposition
object
nem
userid next_cal ldate search
string string
nem nem
object
igen
numberid
string
igen
vagy a search paramétert kötelező megadni. Ezen kulcs értékei minden esetben beállításra kerülnek kivéve, ahol külön definiálva lett az érték. A terminációhoz beállítható felhasználó egyedi azonosítója. A visszahívási időpont beállítására szolgáló paraméter, melynek formátuma éééé-hh-nn óó:pp:mp A rekord adatbázisban való azonosítási paramétereit tartalmazza. Vagy ezt vagy a numberid-t kötelező megadni. A rekord adatbázisban szereplő egyedi azonosítója. Vagy ezt vagy a search paramétert kötelező megadni.
A rendszer az elements-en belül végigmegy az egyes sorokon és végrehajtja a rekordok terminációival kapcsolatos módosításokat a feltételeknek megfelelően. Minden egyes element egy új keresési és módosítási feltételnek felel meg, ezáltal akár átfedések is lehetnek. A disposition kulcson lévő adatok minden esetben beállításra kerülnek, ahol külön nincs azoknak megfelelő érték definiálva. A példa alapján a következő történik:
1. Az 1-s numberid-val rendelkező rekordnál beállításra kerül az 1-es azonosítóval rendelkező termináció (visszahívás), 2012-10-10 11:00:00-ás visszahívási időponttal a 22-es azonosítóval rendelkező operátorhoz. 2. A rendszer kikeresi az adott projekt adatbázisából az összes olyan rekordot, ahol a name mező értéke "Kovács" és beállítja hozzájuk a 2-es azonosítóval rendelkező terminációt (közös listás visszahívás) 2012-09-10 12:00:00-ás visszahívási időponttal és ezeket a 7-es azonosítóval rendelkező operátorhoz rendeli. Példa: curl http://<username>:<password>@<customer>.asp.virtual-callcenter.eu/v2/projects/251/records/ -vvv -X PUT -d {\"elements\":[{\"numberid\":\"1\",\"dispositionid\":\"1\",\"userid\":\"22\",\"next_calldate\": \"2012-10-10 11:00:00\"},{\"search\":{\"name\":\"Kovács\"}}],\"disposition\":{\"dispositionid\":2,\"useri d\":7,\"next_calldate\":\"2012-09-10 12:00:00\"}} 3.7.3. A Visszatérő adatok értelmezése
o
sikeres változtatás esetén a body tartalma: { "errors": [], "response": { "0": true, "1": true } }
o
részleges sikeresség esetén a body tartalma: o
error.missing_numberid_or_search : hiányzik a keresés (search) vagy a numberid paraméter (ezek közül az egyiknek szerepelnie kell kérésben) { "errors": [ { "errorcode": 417,
Oldal: 39 / 79
VCC-API fejlesztői leírás "errormessage": "error.missing_numberid_or_search", "index": 1 } ], "response": { "0": true, "2": true } }
o
sikertelenség esetén a body tartalma: { "errors": [ { "errorcode": 417, "errormessage": "error.missing_numberid_or_search", "index": 0 }, { "errorcode": 417, "errormessage": "error.missing_numberid_or_search", "index": 1 } ], "response": false }
Oldal: 40 / 79
VCC-API fejlesztői leírás
4. Kvótázás 4.1. Kvóták lekérdezése 4.1.1. A funkció leírása o o o
Az erőforrás célja: Visszaadja a projekten belül beállított kvótalimiteket, a jelenlegi értékeket és hátramaradt értékeket. Az erőforrás URI-je: /v2/projects/<projectid>/quotas Metódus: GET 4.1.2. Példa a funkció használatára
o
Kérés:http://<customer>.asp.virtual-callcenter.eu/v2/projects/<projectid>/quotas
o
Válasz: { "response": { "cell": [ { "valueid": 1, "label": { "value_name": "Budapest", "export_value": null }, "container": true, "children": [ { "valueid": 4, "label": { "value_name": "férfi", "export_value": null, "value": 500, "act_value": 324, "diff_value": 176, "all": null }, "container": false, "children": null, "quotaid": 4 }, { "valueid": 5, "label": { "value_name": "nő", "export_value": null, "value": 500, "act_value": 198, "diff_value": 302, "all": null }, "container": false, "children": null, "quotaid": 5 } ] }, { "valueid": 2,
Oldal: 41 / 79
VCC-API fejlesztői leírás "label": { "value_name": "Eger", "export_value": null }, "container": true, "children": [ { "valueid": 4, "label": { "value_name": "férfi", "export_value": null, "value": 250, "act_value": 84, "diff_value": 166, "all": null }, "container": false, "children": null, "quotaid": 6 }, { "valueid": 5, "label": { "value_name": "nő", "export_value": null, "value": 250, "act_value": 96, "diff_value": 154, "all": null }, "container": false, "children": null, "quotaid": 7 } ] } ], "edge": [ { "projectid": "441", "fieldid": 7, "container": true, "label": { "name": "iskola" }, "children": [ { "quotaid": 1, "valueid": 6, "label": { "name": "általános", "value": 100, "act_value": 75, "diff_value": 25 }, "container": false, "children": null }, { "quotaid": 2, "valueid": 7, "label": { "name": "közép", "value": 100, "act_value": 24,
Oldal: 42 / 79
VCC-API fejlesztői leírás "diff_value": 76 }, "container": false, "children": null }, { "quotaid": 3, "valueid": 8, "label": { "name": "felső", "value": 50, "act_value": 39, "diff_value": 11 }, "container": false, "children": null } ] } ] }, "errors": [] }
4.1.3. A visszatérő adatok értelmezése
Típus array
cell
valueid
int
label
object string
value_n ame export_ value
string
container
boolean true false
children
array valueid
int
label value_name export_value
string string
value
int
act_value
int
diff_value
int
Magyarázat a kulcson a supervisor által cella kvótatípusként megjelölt mezők értékei kerülnek visszaadásra a kvótának megfelelő mátrixos bontásban az adott mező értékének VCC adatbázisban szereplő ID-ja (ennek lekérdezése 2.4-es pont) az adott érték értékre vonatkozó információk az érték supervisor által megadott neve az érték supervisor által megadott export értéke. Az érték null, ha nincs megadva exportérték. az adott elem tartalmaz-e további elemeket további elemeket tartalmaz nem tartalmaz további elemeket amennyiben az adott elem tartalmaz további elemeket (container = true), akkor ezen kulcs alatt lesznek felsorolva az adott mező értékének VCC adatbázisban szereplő ID-ja (ennek lekérdezése 2.4-es pont) az adott érték értékre vonatkozó információk az érték supervisor által megadott neve az érték supervisor által megadott export értéke az értékhez supervisor által beállított kvótalimit az értékhez tartozó jelenleg elért kvóták száma a hiányzó kvóták száma, amit még el kell érni a value teljesítéséig
Oldal: 43 / 79
VCC-API fejlesztői leírás quotaid
int
edge
array projectid
string
fieldid
int
container
boolean true false
label name
object string array
quotaid
int
valueid
int
children
label name value
object string int
act_value
int
diff_value
int
az adott érték VCC adatbázisban szereplő kvóta ID-ja a kulcson a supervisor által perem kvótatípusként megjelölt mezők értékei kerülnek visszaadásra az adott projekt VCC adatbázisban szereplő azonosítója a peremkvótás mező VCC adatbázisban szereplő azonosítója (ennek lekérdezése 2.4es pont) az adott elem tartalmaz-e további elemeket további elemeket tartalmaz nem tartalmaz további elemeket a peremkvótás mezőre vonatkozó adatok a mező supervisor által megadott neve amennyiben az adott elem tartalmaz további elemeket (container = true), akkor ezen kulcs alatt lesznek felsorolva az adott érték VCC adatbázisban szereplő kvóta ID-ja : az adott mező értékének VCC adatbázisban szereplő ID-ja (ennek lekérdezése 2.4-es pont) az adott érték értékre vonatkozó információk az adott érték supervisor által megadott neve az értékhez supervisor által beállított kvótalimit az értékhez tartozó jelenleg elért kvóták száma a hiányzó kvóták száma, amit még el kell érni a value teljesítéséig
Oldal: 44 / 79
VCC-API fejlesztői leírás
4.2. Kvóták módosítása 4.2.1. A funkció leírása o o o
Az erőforrás célja: Módosítja az adott projektben beállított kvótalimiteket a paramétereknek megfelelően. Az erőforrás URI-je: /v2/projects/<projectid>/quotas Metódus: POST 4.2.2. Példa a funkció használatára
o
Kérés: http://<customer>.asp.virtual-callcenter.eu/v2/projects/<projectid>/quotas o BODY tartalma: [ { "quotaid": 2, "value": 15 }, { "quotaid": 4, "value": 20 } ]
quotaid value
Típus int int
Köt. igen igen
Magyarázat a módosítani kívánt kvótaérték ID-ja (ennek lekérdezése 2.12-es pont) az a kvótalimit (szám), amire módosítani szeretné a jelenlegi kvótalimitet
4.2.3. A visszatérő adatok értelmezése o
sikeres változtatás esetén body tartalma: { "errors": [], "response": { "0": true, "1": true } }
o
részleges sikeresség és sikertelenség esetén a body tartalma: { "errors": [ { "errorcode": 417, "index": 1, "errormessage": "error.missing_arguments" }, { "errorcode": 417, "index": 3, "errormessage": "error.missing_arguments"
Oldal: 45 / 79
VCC-API fejlesztői leírás } ], "response": { "0": true, "2": true } }
Oldal: 46 / 79
VCC-API fejlesztői leírás
5. Mezők és értékek 5.1. Mezők és értékek létrehozása 5.1.1. A funkció leírása o o o
Az erőforrás célja: Mezők és azokon belül értékek hozzáadása a meghatározott projekthez. Az erőforrás URI-je: /v2/projects/<projectid>/fields Metódus: POST 5.1.2. Példa a funkció használatára
o
Kérés: http://<customer>.asp.virtual-callcenter.eu/v2/projects/<projectid>/fields o BODY tartalma: { "name": "iskola", "label": "iskolai végzettség", "type": "simple", "indexed": "yes", "customised": "yes", "quota": "none", "values": [ { "name": "főiskola", "exportvalue": "VF", "description": "főiskolai végzettség", "commission": "100", "price": "200" }, { "name": "középiskola", "exportvalue": "VK", "description": "középiskolai végzettség", "commission": "10", "price": "20" } ] }
name
Típus string
Köt. igen
label type
string string
nem igen
string
nem
string
nem
text simple multiple indexed yes no customised yes no
Magyarázat a beszúrni kívánt mező neve (eg yedi azonosítója: csak angol abc kisbetűk és alsóvonás) a beszúrni kívánt mező címkéje a beszúrni kívánt mező típusa, amely lehet szöveges egy érték kezelésére alkalmas több értéke kezelésére alkalmas a mező kereshető legyen-e a supervisor által pl. a rekordok között indexelt vagyis kereshető nem indexelt a mező értéke megjelenjen-e az operátori híváslistában jelenjen meg ne jelenjen meg
Oldal: 47 / 79
VCC-API fejlesztői leírás quota
string
nem
array string string string String string
nem igen nem nem nem nem
none edge cell values name exportvalue description comission price
o
az adott mező kvótamező legyen-e ne legyen kvótás mező peremkvóta mező legyen cellakvóta mező legyen a mező értékeinek paraméterei a mező értékének neve a mező értékének export értéke a mező értékének leírása az értékhez kapcsolódó operátori jutalék az értékhez kapcsolódó call center jutalék
Példa: curl http://<username>:<password>@<customer>.asp.virtual-callcenter.eu/v2/projects/251/fields -vvv -X POST -d "{\"name\": \"iskola\", \"quota\": \"none\", \"label\": \"iskolai v\u00e9gzetts\u00e9g\", \"customised\": \"yes\", \"values\": [{\"commission\": \"100\", \"price\": \"200\", \"name\": \"f\u0151iskola\", \"exportvalue\": \"VF\", \"description\": \"f\u0151iskolai v\u00e9gzetts\u00e9g\"}, {\"commission\": \"10\", \"price\": \"20\", \"name\": \"k\u00f6z\u00e9piskola\", \"exportvalue\": \"VK\", \"description\": \"k\u00f6z\u00e9piskolai v\u00e9gzetts\u00e9g\"}], \"indexed\": \"yes\", \"type\": \"simple\"}"
5.1.3. A visszatérő adatok értelmezése o
sikeres változtatás esetén body tartalma: a response kulcson szerepel a felvett mező azonosítója (fieldid, lekérdezés 2.4-es pont) {"errors": [], "response": 11}
o sikertelen változtatás esetén: o o
error.field_name_already_exists : létező mezőnév error.name_must_be_between : túl rövid vagy hosszú a mező (1-60), vagy az
érték neve (min. 1 karakter) o o o o
error.wrong_field_name_format : nem támogatott karakterek a mező
nevében (támogatott: angol abc kisbetűk, nem kezdődhet számmal) error.value_name_already_exists : létrehozáskor több értéknek ugyanaz volt a neve, ezért az első létrehozásra került a többi nem error.adding_field_was_unsuccessful a mező létrehozása nem sikerült pl. type != simple, multiple, text error.logged_in_agents : phone típusú mező hozzáadása nem sikerült, mert operátorok be vannak jelentkezve a projektbe { "errors": [ { "errorcode": 417, "index": 0, "errormessage": "error.name_must_be_between", "property": "name" } ], "response": false }
Oldal: 48 / 79
VCC-API fejlesztői leírás
5.2. Létező mezőhöz új érték hozzáadása 5.2.1. A funkció leírása o o o
Az erőforrás célja: Létező mezőhöz új érték hozzáadása. Az erőforrás URI-je: /v2/projects/<projectid>/fields//values Metódus: POST 5.2.2. Példa a funkció használatára
o
Kérés: http://<customer>.asp.virtual-callcenter.eu/v2/projects/<projectid>/fields//values o BODY tartalma: [ { "name": "főiskola", "exportvalue": "VF", "description": "főiskolai végzettség", "commission": "100", "price": "200" }, { "name": "középiskola", "exportvalue": "VK", "description": "középiskolai végzettség", "commission": "10", "price": "20" } ]
name exportvalue description comission price
o
Típus string string string string string
Köt. igen nem nem nem nem
Magyarázat a mező értékének neve a mező értékének export értéke a mező értékének leírása az értékhez kapcsolódó operátori jutalék az értékhez kapcsolódó call center jutalék
Példa: curl http://<username>:<password>@<customer>.asp.virtual-callcenter.eu/v2/projects/251/fields/24/values -vvv -X POST -d "[{\"commission\": \"100\", \"price\": \"200\", \"name\": \"\u00e1ltal\u00e1nos\", \"exportvalue\": \"V\u00c1\", \"description\": \"\u00e1ltal\u00e1nos iskolai v\u00e9gzetts\u00e9g\"}, {\"commission\": \"1000\", \"price\": \"2000\", \"name\": \"egyetem\", \"exportvalue\": \"VE\", \"description\": \"egyetemi v\u00e9gzetts\u00e9g\"}]"
Oldal: 49 / 79
VCC-API fejlesztői leírás 5.2.3. A visszatérő adatok értelmezése o
sikeres változtatás esetén body tartalma: a response kulcson a sikeresen beszúrt értékek egyedi azonosítója (numberid) {"errors": [], "response": [6,7]}
o sikertelen változtatás esetén: o
error.name_must_be_between : túl rövid vagy hosszú az érték neve (min. 1
karakter) o
error.value_name_already_exists : létrehozáskor több értéknek ugyanaz
volt a neve, ezért az első létrehozásra került a többi nem error.wrong_value_format : a kötelező elem ( name) hiányzik a kérésből error.wrong_values_format: az átadott adatok se nem tömbként se nem objektumként nincsenek definiálva o error.adding_values_was_unsuccessful : az értékek beszúrása sikertelen volt pl. nem jó a projectid az erőforrásban o o
{ "errors": [{ "errorcode": 417, "index": 1, "errormessage": "error.name_must_be_between", "property": "name" }, { "errorcode": 417, "index": 3, "errormessage": "error.name_must_be_between", "property": "name" }, { "errorcode": 417, "index": 6, "errormessage": "error.value_name_already_exists", "property": "name" } ], "response": { "0": 8, "2": 9, "4": 10, "5": 11 } }
Oldal: 50 / 79
VCC-API fejlesztői leírás
5.3. Adott mező értékeinek módosítása 5.3.1. A funkció leírása o o
Az erőforrás célja: Adott mező meghatározott értékeit módosítja. Az erőforrás URI-je: /v2/projects/<projectid>/fields//values/
o
Metódus: PUT 5.3.2. Példa a funkció használatára
o
Kérés:http://<customer>.asp.virtual-callcenter.eu/v2/projects/<projectid>/fields//values/ o például:http://<customer>.asp.virtual-callcenter.eu/v2/projects/251/fields/11/values/13 esetén az adott
o
customer 251-es ID-val rendelkező projektjében a 11-es ID-val rendelkező mező 13-as ID-val rendelkező értékét módosítja a rendszer (lekérdezés 2.4es pont) BODY tartalma: { "name": "Előfizetés1", "description": "adott termékre előfizetés", "export_value": "E002", "price": "1000", "commission": "2000" }
name exportvalue description comission price
Típus string string string string string
Köt. igen nem nem nem nem
Magyarázat a mező értékének neve a mező értékének export értéke a mező értékének leírása az értékhez kapcsolódó operátori jutalék az értékhez kapcsolódó call center jutalék
5.3.3. A visszatérő adatok értelmezése o
sikeres változtatás esetén body tartalma: {"errors": [], "response": true}
o sikertelen változtatás esetén: o
error.name_must_be_between : túl rövid vagy hosszú az érték neve (min. 1
karakter) o
error.value_name_already_exists : létrehozáskor több értéknek ugyanaz
volt a neve, ezért az első létrehozásra került a többi nem error.wrong_value_format : a kötelező elem ( name) hiányzik a kérésből o error.wrong_values_format: az átadott adatok se nem tömbként se nem objektumként nincsenek definiálva o
Oldal: 51 / 79
VCC-API fejlesztői leírás
5.4. Adott mező értékeinek törlése 5.4.1. A funkció leírása o o
Az erőforrás célja: Adott mező meghatározott értékeit törli. Az erőforrás URI-je: /v2/projects/<projectid>/fields//values/
o
Metódus: DELETE 5.4.2. Példa a funkció használatára
o
Kérés:http://<customer>.asp.virtual-callcenter.eu/v2/projects/<projectid>/fields//values/ o például:http://<customer>.asp.virtual-callcenter.eu/v2/projects/251/fields/11/values/13 esetén az adott
customer 251-es ID-val rendelkező projektjében a 11-es ID-val rendelkező mező 13-as ID-val rendelkező értékét törölni fogja a rendszer (lekérdezés 2.4es pont) 5.4.3. A visszatérő adatok értelmezése o
sikeres változtatás esetén body tartalma: {"errors": [], "response": true}
o sikertelen változtatás esetén: { "errors": [ { "errorcode": 417, "index": 0, "errormessage": "error.deleteing_value_was_unsuccessful" } ], "response": false }
Oldal: 52 / 79
VCC-API fejlesztői leírás
6. Statisztikák, riportok 6.1. CDR-ek lekérdezése adott hónapra 6.1.1. A funkció leírása o o o
Az erőforrás célja: Visszaadja a paramétereknek megfelelő CDR-eket egy adott hónapra vonatkozóan. Az erőforrás URI-je: /v2/cdrs//<month> Metódus: GET 6.1.2. Példa a funkció használatára
o
Kérés: http://<customer>.asp.virtual-callcenter.eu/v2/cdrs//<month>
o
o
o
o
month = [1-12] a paraméterben az év adott hónapjai egy számnak felelnek meg pl. 01 = január 11= november például http://<customer>. asp.virtual-callcenter.eu/v2/cdrs/2012/06 esetén az adott customer 2012. júniusi cdr-jei kerülnek visszaadásra 1) projectid = <projectid> a paraméterrel az adatok szűkíthetőek adott projektre például: http://<customer>.asp.virtual-callcenter.eu/v2/cdrs/2012/06?projectid=251 esetén a 251-es IDval rendelkező (lekérdezés 2.3-as pont) projekt 2012. júniusi cdr-jei kerülnek visszaadásra 2) start=[0-9]+ a paraméterrel szabályozható, hogy hányadik cdr-től kerüljenek az adatok visszaadásra például http://<customer>.asp.virtual-callcenter.eu/v2/cdrs/2012/06?projectid=251&start=2 esetén a 251-es ID-val rendelkező (lekérdezés 2.3-as pont) projekt 2012. júniusi cdr-jei közül a másodiktól kezdve adja vissza a rendszer az cdr információkat (a sorrend a VCC adatbázisban szereplő ID alapján adott hónapban való keletkezés szerint van megállapítva) 3) num=[0-9]+" a paraméterrel szabályozható, hogy hány darab cdr információt adjon vissza a rendszer például: http://<customer>.asp.virtual-callcenter.eu/v2/cdrs/2012/06?projectid=251&num=2 esetén a 251es ID-val rendelkező (lekérdezés 2.3-as pont) projekt 2012. júniusi cdrjei közül az első kettő kerül visszaadásra
Oldal: 53 / 79
VCC-API fejlesztői leírás o
Válasz: { "response": { "rows": [ { "uuid": "8606d4b0-3a8b-11e0-a122-4fb9fd10736c", "source": "3615100356", "destination": "3619997400", "userid": "6", "numberid": "1", "start_ts": "2011-02-17 12:46:14", "billing_ts": "2011-02-17 12:46:14", "ringtime": "0", "billingtime": "7", "talktime": "7", "queuetime": "0", "beforequeuetime": "0", "dispositionid": "11", "dispositionreach": "2", "dispositionstatus": "5", "projectid": "2" } ], "totalCount": "1" }, "errors": [] }
6.1.3. Visszatérő adatok értelmezése
uuid source destination userid
Típus string string string String
numberid start_ts billing_ts
string string string
ringtime billingtime talktime queuetime
string string string string
beforequeuetime dispositionid
string string
dispositionreach
string 1 2 3 string 1 2 3 4 5 8
dispositionstatus
Magyarázat a hívás rendszer által adott egyedi azonosítója a hívó fél telefonszáma a hívott fél telefonszáma a terminációt beállító felhasználó egyedi azonosítója (ennek lekérdezése 2.18-as pont) (predictive / power tárcsázó esetén az értéke -1) a rekord adatbázisban szereplő egyedi azonosítója a hívás indításának időpontja éééé-hh-nn óó-pp-mp formátumban a hívás számlázása elkezdésének időpontja éééé-hh-nn óó-pp-mp formátumban a hívás kicsörgési ideje (mp) a hívás számlázott ideje (mp) a hívás során a beszélgetés ideje (mp) amennyiben a hívás várakozási sorba került, akkor a várakozási sorban töltött ideje (mp) a hívás várakozási sor előtt töltött ideje (pl. IVR-ban töltött idő) (mp) a híváshoz beállított termináció adatbázisban szereplő egyedi azonosítója (ennek lekérdezése 2.4-es pont) a beállított termináció értékelése nem elért elért sikeres a beállított termináció típusa visszahívás közös listás visszahívás foglalt nem elérhető befejezett eldobott
Oldal: 54 / 79
VCC-API fejlesztői leírás
projectid
9 10 11 12 13 string
totalcount
string
hibás szám miatt eldobott vesztett kvóta csatorna túllépés miatt megszakítva átmenetileg nem elérhető annak a projektnek az adatbázisban szereplő egyedi azonosítója, ahol a hívás történt (ennek lekérdezése 2.3-as pont) Összesen hány darab CDR szerepel az adatbázisban az adott lekérdezésnek megfelelően.
Oldal: 55 / 79
VCC-API fejlesztői leírás
6.2. CDR-ek lekérdezése uuid alapján 6.2.1. A funkció leírása o o o
Az erőforrás célja: Visszaadja a paramétereknek megfelelő CDR-t egy adott uuid-ra vonatkozóan. Az erőforrás URI-je: /v2/cdr//<month>/ Metódus: GET 6.2.2. Példa a funkció használatára
o
Kérés: http://<customer>.asp.virtual-callcenter.eu/v2/cdr//<month>/
o
o
month = [1-12] a paraméterben az év adott hónapjai egy számnak felelnek meg pl. 01 = január 11= november például http://<customer>. asp.virtual-callcenter.eu/v2/cdr/2014/08/ esetén az adott customer 2014. augusztusi cdr-jei közül a megadott uuid-val rendelkező CDR kerül visszaadásra Válasz: { "response": { "uuid": "6ef68ded-559d-412a-a8c3-487b9a300814", "source": "3615100307", "destination": "3619997400", "userid": 14, "numberid": 8276, "start_ts": "2014-07-11 12:00:53", "billing_ts": "2014-07-11 12:00:58", "ringtime": 5, "billingtime": 68, "talktime": 68, "queuetime": 0, "beforequeuetime": 0, "dispositionid": 15, "dispositionreach": 3, "dispositionstatus": 5, "projectid": 2, "holdtime": 0 }, "errors": [], "debug": { "output": "" } }
6.2.3. Visszatérő adatok értelmezése
uuid source destination userid
Típus string string string String
Magyarázat a hívás rendszer által adott egyedi azonosítója a hívó fél telefonszáma a hívott fél telefonszáma a terminációt beállító felhasználó egyedi azonosítója (ennek lekérdezése
Oldal: 56 / 79
VCC-API fejlesztői leírás numberid start_ts billing_ts
string string string
ringtime billingtime talktime queuetime
string string string string
beforequeuetime dispositionid
string string
dispositionreach
projectid
string 1 2 3 string 1 2 3 4 5 8 9 10 11 12 13 string
holdtime
string
dispositionstatus
2.18-as pont) (predictive / power tárcsázó esetén az értéke -1) a rekord adatbázisban szereplő egyedi azonosítója a hívás indításának időpontja éééé-hh-nn óó-pp-mp formátumban a hívás számlázása elkezdésének időpontja éééé-hh-nn óó-pp-mp formátumban a hívás kicsörgési ideje (mp) a hívás számlázott ideje (mp) a hívás során a beszélgetés ideje (mp) amennyiben a hívás várakozási sorba került, akkor a várakozási sorban töltött ideje (mp) a hívás várakozási sor előtt töltött ideje (pl. IVR-ban töltött idő) (mp) a híváshoz beállított termináció adatbázisban szereplő egyedi azonosítója (ennek lekérdezése 2.4-es pont) a beállított termináció értékelése nem elért elért sikeres a beállított termináció típusa visszahívás közös listás visszahívás foglalt nem elérhető befejezett eldobott hibás szám miatt eldobott vesztett kvóta csatorna túllépés miatt megszakítva átmenetileg nem elérhető annak a projektnek az adatbázisban szereplő egyedi azonosítója, ahol a hívás történt (ennek lekérdezése 2.3-as pont) a híváshoz kapcsolódó tartási idő értéke
Oldal: 57 / 79
VCC-API fejlesztői leírás
6.3. Bejövő statisztika 6.3.1. A funkció leírása o o o
Az erőforrás célja: Visszaadja a paramétereknek megfelelő bejövő statisztikai adatokat 60 másodperces korlátozással kérésenként. Az erőforrás URI-je: /v2/statistics/inbound Metódus: GET 6.3.2. Példa a funkció használatára
o
Kérés:http://<customer>.asp.virtual-callcenter.eu/v2/statistics/inbound?from=&to=&dimensi ons=project o 1. from=
a lekérdezésben meg kell adnia, hogy melyik év mely hónapjától és melyik napjától kezdve szeretné az adatokat megkapni kötelező: igen például from=20120301 2. to= a lekérdezésben meg kell adnia, hogy melyik év mely hónapjának melyik napjával bezárólag szeretné az adatokat megkapni kötelező: igen például to=20120628 3. dimensions dimension=project esetén bekerül a projekt dimenzió dimension=queue esetén bekerült a várakozási sor dimenzió dimension=date esetén bekerül a dátum dimenzió kötelező: igen több esetén vesszővel elválasztva 4. teams= a lekérdezésben megadhatja, hogy mely csapatokra vonatkozóan szeretné az adatokat megkapni például: teams=1 kötelező: nem több esetén vesszővel elválasztva használható 5. projects=<projectid> a lekérdezésben megadhatja, hogy mely projekt adatait szeretné visszakapni például: projects=251 kötelező: nem több esetén vesszővel elválasztva 6. manual_sla=[0-9]+ a lekérdezésben megadhat egyedi SLA számolási értéket például manual_sla=40 kötelező: nem
o
o
o
o
o
Oldal: 58 / 79
VCC-API fejlesztői leírás o
o
7. of= a lekérdezés eredményének formátuma, amely lehet tabulátorral vagy pontosvesszővel tagolt, illetve json például: of=json kötelező: nem Válasz: { "response": [ { "projectid": 422, "date": "", "queueid": "", "answered_after": 0, "answered_before": 3, "queue_time": 27, "redirect_after_queue": 0, "abort_in_queue_after": 0, "talk_time": 15, "abort_in_queue_before": 3, "abort_before_queue": 7, "afterwork": 516, "abort_case_queue_time": 3, "redirect_before_queue": 0, "queue_time_without_talktime": 7, "time_before_queue": 7 }, { "projectid": "", "date": 20120620, "queueid": "", "answered_after": 0, "answered_before": 0, "queue_time": 4, "redirect_after_queue": 0, "abort_in_queue_after": 0, "talk_time": 0, "abort_in_queue_before": 2, "abort_before_queue": 7, "afterwork": 0, "abort_case_queue_time": 2, "redirect_before_queue": 0, "queue_time_without_talktime": 4, "time_before_queue": 7 }, { "projectid": "", "date": "", "queueid": 595, "answered_after": 0, "answered_before": 0, "queue_time": 4, "redirect_after_queue": 0, "abort_in_queue_after": 0, "talk_time": 0, "abort_in_queue_before": 2, "abort_before_queue": 7, "afterwork": 0, "abort_case_queue_time": 2, "redirect_before_queue": 0, "queue_time_without_talktime": 4, "time_before_queue": 7 }
Oldal: 59 / 79
VCC-API fejlesztői leírás ], "errors": [] }
6.3.3. A visszatérő adatok értelmezése
projectid
Típus int
date queueid
int int
answered_after
int
answered_before
int
redirect_before_queue
int
redirect_after_queue
int
abort_in_queue_before
int
abort_in_queue_after
int
abort_before_queue
int
time_before_queue
int
queue_time
int
talk_time afterwork
int int
abort_case_queue_time
int
queue_time_without_talktime
int
Magyarázat a projekt VCC adatbázisban szereplő azonosítója (ennek lekérdezése 2.3-as pont) a lekérdezésben szereplő időintervallum egyes napjai az adott projektben szereplő várakozási sorok VCC adatbázisban szereplő azonosítója azon hívások darabszáma, amelyeket a beállított SLA érték elérése után válaszoltak meg az operátorok (statisztikában "Időn túl megválaszolt") azon hívások darabszáma, amelyeket a beállított SLA érték elérése előtt válaszoltak meg az operátorok (statisztikában "Időben megválaszolt") azon hívások darabszáma, amelyek átirányításra kerültek várakozási sorba való belépés előtt (statisztikában "Átirányítás várakozási sor előtt") azon hívások darabszáma, amelyek átirányításra kerültek várakozási sorból való kilépés után (statisztikában "Átirányítás várakozási sor után") azon hívások darabszáma, amelyet az üg yfél azután szakított meg, hogy operátort kért, és ezek a beállított SLA érték elérése előtt történtek (statisztikában "Operátor kérés után megszakított időn belül") azon hívások darabszáma, amelyet az üg yfél azután szakított meg, hogy operátort kért, és ezek a beállított SLA érték elérése után történtek (statisztikában "Operátor kérés után megszakított időn túl") azon hívások darabszáma, amelyet azelőtt szakított meg az ügyfél, mielőtt várakozási sorba került volna (statisztikában: "IVR-ban megszakított hívások") a várakozási sor előtt eltöltött idő (statisztikában "IVR-ban töltött idő") (mp) az adott várakozási sorban töltött idők összege (statisztikában "Várakozási sorban töltött idő") (mp) beszélgetési idő (statisztikában "Beszélgetési idő") (mp) az utómunkán töltött átlagos idő (statisztikában "Átlagos utómunka várakozási soronként") (mp) azon idők átlaga, amelyet az ügyfél várakozási sorban töltött, de megszakította a hívást mielőtt operátorhoz került volna (statisztikában "Átlagos várakozási idő eldobott hívásnál") (mp) átlagos hívásbontási idő (statisztikában "Átlagos hívásbontási idő") (mp)
Oldal: 60 / 79
VCC-API fejlesztői leírás { "errors": [ { "errorcode": 417, "index": 0, "errormessage": "error.argument_missing_or_empty", "property": "from" } ], "response": false }
o
error.maximum_date_interval_reached: a statisztikában lekérdezhető
intervallum maximális értéke 1 hónap lehet You have to wait at least 60 secs between requests! : a túlterhelés elkerülése végett két lekérdezés között 60 másodpercnek kell eltelnie o argument.format_error: a lekérdezésben valamilyen hibás paraméter van o argument.missing_or_empty: hiányzó vagy rossz paraméter
o
Oldal: 61 / 79
VCC-API fejlesztői leírás
6.4. Hívás statisztika o o o
6.4.1. A funkció leírása Az erőforrás célja: Visszaadja a paramétereknek megfelelő hívás statisztikai adatokat 60 másodperces korlátozással kérésenként. Az erőforrás URI-je: /v2/statistics/outbound Metódus: GET 6.4.2. Példa a funkció használatára
o
Kérés:http://<customer>.asp.virtual-callcenter.eu/v2/statistics/outbound?from=&to=&dimens ions=project o 1. from=
a lekérdezésben meg kell adnia, hogy melyik év mely hónapjától és melyik napjától kezdve szeretné az adatokat megkapni például from=20120301 kötelező: igen 2. to= a lekérdezésben meg kell adnia, hogy melyik év mely hónapjának melyik napjával bezárólag szeretné az adatokat megkapni például to=20120628 kötelező: igen 3. dimensions: dimension=project esetén bekerül a projekt dimenzió dimension=user esetén bekerül a felhasználó dimenzió dimension=date esetén bekerül a dátum dimenzió kötelező: igen több esetén vesszővel elválasztva 4. teams= a lekérdezésben megadhatja, hogy mely csapatokra vonatkozóan szeretné az adatokat megkapni például: teams=1 kötelező: nem több esetén vesszővel elválasztva használható 5. projects=<projectid> a lekérdezésben megadhatja, hogy mely projekt adatait szeretné visszakapni például: projects=251 kötelező: nem több esetén vesszővel elválasztva használható 6. users=<userid> a lekérdezésben megadhatja, hogy mely felhasználó adatait szeretné visszakapni (ennek lekérdezése 2.18-as pont) például userid=12 kötelező: nem Oldal: 62 / 79
o
o
o
o
o
VCC-API fejlesztői leírás
o
o
több esetén vesszővel elválasztva használható 7. of= a lekérdezés eredményének formátuma, amely lehet tabulátorral vagy pontosvesszővel tagolt, illetve json például: of=json kötelező: nem
Válasz: { "response": [ { "projectid": -1, "userid": "", "date": "", "UNAVAILABLE": "", "AVAILABLE": "", "CALL": "", "AUX": "", "PREWORK": "", "RINGING": "", "WAITING4CALL": "", "WAITING4RECALL": "", "AFTERWORK": "", "OFFLINE": 0, "HOLD": "", "inbound": "", "outbound": "", "unreached": "", "reached": "", "successful": "", "10 perces szünet": "", "technical": "", "Ebédszünet": "", "Oktatás": "" }, { "projectid": 251, "userid": "", "date": "", "UNAVAILABLE": "", "AVAILABLE": "", "CALL": "", "AUX": "", "PREWORK": "", "RINGING": "", "WAITING4CALL": "", "WAITING4RECALL": "", "AFTERWORK": "", "OFFLINE": "", "HOLD": "", "inbound": "", "outbound": "", "unreached": 2, "reached": "", "successful": "", "10 perces szünet": "", "technical": "", "Ebédszünet": "", "Oktatás": "" }, {
Oldal: 63 / 79
VCC-API fejlesztői leírás "projectid": "", "userid": -1, "date": "", "UNAVAILABLE": "", "AVAILABLE": "", "CALL": "", "AUX": "", "PREWORK": "", "RINGING": "", "WAITING4CALL": "", "WAITING4RECALL": "", "AFTERWORK": "", "OFFLINE": "", "HOLD": "", "inbound": "", "outbound": "", "unreached": 2, "reached": "", "successful": "", "10 perces szünet": "", "technical": "", "Ebédszünet": "", "Oktatás": "" }, { "projectid": "", "userid": "", "date": 20120718, "UNAVAILABLE": "", "AVAILABLE": "", "CALL": "", "AUX": "", "PREWORK": "", "RINGING": "", "WAITING4CALL": "", "WAITING4RECALL": "", "AFTERWORK": "", "OFFLINE": "", "HOLD": "", "inbound": "", "outbound": "", "unreached": 2, "reached": "", "successful": "", "10 perces szünet": "", "technical": "", "Ebédszünet": "", "Oktatás": "" } ], "errors": [] }
Oldal: 64 / 79
VCC-API fejlesztői leírás 6.4.3. A visszatérő adatok értelmezése projectid
Típus int
userid
int
date UNAVAILABLE AVAILABLE CALL AUX PREWORK RINGING WAITING4CALL WAITING4RECALL AFTERWORK OFFLINE HOLD inbound outbound unreached reached successful
int int int int int int int int int int int int int int int int int int
Magyarázat a projekt VCC adatbázisban szereplő azonosítója (ennek lekérdezése: 2.3-as pont) a statisztikában szereplő felhasználók VCC adatbázisban szereplő egyedi azonosítója (lekérdezés: 2.18-as pont) a lekérdezésben szereplő intervallum egyes napjai nem elérhető státuszban töltött idő (mp) elérhető státuszban töltött idő (mp) hívás státuszban töltött idő (mp) összes szünet státuszban töltött idő (mp) előmunka státuszban töltött idő (mp) kicsörgés státuszban töltött idő (mp) hívásra vár státuszban töltött idő (mp) visszahívásra vár státuszban töltött idő (mp) utómunka státuszban töltött idő (mp) kilépett státuszban töltött idő (mp) tartás státuszban töltött idő (mp) bejövő hívások kimenő hívások nem elért értékelésű terminációval lezárt rekordok darabszáma elért értékelésű terminációval lezárt rekordok darabszáma sikeres értékelésű terminációval lezárt rekordok darabszáma az egyes szünetkódok felsorolása és az azokban töltött idő másodpercben
{ "errors": [ { "errorcode": 417, "index": 0, "errormessage": "error.argument_missing_or_empty", "property": "from" } ], "response": false }
o
error.maximum_date_interval_reached: a statisztikában lekérdezhető
intervallum maximális értéke 1 hónap lehet You have to wait at least 60 secs between requests! : a túlterhelés elkerülése végett két lekérdezés között 60 másodpercnek kell eltelnie o argument.format_error: a lekérdezésben valamilyen hibás paraméter van o argument.missing_or_empty: hiányzó vagy rossz paraméter
o
Oldal: 65 / 79
VCC-API fejlesztői leírás
6.5. Várakozási sorban szereplő online és elérhető operátorok számának lekérdezése 6.5.1. A funkció leírása o o o
Az erőforrás célja: Visszaadja egy adott várakozási sorba bejelentkezett és az ezek közül elérhető operátorok számát. Az erőforrás URI-je: /v2/queues//availableusers Metódus: GET 6.5.2. Példa a funkció használatára
o
Kérés:http://<customer>.asp.virtual-callcenter.eu/v2/queues//availableusers
queueid
o
Típus int
Magyarázat a várakozási sor VCC rendszerben szereplő azonosítója
Válasz: { "response": {"online": 0, "available": 0}, "errors":[] }
6.5.3. A visszatérő adatok értelmezése
Név online available
Típus int int
Magyarázat az adott várakozási sorba bejelentkezett operátorok száma az adott várakozási sorba bejelentkezett és elérhető állapotban szereplő operátorok száma
Oldal: 66 / 79
VCC-API fejlesztői leírás
6.6. Felhasználói tevékenység statisztika 6.6.1. A funkció leírása o o o
Az erőforrás célja: Visszaadja egy adott várakozási sorba bejelentkezett és az ezek közül elérhető operátorok számát. Az erőforrás URI-je: /v2/statistics/userstate Metódus: GET 6.6.2. Példa a funkció használatára
o
Kérés:http://<customer>.asp.virtual-call-center.eu/v2/ statistics/userstate o 1. from=
a lekérdezésben meg kell adnia, hogy melyik év mely hónapjától és melyik napjától kezdve szeretné az adatokat megkapni például from=20120301 kötelező: igen 2. to= a lekérdezésben meg kell adnia, hogy melyik év mely hónapjának melyik napjával bezárólag szeretné az adatokat megkapni például to=20120628 kötelező: igen 3. projects=<projectid> a lekérdezésben megadhatja, hogy mely projekt adatait szeretné visszakapni például: projects=251 kötelező: nem több esetén vesszővel elválasztva használható 4. users=<userid> a lekérdezésben megadhatja, hogy mely felhasználó adatait szeretné visszakapni (ennek lekérdezése 2.18-as pont) például userid=12 kötelező: nem több esetén vesszővel elválasztva használható 5. of= a lekérdezés eredményének formátuma, amely lehet tabulátorral vagy pontosvesszővel tagolt, illetve json például: of=json kötelező: nem
o
o
o
o
Oldal: 67 / 79
VCC-API fejlesztői leírás o
Válasz: { "response": [ { "userid": 6, "prevstate": "OFFLINE", "state": "UNAVAILABLE", "prevtime": "2013-02-20 15:40:06", "time": "2013-02-20 15:40:06", "projectid": 0, "numberid": 0, "auxid": null, "duration": 0, "username": "green_op", "name": "Robert Green" }, { "userid": 6, "prevstate": "UNAVAILABLE", "state": "AVAILABLE", "prevtime": "2013-02-20 15:40:06", "time": "2013-02-20 15:40:11", "projectid": 0, "numberid": 0, "auxid": null, "duration": 5.75, "username": "green_op", "name": "Robert Green" }, { "userid": 6, "prevstate": "AVAILABLE", "state": "AUX", "prevtime": "2013-02-20 15:40:11", "time": "2013-02-20 15:40:19", "projectid": 1, "numberid": 0, "auxid": null, "duration": 7.44, "username": "green_op", "name": "Robert Green" }, { "userid": 6, "prevstate": "AUX", "state": "AVAILABLE", "prevtime": "2013-02-20 15:40:19", "time": "2013-02-20 15:41:05", "projectid": 1, "numberid": 0, "auxid": "lunch", "duration": 46.4, "username": "green_op", "name": "Robert Green" }, { "userid": 6, "prevstate": "AVAILABLE", "state": "WAITING4CALL", "prevtime": "2013-02-20 15:41:05", "time": "2013-02-20 15:41:12", "projectid": 1, "numberid": 0, "auxid": null,
Oldal: 68 / 79
VCC-API fejlesztői leírás "duration": 6.96, "username": "green_op", "name": "Robert Green" }, { "userid": 6, "prevstate": "WAITING4CALL", "state": "RINGING", "prevtime": "2013-02-20 15:41:12", "time": "2013-02-20 15:41:17", "projectid": 1, "numberid": 2, "auxid": null, "duration": 4.57, "username": "green_op", "name": "Robert Green" }, { "userid": 6, "prevstate": "RINGING", "state": "AFTERWORK", "prevtime": "2013-02-20 15:41:17", "time": "2013-02-20 15:41:25", "projectid": 1, "numberid": 2, "auxid": null, "duration": 7.88, "username": "green_op", "name": "Robert Green" } ], "errors": [] }
6.6.3. A visszatérő adatok értelmezése
Név userid prevstate state
Típus int string string
prevtime
string
time projectid numberid
string int int
auxid duration
int int
Magyarázat a felhasználó adatbázisban szereplő ID-ja a megelőző státusz megnevezése az aktuális státusz megnevezése OFFLINE: a felhasználó nincs bejelentkezve a rendszerbe UNAVAILABLE: a felhasználó online-nem elérhető állapotban van AVAILABLE: az operátor online-elérhető állapotban van PREWORK: a z operátor előmunka állapotban van WAITINGFORCALL: az operátor hívásra vár állapotban van WAITINGFORRECALL: a z operátor visszahívásra vár állapotban van RINGING: a z operátor kicsörgés állapotban van CALL: a z operátor hívás állapotban van HOLD: a z operátor tartás állapotban van AFTERWORK: az operátor utómunka állapotban van AUX: a z operátor szünet állapotban van az előző státuszba (prevstate) való lépés ideje éééé-hh-nn óó:pp:mp formátumban az aktuális státuszba (state) való lépés ideje éééé-hh-nn óó:pp:mp formátumban a projekt adatbázisban szereplő ID-ja annak a rekordnak az adatbázisban szereplő azonosítója, amellyel az operátor foglalkozott a z adott állapotban a szünetkód neve az adott státuszban eltöltött idő mp-ben
Oldal: 69 / 79
VCC-API fejlesztői leírás username name
string string
o
a felhasználó felhasználóneve a felhasználó teljes neve
error.maximum_date_interval_reached: a statisztikában lekérdezhető
intervallum maximális értéke 1 hónap lehet o
You have to wait at least 60 secs between requests! : a túlterhelés
o o
elkerülése végett két lekérdezés között 60 másodpercnek kell eltelnie argument.format_error: a lekérdezésben valamilyen hibás paraméter van argument.missing_or_empty : hiányzó vagy rossz paraméter
Oldal: 70 / 79
VCC-API fejlesztői leírás
7. Felhasználók, csapatok, jogosultságok 7.1. Felhasználók listájának lekérdezése 7.1.1. A funkció leírása o o o
Az erőforrás célja: Visszaadja a felhasználók listáját. Az erőforrás URI-je: /v2/users Metódus: GET 7.1.2. Példa a funkció használatára
o o
Kérés: http://<customer>.asp.virtual-call-center.eu/v2/users Válasz: { "response": [ { "status": "active", "name": "Kovács László", "username": "lacisup", "extension": "111", "userid": 2, "teams_name": "default_team, VCC_kulsos", "group_name": "supervisor" }, { "status": "active", "name": "Tóth Aladár", "username": "01_aladar", "extension": "112", "userid": 3, "teams_name": "VCC_kulsos", "group_name": "operator" } ], "errors": [] }
7.1.3. A visszatérő adatok értelmezése
Típus string
name username
string string
extension userid teams_name
string int string
Magyarázat a felhasználó státusza aktív, be tud lépni a programba nem tud belépni a programba a felhasználó supervisor által megadott neve a felhasználó supervisor által megadott felhasználóneve (angol abc kisbetűk, alsóvonás, szám) a felhasználó melléke a felhasználó VCC adatbázisban szereplő azonosítója a felhasználó supervisor által beállított csapatainak neve
group_name
string
a felhasználó supervisor által beállított csoportja
status active inactive
Oldal: 71 / 79
VCC-API fejlesztői leírás
7.2. Felhasználó létrehozása 7.2.1. A funkció leírása o o o
Az erőforrás célja: új felhasználó létrehozása Az erőforrás URI-je: /v2/users Metódus: PUT 7.2.2. Példa a funkció használatára
o
Kérés:http://<customer>.asp.virtual-call-center.eu/v2/users o
BODY tartalma:
{ "name": "", "username": "<username>", "password": "<password>", "is_agent": true, "role_id": 4 }
name username
Típus string string
Köt. igen igen
password
string
igen
is_agent
boolean
igen
int
igen
true false role_id
Magyarázat A felhasználó neve A felhasználó adatbázisban szereplő egyedi felhasználóneve. A felhasználó jelszava (a z elküldött értéknek meg kell felelnie a VCC-ben aktuálisan beállított jelszó policy-nek, és a szerver oldalon titkosítottan fog eltárolódni) A felhasználó operátor vagy supervisor típusú felhasználóként jöjjön létre. A felhasználó operátor típusú felhasználóként fog létrejönni. A felhasználó nem operátor típusú felhasználóként fog létrejönni. A felhasználó jogosultság csoportja (lekérdezése 2.24-es pont).
7.2.3. A visszatérő adatok értelmezése o
sikeres változtatás esetén body tartalma: a response kulcson található <userid> vagyis a létrehozott felhasználó adatbázisban szereplő egyedi azonosítója { "response": 33, "errors": [] }
o
sikertelen változtatás esetén a body tartalma: o 417 - error.required: hiányzó érték a valamelyik kötelező kulcson o 417 - error.name_must_be_between : a név túl hosszú vagy túl rövid Oldal: 72 / 79
VCC-API fejlesztői leírás o
417
-
error.wrong_name_format :
a névben meg nem engedett pl.
speciális karakter szerepel o
417 - error.username_must_be_between : a felhasználónév túl hosszú
vagy túl rövid o
417
-
error.wrong_username_format: a felhasználónévben meg nem
engedett pl. speciális karakter szerepel o o
417 error.wrong_username_only_consists_small_letters : a username-ben egy vagy több nagybetű szerepel 417 - error.username_already_exists: a megadott felhasználónévvel
már létezik felhasználó az adatbázisban o
417
-
error.reserved_username_prefix:
a felhasználónév VCC által
fentartott prefix-el kezdődik (vcc_) o
417 - error.password_policy_min_chars_error: a megadott jelszó az
aktuális (VCC-ben beállított) jelszó policy alapján túl rövid o
o
o
o o o o
417
error.password_policy_min_uppercase_chars_error: a megadott jelszó az aktuális (VCC-ben beállított) jelszó policy alapján kevés nagybetűt tartalmaz 417 - error.password_policy_min_number_chars_error: a megadott jelszó az aktuális (VCC-ben beállított) jelszó policy alapján kevés számot tartalmaz 417 - error.password_policy_min_special_chars_error: a megadott jelszó az aktuális (VCC-ben beállított) jelszó policy alapján kevés speciális karaktert tartalmaz 417 - error.role_mismatch: az is_agent vagy a role kulcson nem megfelelő érték szerepel 417 - error.wrong_value_format: az is_agent vagy a role kulcson nem megfelelő típusú érték szerepel 417 - error.reserved: a megadott role érték VCC számára fentartott és nem használható 417 - error.non_exist: a megadott role értékhez nem kapcsolódik VCCben létrehozott jogosultság csoport
Oldal: 73 / 79
VCC-API fejlesztői leírás
7.3. Csapatok lekérdezése 7.3.1. A funkció leírása o o o
Az erőforrás célja: visszaadja a létrehozott csapatokra vonatkozó adatokat Az erőforrás URI-je: /v2/teams Metódus: GET 7.3.2. Példa a funkció használatára
o
o
Kérés:http://<customer>.asp.virtual-call-center.eu/v2/teams Válasz: { "response": [ { "teamid": 1, "name": "default_team" }, { "teamid": 2, "name": "inhouse_cc" } ], "errors": [] }
7.3.3. A visszatérő adatok értelmezése
Név teamid name
Típus int string
Magyarázat a csapat adatbázisban szereplő ID-ja a csapat supervisor által megadott neve
Oldal: 74 / 79
VCC-API fejlesztői leírás
7.4. Jogosultság csoportok lekérdezése 7.4.1. A funkció leírása o o o
Az erőforrás célja: visszaadja a létrehozott jogosultság csoportokra vonatkozó adatokat Az erőforrás URI-je: /v2/roles Metódus: GET 7.4.2. Példa a funkció használatára
o
o
Kérés:http://<customer>.asp.virtual-call-center.eu/v2/roles Válasz: { "response": [ { "id": 2, "name": "admin", "is_agent": false }, { "id": 3, "name": "supervisor", "is_agent": false }, { "id": 4, "name": "operator", "is_agent": true }, { "id": 5, "name": "visitor", "is_agent": false } ], "errors": [] }
7.4.3. A visszatérő adatok értelmezése
Név id name
Típus int string
is_agent
boolean true false
Magyarázat a csoport adatbázisban szereplő ID-ja a csoport neve alapértelmezetten szerepel az adatbázisban: admin: a customer legmagsabb szintű jogosultsággal bíró felhasználói csoportja supervisor: supervisor jogosultsággal rendelkező felhasználók csoportja operator: operátori jogosultsággal rendelkező felhasználói csoport az adott csoport operátor típusú vagy sem az adott csoport operátor típusú az adott csoport nem operátor típusú
Oldal: 75 / 79
VCC-API fejlesztői leírás
8. Callback API 8.1. A Callback API célja és működése A VCC CallbackAPI, hogy az ügyfél által beállított paramétereknek megfelelő HTTP kéréseket küldjön az ügyfél szervere felé. A kérés elküldése a disposition (rekordhoz beállított termináció) esemény hatására indul meg, amely során elküldésre kerülnek az adott rekordhoz tartozó script, termináció és hívás adatok.
8.2. A Callback API beállítása A Callback API projekt szinten állítható be. A beállítást a Virtual Call Center kliens használatával, supervisor jogosultságú felhasználóként a VCC → Call Center / Projektek oldal alatt teheti meg a következő lépések végrehajtásával: 1. Kattintson egy projekt nevére, majd a jobb oldalon található fülek közül a Callback API fülre 2. Kattintson a jobb felső sarokban szereplő "+" ikonra 3. A felugró ablakban a. válassza ki a küldés metódusát, amely lehet: POST, GET, PUT, DELETE b. adja meg az ön által felparaméterezett URL-t i. az URL-ben lehetősége van dinamikus változók elhelyezésére is ${varname} formátumban: 1. projectid: a projekt VCC rendszerben szereplő azonosítója (ennek lekérdezése 2.3-as pont) a. például: ${projectid} 2. numberid: a rekord VCC rendszerben szereplő azonosítója (ennek lekérdezése 2.5-ös pont) a. például: ${numberid} 4. A módosítások mentéséhez nyomja meg a „OK” gombot. Egy projekten belül több Callback API beállítás is létrehozható, így több URL-s is elküldésre kerülhetnek az adatok. Amennyiben módosítani szeretné a beállítást, akkor kattintson duplán a táblázatban az adott sorra, ha pedig törölni szeretné, akkor a táblázatban szereplő kuka ikonra. Fontos, hogy a már küldés alatt szereplő események ilyen esetben még kiküldésre fognak kerülni a korábbi paraméterek alapján. Oldal: 76 / 79
VCC-API fejlesztői leírás
8.3. Példa a Callback API üzenetre { "uuid": "335c8011-666a-4b9d-8a6f-43749013e18b", "numberid": 36, "userid": 61, "projectid": 1, "disposition": { "name": "Busy", "assesment": "failed", "status": "busy", "price": 0, "commission": 0, "description": "", "label": "", "recall": 0, "id": 3, "mode": "active", "quota": "no", "instant": "no", "default": "yes", "comment_mode": "allow", "callback": 1 }, "client_data": { "name": "Példa László", "phone1": "3619997400", "phone2": "", "phone3": "", "phone4": "", "ugyfelszam": "14524", "szuletesi_hely": "", "szuletesi_ido": "", "anyja_neve": "", "szemelyi_ig_szam": "", "megjegyzes": "teszt36" } }
Név uuid numberid userid projectid disposition name assesment
Típus string int
Magyarázat a hívás rendszer által adott egyedi azonosítója
array string string
termináció adatai a termináció ügyfél által megadott neve a termináció ügyfél által megadott értékelése, kivéve rendszer oldali terminációk elért sikeres nem elért a termináció ügyfél által megadott típusa,kivéve rendszer terminációk az ügyfél által megadott operátori jutalék értéke az ügyfél által megadott call center jutalék értéke a terminációhoz adott megjegyzés a termináció ügyfél által megadott exportértéke adott terminációkhoz (rendszer és visszahívás / közös
success ordered failed status
string
price commission description label recall
int int string string int
Oldal: 77 / 79
VCC-API fejlesztői leírás
id mode
int string active inactive deleted
quota
string yes no
instant
string yes no
default
string yes no
comment_mode
string disable allow force
callback client_data
int array
listás visszahívás típusú terminációk) ügyfél által megadott alapértelmezett visszahívási időpont értéke (mp) a termináció VCC adatbázisban szereplő azonosítója a termináció státusza aktív inaktív törölt a termináció kvóta típusú termináció-e igen nem a termináció automatikus rögzítéssel lett-e beállítva vagy sem igen nem rendszer termináció-e igen nem a terminációhoz adható-e megjegyzés tiltott engedélyezett kötelező Callback API-n keresztül kiküldhető-e (az értéke minden esetben 1) az adott terminációhoz és híváshoz kapcsolódó ügyféladatok
Oldal: 78 / 79
VCC-API fejlesztői leírás HTTP codes
Code
Meaning
200
OK
401
Authorization Required
403
Forbidden
404
Not found
405
Method not allowed
417
Expectation failed
500
Internal Error
600
Partial error
Oldal: 79 / 79