...
- URL: osoite ja parametrit esim https://api.liittyma.com/setproductdata?identification=foobar
- data: Post metodin lähetettävä data. jos method on get, tämän voi jättää tyhjäksi
- Basic_Auth_username, Basic_Auth_password jos palvelin haluaa basica autentication niin niiden salasanat
- status: muuttuja johon laitetaan pyynnön status. 200 = OK
- statustxt: status selväkielisenä
- method: kutsun metodi joko post (oletus, ei tarvitse laittaa) tai get. Kirjankoolla ei väliä.
- Paluuarvona tulee palvelimen lähetämä vastaus
- D10 versiossa (29.6.2020) on metodin jälkeen valinnainen headers parametri, joka on muotoa stringlist
Code Block | ||
---|---|---|
| ||
var s,s1,status,statustxt; b,n; nro; sl; begin sl := tstringlist.create; sl.values['Authorization']:='bearer xxxxxxx'; // tämä siis toimii vain D10 versiosaa s := restCall('https://t.skj.fi/tapahtuma/products?apikey=wont_tell_you','{"name":"taas uusi tuote"}', '', '', status, statustxt, sl); showmessage(s+#13+inttostr(status)+#13+inttostr(statustxt)); if status=200 then begin b:= JsonNewDocFromjson(s); // b on koko dokkari n := jsongetvalue(b,'products'); // n : products elementti, joka on array yhdestä tuotteesta n := jsongetvalue(n,0,true); // n on tämän jälkeen eka alkio tuotearraysta nro := jsongetvalue(n,'id'); // otetaan vastauksesta id - tuotenumero s1 := restCall('https://t.skj.fi/tapahtuma/products/'+nro+'?apikey=wont_tell_you','', '', '', status, statustxt,'get'); showmessage(s1); // s ja s1 pitäisi olla samat b := jsonnewdoc; b := jsonaddvalue(b, 'id', nro); b := jsonaddvalue(b, 'group', 12); b := jsonaddvalue(b, 'name', 'lahden kotiin'); s := restCall('https://t.skj.fi/tapahtuma/products?apikey=wont_tell_you', b, '', '', status, statustxt); showmessage(s); end; sl.free; end; |
Jatkuva toiminta
Skjscript voidaan laittaa pöyrimään taustalle silmukassa esim lähettämään muutoksia aikaajoin. Tähän pitää rakentaa myös poistumismekanismi. Jos ohjelma pyörii näkyvillä työasemassa, voidaan se hoitaa aiemmilla versiolla, mutta palveluna vaati 28.9.2018 tai uudemman version.
...