Dokumentace API – Našeptávaní adres (verze 1)
Toto je popis starší verze služby pro našeptávání adres. Doporučujeme používat aktuální verzi.
Webová služba pro našeptávání adres je k dispozici na adresách:
- https://secure.smartform.cz/smartform-ws/v1/oracle
Vlastnosti dotazu
Dotazy musí být posílány metodou POST. Data jsou posílána ve formátu JSON s kódováním UTF-8.
Hlavička http requestu musí obsahovat následující položky:
název | hodnota |
---|---|
Content-type | application/json |
Accept | application/json |
Struktura dotazu a odpovědi
Následuje referenční struktura dotazu a odpovědi. Objekty jsou zachyceny ve formě pseudokódu pro lepší pochopení struktury.
Dotaz
class OracleRequest { // Identifikace dotazu int id; // Obsah formulářových políček Map<OracleFieldType, string> values; // Které políčko se právě edituje OracleFieldType fieldType; // Kolik maximálně našeptaváných možností se má vrátit int limit; // Heslo - identifikace uživatele string password; }
Odpověď
class OracleResponse { // Výsledek dotazu ResultCode resultCode; // Detailní popis chyby (pokud je resultCode == FAIL) string errorMessage; // Identifikace dotazu - pro kontrolu (mělo by být shodné s číslem v dotazu) int id; // Seznam návrhů našeptávače List<AddressSuggestion> suggestions; }
Další objekty
// Typy políček ve formuláři enum OracleFieldType { // číslo domu NUMBER, // ulice a číslo domu STREET_AND_NUMBER, // ulice STREET, // obec CITY, // PSČ ZIP }
// Jedna položka nabídky pro našeptávač. class AddressSuggestion { // Pro které políčko je návrh určen OracleFieldType fieldType; // Příznak, zda návrh obsahuje celou adresu boolean wholeAddress; // Hodnoty určené formulářovým políčkům. Map<OracleFieldType, String> values; }
/** Výsledek dotazu. */ enum ResultCode { /** Volání service proběhlo v pořádku. */ OK, /** Při volání service došlo k chybě. */ FAIL }
Tabulka typů v pseudokódu
typ v pseudokódu | typ v JSON |
---|---|
třída (class) | vnořený objekt |
výčet (enum) | řetězec se jménem vybrané položky |
List | pole |
Map | objekt – klíče a hodnoty se stanou položkami objektu |
string | řetězec |
int | číslo |
double | číslo |
boolean | boolean |
char (jeden znak) | řetězec |