Stránka 1 z 1

Odorik.cz API (AutoIt)

Napsal: čtv 05. dub 2012 17:05:21
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)

Re: Odorik.cz API

Napsal: čtv 05. dub 2012 17:07:06
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

Re: Odorik.cz API

Napsal: čtv 05. dub 2012 17:46:06
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.

Re: Odorik.cz API

Napsal: čtv 05. dub 2012 20:01:33
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é.

Re: Odorik.cz API

Napsal: čtv 05. dub 2012 22:40:44
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.

Re: Odorik.cz API (AutoIt)

Napsal: sob 03. říj 2020 16:45:13
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.