Programsko sučelje aplikacije (API)

Hašek profesionalnim korisnicima omogućuje spajanje na jezgrenu uslugu putem aplikacijskog programskog sučelja. Zahtjev se šalje putem protokola HTTPS, metodom POST. Odgovor se šalje u tekstnom formatu JSON.

Format zahtjeva klijentske strane

POST zahtjev postavlja se na resurs https://ispravi.me/api/ispravi.pl. Zahtjev sadrži sljedeće parametre:

textarea=<tekst za provjeru>

Tekst za provjeru šalje se kodiran u formatu UTF-8.

context=(on|off)

on – tražena je kontekstna provjera teksta
off – tražena je standardna provjera teksta (default)

key=<identifikator korisnika>

Jedinstveni identifikator korisnika usluge – registrirajte svoj API-ključ.

Primjer zahtjeva:

POST /api/ispravi.pl HTTP/1.1
Host: ispravi.me
...
<prazni red>
textarea=pogrešon+napsiana+rijeć&context=on&key=ASDAAF-DAAA-AFASD-DAFDASA

Format odgovora poslužiteljske strane

Odgovor poslužitelja šalje se u formatu JSON. Odogovor je opisan u primjeru ispod:

{
   "request" : {
      "textlength" : <duljina obrađenog teksta>,
      "remoteip" : <ip_adresa_klijenta>,
      "key" : <identifikator korisnika>, 
      "newuser" : <true|false>,        # novi korisnik?
      "contextual" : <true|false>,     # tražena kontekstualna provjera?
      "from" : <mreža_korisnika>,
      "session" : <identifikator sjednice>,
      "contenttype" : <mime-type zadanog teksta> 
   },
   "status" : {
      "time" : <vrijeme obrade u sekundama>,
      "text" : <tekstni status obrade>,
      "href" : <URL na objašnjenje pogreške>,
      "code" : <brojčani status obrade>
   },
   "response" : {
      "errors" : <broj grešaka>,
      "error" : [
         {
            "suspicious" : <sumnjiva riječ>,
            "length" : <duljina pogrešne riječi>,
            "suggestions" : [
               <lista predloženih ispravaka>
            ],
            "occurrences" : <broj takvih pogrešaka>,
            "position" : [
               <indeksi na kojima se nalazi pogrešno napisana riječ, prvi znak je 0>
            ],
            "class" : (extreme|major|moderate|minor|unclassifiable|case-mix|alphanum-mix|grammar|pleonasm) 
         },
         {
            # ponavlja se za svaku pogrešku
         },
      ]
   }
}