====== 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