Dokumentace API - calls

Jak ovládat Odorik a používat služby pomocí speciálních programů a aplikací.
Odpovědět
petr-kohut
Příspěvky: 30
Registrován: sob 01. čer 2013 18:53:13

Dokumentace API - calls

Příspěvek od petr-kohut »

Dobrý den,
na stránce http://www.odorik.cz/w/api
je popsáno API pro získání výpisu hovorů ("GET /calls.csv, GET /calls.json, GET /calls.xml").
Píše se zde toto: "from, to: časové rozmezí hovorů; řetězec formátovaný podle ISO 8601".
Což ovšem není zcela pravda. ISO 8601 umožňuje dvě základní varianty zápisu a navíc umožňuje od konce vynechávat položky.

Bylo by možné dopsat do dokumentace, že jediný akceptovaný zápis času je bez oddělovačů se sekundami a bez časové zóny ("20130604181500") ?
Nebo jde o chybu v API?

Tohle byla totiž až poslední varianta kterou jsem zkusil, a těch variant není zrovna málo :)
Uživatelský avatar
Largon
Příspěvky: 448
Registrován: pon 07. lis 2011 10:14:09

Re: Dokumentace API - calls

Příspěvek od Largon »

Dobrý den,
podívám se na to a případně doplním dokumentaci. Každopádně na parsování času používáme knihovní funkce, takže se mi to zdá trochu divné, že by byly nějaké velké odchylky od normy.
Uživatelský avatar
Largon
Příspěvky: 448
Registrován: pon 07. lis 2011 10:14:09

Re: Dokumentace API - calls

Příspěvek od Largon »

Tak problém je v tom, že Ruby metoda Time.iso8601 překvapivě neakceptuje ISO 8601, ale pouze formát definovaný jako dateTime v XML Schema, což je jen jedna z možných forem zápisu ISO 8601.

Děkujeme za upozornění na problém, opravil jsem to v dokumentaci.
petr-kohut
Příspěvky: 30
Registrován: sob 01. čer 2013 18:53:13

Re: Dokumentace API - calls

Příspěvek od petr-kohut »

Largon píše:Tak problém je v tom, že Ruby metoda Time.iso8601 překvapivě neakceptuje ISO 8601, ale pouze formát definovaný jako dateTime v XML Schema, což je jen jedna z možných forem zápisu ISO 8601.

Děkujeme za upozornění na problém, opravil jsem to v dokumentaci.
Noo, nyní je v dokumentaci uvedeno "(například: 2013-06-05T11:15:00+02:00)", což mi ovšem nefunguje, teď mi to funguje v tomto formátu, ale se základní časovou zónou - UTC ("2013-06-05T11:15:00Z") a nebo bez ní ("2013-06-05T11:15:00").
Včera mi jela varianta "https://www.odorik.cz/api/v1/calls.xml? ... 0605111500", dnes mi jede varianta "https://www.odorik.cz/api/v1/calls.xml? ... 5T11:15:00" a taky "https://www.odorik.cz/api/v1/calls.xml? ... T11:15:00Z". Změnilo se něco?
Uživatelský avatar
Largon
Příspěvky: 448
Registrován: pon 07. lis 2011 10:14:09

Re: Dokumentace API - calls

Příspěvek od Largon »

V kódu k žádným změnám nedocházelo, opravil jsem jen dokumentaci.

Napadá mě zkusit nějakým snifferem ověřit, jestli od vás odchází správná data vzhledem ke Content-type. V případě x-www-form-urlencoded se "+" používá pro mezery a to by mohl být ten problém.
petr-kohut
Příspěvky: 30
Registrován: sob 01. čer 2013 18:53:13

Re: Dokumentace API - calls

Příspěvek od petr-kohut »

Largon píše:V kódu k žádným změnám nedocházelo, opravil jsem jen dokumentaci.

Napadá mě zkusit nějakým snifferem ověřit, jestli od vás odchází správná data vzhledem ke Content-type. V případě x-www-form-urlencoded se "+" používá pro mezery a to by mohl být ten problém.
Děkuji. Opravdu byla chyba v encodingu URL. Funguje to tedy tak je to nyní napsáno v dokumentaci.
Odpovědět