====== API pro práci se SIM kartami ====== Součást [[:api|Odorik.cz API]], poskytuje volání umožňující práci se SIM kartami. ===== Stav SIM karty a přepínání parametrů ===== === GET /sim_cards.json === * výpis nastavení parametrů všech SIM karet daného uživatelského účtu (nebo pouze linky v případě autentizace přes linku) * vyžaduje [[:api#autentizace|autentizaci]] * parametry a výstup jsou totožné jako v případě GET /sim_cards/.json, pouze je vráceno více SIM v poli a každá SIM navíc obsahuje atribut //phone_number// === GET /sim_cards/.json === * výpis nastavení parametrů SIM karty s telefonním číslem * vyžaduje [[:api#autentizace|autentizaci]] * nepovinné parametry: * všechny níže uvedené atributy předané s hodnotou "true" způsobí přidání validních voleb pro dané parametry SIM karty * **include_available_data_packages** * **include_available_credit_addons** * **include_available_packages_delayed_billing** * **include_available_roaming_settings** * příklad odpovědi na požadavek společně s include_available_data_packages: curl -X GET https://www.odorik.cz/api/v1/sim_cards/00420799799081.json -d user=6096177 -d password=xxxxxx -d include_available_data_packages=true { "id": 1013, "sim_number": "8942001100038961787F", "state": "active", "changes_in_progress": [], "data_package": "perKB_50MB", "data_package_for_next_month": "perKB_100MB", "data_bought_total": null, "data_used": null, "voice_package": "none", "voice_package_for_next_month": "none", "package_delayed_billing": "none", "package_delayed_billing_for_next_month": "none", "missed_calls_register": true, "mobile_data": true, "lte": true, "lte_for_next_month": true, "roaming": "eu_data_outgoing", "premium_services": "off", "available_data_packages": [ {"name":"perKB_50MB","price":0}, {"name":"perKB_100MB","price":0}, {"name":"perKB_200MB","price":0}, {"name":"perKB_400MB","price":0}, {"name":"perKB_500MB","price":0}, {"name":"150MB","price":60}, {"name":"300MB","price":95}, {"name":"600MB","price":160}, {"name":"1000MB","price":220}, {"name":"1500MB","price":295}, {"name":"2000MB","price":320}, {"name":"3000MB","price":440}, {"name":"10GB","price":690} ] } === PUT /sim_cards/.json === * vyvolá změnu nastavení parametrů SIM karty s telefonním číslem * vyžaduje [[:api#autentizace|autentizaci]] * platí několik omezení na prováděné změny: * v případě změny stavu (state) se provádí pouze tato změna a ostatní parametry jsou ignorovány * v případě již probíhajících změn u SIM karty (neprázdné pole changes_in_progress ve výpise stavu přes GET požadavek) je možné zadávat požadavek na změnu pouze následujících parametrů: requested_data_plan_for_next_month, requested_data_roaming_plan_for_next_month, requested_voice_roaming_plan_for_next_month a requested_tariff_plan_for_next_month * (nepovinné) parametry: * **state**: active/suspended * **data_package**: viz zdroj dostupných datových balíčků * **data_package_for_next_month**: viz zdroj dostupných datových balíčků * **voice_package**: viz zdroj dostupných hlasových balíčků * **voice_package_for_next_month**: viz zdroj dostupných hlasových balíčků * **package_delayed_billing**: viz zdroj dostupných balíčků naruby * **package_delayed_billing_for_next_month**: viz zdroj dostupných balíčků naruby * **missed_calls_register**: true/false; SMS upozornění o zmeškaných hovorech v době nepřihlášení do sítě; v budoucnu může být zaveden paušální poplatek * **mobile_data**: true/false * **lte**: true/false * **lte_for_next_month**: true/false * **roaming**: viz zdroj dostupných nastavení roamingu * **premium_services**: off/sms_payments_and_dms/all_other_than_sms_payments_and_dms/all * **add_credit**: dokup dat, viz seznam nabízených dokupů === POST /sim_cards//data_restart === * provede změny vedoucí k odblokování FUP na SIM kartě v závislosti na aktuálním datovém balíčku: * v případě účtování po kB dojde k resetu FUP přepnutím na jiný typ datového tarifu a zase zpět * v případě datového balíčku dojde k přepnutí na účtování po kB * vyžaduje [[:api#autentizace|autentizaci]] * možné chybové stavy: * //change_in_progress// - na SIM probíhá nějaká jiná změna * //low_balance// - nedostatečný kredit, nutno nebýt v záporu * //mobile_data_disabled// - na SIM nejsou povolena mobilní data * příklad použití: curl -X POST https://www.odorik.cz/api/v1/sim_cards/00420799799081/data_restart -d user=6096177 -d password=xxxxxxx ok ===== Historie mobilních dat ===== === GET /sim_cards//mobile_data.json === * výpis datových přenosů SIM karty s telefonním číslem za zvolené období * povinné parametry: * **from**, **to**: časové rozmezí hovorů; řetězec formátovaný jako [[http://www.w3.org/TR/xmlschema-2/#dateTime|dateTime z XML Schema]] (například: //2013-06-05T11:15:00+02:00//) * vyžaduje [[:api#autentizace|autentizaci]] === GET /sim_cards/mobile_data.json === * výpis datových přenosů všech SIM karet přiřazených k danému účtu za zvolené období * povinné parametry: * **from**, **to**: časové rozmezí hovorů; řetězec formátovaný jako [[http://www.w3.org/TR/xmlschema-2/#dateTime|dateTime z XML Schema]] (například: //2013-06-05T11:15:00+02:00//) * vyžaduje [[:api#autentizace|autentizaci]] * příklad odpovědi: [{"id":133,"date":"2013-07-11T14:43:59Z","bytes_up":151666,"bytes_down":3768,"bytes_total":155434,"price":0.1484,"price_per_mb":1.0,"phone_number":"00420799799799"}] ===== Přiřazení telefonního čísla k SIM kartě ===== === POST /sim_cards//assign_number_to_sim.json === * přiřadí telefonní číslo k SIM kartě na základě údajů o této SIM (ICCID a PIN) * dané telefonní číslo již musí být přiřazeno k lince * povinné parametry: * **iccid**: číslo SIM karty (viz http://81.31.45.46/wiki/img/sim-gts-popisek9.png) * **pin**: PIN1 SIM karty * nepovinné parametry: * **delayed_activation**: výchozí hodnota je false; v opačném případě je přiřazení jen předchystáno a je dokončeno až po potvrzení uvnitř uživatelského rozhraní, nebo přes api. Předchystanou sim lze pracovat i s API pomocí "Stav SIM karty a přepínání parametrů", je ve stavu //new//, aktivovat ji lze přes API změnou do stavu //active//. * vyžaduje [[:api#autentizace|autentizaci]] * při úspešném provedení vrací prázdný objekt: {} * možné chybové stavy * //invalid_phone_number// - špatné anebo není ještě přiřazeno k lince * //invalid_iccid_or_pin// * //sim_already_assigned// * příklad: {"errors": ["invalid_iccid_or_pin"]}