====== API pro práci s veřejnými čísly ======
Součást [[:api|Odorik.cz API]], poskytuje volání umožňující práci s veřejnými čísly.
===== Seznam veřejných čísel =====
=== GET /public_numbers.json ===
* vrací všechna veřejná čísla asociována s daným účtem
* vyžaduje [[:api#autentizace|autentizaci]]
* nepovinné parametry:
* **include_sip_names** - v případě hodnoty "true" budou v seznamu i registrovaná SIP jména
* **include_shared_numbers** - v případě hodnoty "true" budou v seznamu i sdílená telefonní čísla (rozsah 533 533 4xy) využitelná pro routování hovorů
* existující typy čísel:
* geographic
* nomadic
* mobile
* sip_name
* shared
* příklad odpovědi:
[ { "public_number": "00420533533533", "type": "geographic" },
{ "public_number": "00420910110910", "type": "nomadic" },
{ "public_number": "00420799799799", "type": "mobile" } ]
===== Paralelní zvonění =====
Všechna níže zmíněná volání pro nastavení paralelního zvonění jsou speciálním případem [[api:public_numbers#routovani|routování]], kde atribut source_number je nastavován na "*".
=== GET /public_numbers//ringings.json ===
* vrací všechna čísla, na kterých bude vyzvánět hovor na
* musí být v mezinárodním formátu (česká čísla tedy musí začínat 00420), je i SIP jméno
* vyžaduje [[:api#autentizace|autentizaci]]
* možné chybové stavy:
* //unauthorized//
* //nonexisting_public_number//
* příklad odpovědi pro číslo (00420) 539 085 858
[ { "public_number": "00420539085858", "ringing_number": "*100" } ]
=== POST /public_numbers//ringings.json ===
* přidání nového čísla pro paralení vyzvánění na čísle
* musí být v mezinárodním formátu (česká čísla tedy musí začínat 00420), je i SIP jméno
* povinné parametry:
* **ringing_number**: číslo na které bude hovor směrován
* vyžaduje [[:api#autentizace|autentizaci]]
* možné chybové stavy
* //unauthorized//
* //nonexisting_public_number//
* //invalid_ringing_number//
* //redirection_loop//
=== DELETE /public_numbers//ringings/.json ===
* odstranění paralelního zvonění z čísla na čísle
* musí být v mezinárodním formátu (česká čísla tedy musí začínat 00420), je i SIP jméno
* vyžaduje [[:api#autentizace|autentizaci]]
* možné chybové stavy:
* //unauthorized//
* //nonexisting_public_number//
* //nonexisting_ringing_number//
===== Routování =====
=== GET /public_numbers//routes.json ===
* vrací všechna pravidla určující směrování hovorů na
* musí být v mezinárodním formátu (česká čísla tedy musí začínat 00420), je i SIP jméno
* vyžaduje [[:api#autentizace|autentizaci]]
* možné chybové stavy:
* //unauthorized//
* //nonexisting_public_number//
* příklad odpovědi pro číslo (00420) 539 085 858
[ { "id": 123, "public_number": "00420539085858", "source_number": "*", "ringing_number": "*100" } ]
=== POST /public_numbers//routes.json ===
* přidání nového pravidla pro vyzvánění na čísle
* musí být v mezinárodním formátu (česká čísla tedy musí začínat 00420), je i SIP jméno
* povinné parametry:
* **source_number**: číslo, ze kterého hovor přijde na ústřednu Odorik.cz; znak '*' reprezentuje všechna čísla a má nižší prioritu než konkrétní číslo
* **ringing_number**: číslo, na které bude hovor směrován
* volitelné parametry:
* **replace_by_source_number**: v případě hodnoty "true" jsou odstraněny všechna ostatní pravidla se shodným source_number
* vyžaduje [[:api#autentizace|autentizaci]]
* možné chybové stavy
* //unauthorized//
* //nonexisting_public_number//
* //invalid_ringing_number//
* //invalid_source_number//
* //redirection_loop//
* //shared_number_conflict// - kombinaci sdíleného čísla a ringing_number již používá jiný uživatelský účet
=== DELETE /public_numbers//routes/.json ===
* odstranění routovacího pravidla
* odpovídá hodnotě získané voláním GET /public_numbers//routes.json
* musí být v mezinárodním formátu (česká čísla tedy musí začínat 00420), je i SIP jméno
* vyžaduje [[:api#autentizace|autentizaci]]
* možné chybové stavy:
* //unauthorized//
* //nonexisting_public_number//