Odorik.cz API (AutoIt)

Jak ovládat Odorik a používat služby pomocí speciálních programů a aplikací.
Odpovědět
Uživatelský avatar
Zedna
Příspěvky: 736
Registrován: stř 04. dub 2012 0:57:53

Odorik.cz API (AutoIt)

Příspěvek od Zedna »

Zakladam toto obecne vlakno pro vseobecnou diskuzi o "Odorik.cz API".

Specifikace je zde:
http://www.odorik.cz/w/api

EDIT: Upraven titulek vlakna (doplneno AutoIt)
Naposledy upravil(a) Zedna dne pát 17. led 2014 0:14:58, celkem upraveno 2 x.
Uživatelský avatar
Zedna
Příspěvky: 736
Registrován: stř 04. dub 2012 0:57:53

Re: Odorik.cz API

Příspěvek od Zedna »

Dle specifikace API jsem pripravil skripty v programovacim jazyku Autoit:
http://www.autoitscript.com/

V uvedenem kodu jsem pro lepsi prehlednost schvalne odstranil osetrovani pripadnych chyb.
Skript jsem otestoval a vse funguje spravne, jmeno/heslo/telefony/linku jsem zamenil za ukazkove.

Kód: Vybrat vše

$jmeno = '123456'
$heslo = 'heslo'

$output = OdorikHttpPozadavek('GET', '/balance', '', $jmeno, $heslo)
ConsoleWrite('balance: ' & $output & @CRLF)

$output = OdorikHttpPozadavek('GET', '/lines', '', $jmeno, $heslo)
ConsoleWrite('lines: ' & $output & @CRLF)

$output = OdorikHttpPozadavek('GET', '/sms/allowed_sender', '', $jmeno, $heslo)
ConsoleWrite('sms-allowed_sender: ' & $output & @CRLF)

$output = OdorikHttpPozadavek('POST', '/callback', 'caller=602123456&recipient=602123456&line=123456', $jmeno, $heslo)
ConsoleWrite('callback: ' & $output & @CRLF)

$text = StringReplace('Testovaci SMS zprava pres Odorik.cz API', ' ', '%20')
$output = OdorikHttpPozadavek('POST', '/sms', 'sender=00420602123456&recipient=00420602123456&message=' & $text, $jmeno, $heslo)
ConsoleWrite('sms: ' & $output & @CRLF)
If Not StringInStr($output, 'successfully') Then ConsoleWrite('SMS zpravu se nepodarilo odeslat. Duvod: ' & $output & @CRLF)

Func OdorikHttpPozadavek($typ, $prikaz, $param = '', $jmeno = '', $heslo = '')
	$url = 'https://www.odorik.cz/api/v1/' & $prikaz
	$url &= "?user=" & $jmeno & "&password=" & $heslo & "&user_agent=Autoit"
	If $param <> '' Then $url &= '&' & $param

	$oXmlHttp = ObjCreate("Microsoft.XMLHTTP")
	$oXmlHttp.Open($typ, $url, False)
	$oXmlHttp.Send()
	Return $oXmlHttp.ResponseText
EndFunc
Naposledy upravil(a) Zedna dne pát 06. dub 2012 21:10:57, celkem upraveno 1 x.
Uživatelský avatar
Zedna
Příspěvky: 736
Registrován: stř 04. dub 2012 0:57:53

Re: Odorik.cz API

Příspěvek od Zedna »

Jako dalsi funkcionalitu v API Odoriku by se mi libilo (chybi) nasledujici:
- moznost zobrazit vypis hovoru (nektera vst. kriteria) - vracel by CSV nebo HTML
- moznost zobrazit/editovat rychle kontakty (view/add/delete)

S temito funkcemi uz by slo udelat napriklad plnohodnotnou aplikaci jako nahradu dosud nedodelane moznosti pro posilani SMS zprav z aplikace Odorik.exe.
Uživatelský avatar
xsouku04
Administrátor
Příspěvky: 8157
Registrován: pát 15. říj 2010 11:11:44
Bydliště: Brno
Kontaktovat uživatele:

Re: Odorik.cz API

Příspěvek od xsouku04 »

Api pro výpis hovorů je v plánu. Výhoda je, že půjde propojit náš telefonní systém s informačním systémem firmy.
Pro editaci rychlých kontaktů. To myslím že je už zbytečné.
Uživatelský avatar
Zedna
Příspěvky: 736
Registrován: stř 04. dub 2012 0:57:53

Re: Odorik.cz API

Příspěvek od Zedna »

xsouku04 píše:Pro editaci rychlých kontaktů. To myslím že je už zbytečné.
Ta editace uz by opravdu nebyla tak nezbytne nutna, ale to zobrazeni by bylo treba,
pokud by nekdo chtel udelat plnohodnotnou nahradu toho posilani tech SMSek
--> aby se pres to API dal nabidnout seznam kontaktu napriklad do nejakeho Comboboxu,
v nemz by se vybiral prijemce te SMSky.
zapomenuheslo
Příspěvky: 1
Registrován: sob 03. říj 2020 16:30:01

Re: Odorik.cz API (AutoIt)

Příspěvek od zapomenuheslo »

Snazim se pres API aktivovat a deaktivovat SIM.

Zjisteni stavu mi funguje bez problemu:
$ curl -X POST https://www.odorik.cz/api/v1/sim_cards/ ... ta_restart -d user="${username}" -d password="${password}"
{"id":aaaa,"line":bbbbbb,"sim_number":"cccccccccccccccccccc","state":"suspended","changes_in_progress":[]}

Ale nemuzu prijit na to, jak stav zmenit. Snazil jsem se suspendovat aktivni SIM:
$ curl -X PUT https://www.odorik.cz/api/v1/sim_cards/ ... efon}.json -d "state=suspended" -d user="${username}" -d password="${password}"
{"errors":["authentication_failed"]}

$ curl -X PUT -H "Content-Type: application/json" -d '{"state":"suspended", "user":"'${username}'", "password":"'${password}'"}' https://www.odorik.cz/api/v1/sim_cards/ ... efon}.json
{"errors":["authentication_required"]}

Jaka autentizace je potreba? Username a heslo pro API tam mam.

Chyba neni v escapovani bashovych promennych - zkousel jsem to i primo s hodnotami.

Diky vsem za pomoc.
Odpovědět