====== API pro práci s rychlými kontakty ======
Součást [[:api|Odorik.cz API]], poskytuje volání umožňující práci s rychlými kontakty.
Je již uzpůsobeno na změny v rychlých kontaktech, které v budoucnu chystáme:
* stávající rychlé kontakty vázané k celému uživatelskému účtu zůstávají zachovány
* bude možné nastavit rychlé kontakty pro jednotlivé linky:
* automaticky jsou dostupné rychlé kontakty celého účtu
* je možné přidat nový rychlý kontakt na neobsazenou pozici
* je možné "přetížit" existující rychlý kontakt definovaný pro celý účet
Vzhledem k těmto změnám je proto důležitý způsob autentizace:
* možnost pracovat s rychlými kontakty celého účtu jen prostřednictvím API hesla
* při autentizaci linkou a jejím heslem (stejné jako pro SIP) jen manipulace s rychlými kontakty dané linky
===== Rychlé kontakty celého účtu =====
=== GET /speed_dials.json ===
* vrací všechny rychlé kontakty
* vyžaduje [[:api#autentizace|autentizaci]]
* příklad odpovědi:
[{"shortcut": 9,
"number": "*100",
"name": "Odorik podpora"},
{"shortcut": 33,
"number": "skype:odorik_info",
"name": "Odorik podpora (Skype)"}]
=== POST /speed_dials.json ===
* přidání nového rychlého kontaktu
* vyžaduje [[:api#autentizace|autentizaci]] API heslem
* povinné parametry:
* **number**: číslo, na které je voláno po vytočení rychlého kontaktu
* **name**: jméno rychlého kontaktu; maximální délka 150 znaků
* nepovinné parametry:
* **shortcut**: číslo zkrácené volby; v případě absence se použije nejmenší nevyužité číslo
* možné chybové stavy (vráceny v poli indexovaným klíčem "errors"):
* //invalid_number//
* //invalid_shortcut//
* //name_too_long//
* //shortcut_already_used//
* //speed_dials_full//
* //unauthorized//
=== GET /speed_dials/.json ===
* vrací konkrétní rychlý kontakt
* vyžaduje [[:api#autentizace|autentizaci]]
* příklad odpovědi na "GET /speed_dials/9.json:
{"shortcut": 9,
"number": "*100",
"name": "Odorik podpora"}
=== PUT /speed_dials/.json ===
* modifikace konkrétního rychlého kontaktu
* vyžaduje [[:api#autentizace|autentizaci]] API heslem
* nepovinné parametry:
* **shortcut**: změna čísla zkrácené volby
* **number**: změna čísla, na které zkrácená volba vede
* **name**: změna jména/popisku
* možné chybové hlášky jsou stejné jako pro tvorbu nového rychlého kontaktu (POST /speed_dials.json)
=== DELETE /speed_dials/.json ===
* smazání konkrétního rychlého kontaktu
* vyžaduje [[:api#autentizace|autentizaci]] API heslem
* vrací prázdný objekt v případě úspěšného smazání
* možné chybové hlášky:
* //unauthorized//
===== Rychlé kontakty jednotlivých linek =====
=== GET /lines//speed_dials.json ===
* vrací rychlé kontakty dané linky
* vyžaduje [[:api#autentizace|autentizaci]]
* oproti "GET /speed_dials.json" přidává dva atributy:
* **owner**: možné hodnoty //account// nebo //line//
* **overrides**: hodnota number u rychlého kontaktu celého účtu, která je tímto záznamem přepsána; null v případě, kdy není rychlý kontakt pro linku předefinován
* příklad odpovědi "GET /lines/300100/speed_dials.json":
[{"shortcut": 9,
"number": "*100",
"name": "Odorik podpora"
"owner": "account",
"overrides": null},
{"shortcut": 33,
"number": "skype:odorik_info",
"name": "Odorik podpora (Skype)"
"owner": "account",
"overrides": null}]
=== POST /lines//speed_dials.json ===
* přidání rychlého kontaktu jen pro danou linku
* zatím není implementováno
=== GET /lines//speed_dials/.json ===
* vrací konkrétní rychlý kontakt
* vyžaduje [[:api#autentizace|autentizaci]]
* příklad odpovědi na "GET /lines/300100/speed_dials/9.json":
{"shortcut": 9,
"number": "*100",
"name": "Odorik podpora"
"owner": "account",
"overrides": null}
=== PUT /lines//speed_dials/.json ===
* modifikace rychlého kontaktu patřícího dané lince
* zatím není implementováno
=== DELETE /lines//speed_dials/.json ===
* smazání rychlého kontaktu patřícího dané lince
* zatím není implementováno