Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • 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
languagedelphi
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.

...