API pro práci se SIM kartami

Součást 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 autentizaci
  • parametry a výstup jsou totožné jako v případě GET /sim_cards/<mobilni_cislo>.json, pouze je vráceno více SIM v poli a každá SIM navíc obsahuje atribut phone_number

GET /sim_cards/<mobilni_cislo>.json

  • výpis nastavení parametrů SIM karty s telefonním číslem <mobilni_cislo>
  • vyžaduje 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/<mobilni_cislo>.json

  • vyvolá změnu nastavení parametrů SIM karty s telefonním číslem <mobilni_cislo>
  • vyžaduje 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/<mobilni_cislo>/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 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/<mobilni_cislo>/mobile_data.json

  • výpis datových přenosů SIM karty s telefonním číslem <mobilni_cislo> za zvolené období
  • povinné parametry:
    • from, to: časové rozmezí hovorů; řetězec formátovaný jako dateTime z XML Schema (například: 2013-06-05T11:15:00+02:00)
  • vyžaduje 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 dateTime z XML Schema (například: 2013-06-05T11:15:00+02:00)
  • vyžaduje 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/<mobilni_cislo>/assign_number_to_sim.json

  • přiřadí telefonní číslo <mobilni_cislo> 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:
  • 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 autentizaci
  • při úspešném provedení vrací prázdný objekt:
    {}
  • možné chybové stavy
    • invalid_phone_number - špatné <mobilni_cislo> anebo není ještě přiřazeno k lince
    • invalid_iccid_or_pin
    • sim_already_assigned
    • příklad:
      {"errors": ["invalid_iccid_or_pin"]}
 
api/sim_cards.txt · Poslední úprava: 2018/12/10 13:30 autor: michal