DirectData


[HttpGet, HttpPost]
[Route(“~/rapi/yDirectData/” + nameof(CallDataR3))]
public HttpResponseMessage CallDataR3([FromUri]int idcust, [FromUri]string e1key = null,int? idobject=null, [FromUri]enTablesLink entityIdent=enTablesLink.LTWDSet
, [FromUri]enRType mType = enRType.m_json_utf8
, string parprefix=”@”)

DirectCall - raw HTTPGET:
http://localhost:44364/erpio1/rapi/yDirectData/CallDataR3?idcust=1&e1key=on4dueEf3hP1ZhpRchQMwXiqfOG2k7VPxjE9qJQ6cXJdPlp1jnEl-BXlHr6JPst7gK-iIcSLcfhWBuFIQv3DO_5wBobmjuf49n1_Iq3aLhD0ZkseBowogxCk3sx-Y7nALr7L7SpRQVy76sUQPXmnm4h-I_pc99MOL_QYKJIcKXW2B38LL_YQKlScDbN5xK9tw__wupODxdjCprEzzH2hxyKMZCldnU9v-vzSJFJZzpVMs2T4QOJL_pQReU_0NrD3jV00XDlsyLzXgfs-zKK43XbTuSAm997X9kXBBGpAsYjJxuIGczYDYThxUbjq7TO9&IDObject=16449&entityIdent=LTWDSet&mType=m_json_utf8&ID=10&parprefix=
minnimum s default hodnotami(pozor i prefix parameteru)
http://localhost:44364/erpio1/rapi/yDirectData/CallDataR3?idcust=1&e1key=on4dueEf3hP1ZhpRchQMwXiqfOG2k7VPxjE9qJQ6cXJdPlp1jnEl-BXlHr6JPst7gK-iIcSLcfhWBuFIQv3DO_5wBobmjuf49n1_Iq3aLhD0ZkseBowogxCk3sx-Y7nALr7L7SpRQVy76sUQPXmnm4h-I_pc99MOL_QYKJIcKXW2B38LL_YQKlScDbN5xK9tw__wupODxdjCprEzzH2hxyKMZCldnU9v-vzSJFJZzpVMs2T4QOJL_pQReU_0NrD3jV00XDlsyLzXgfs-zKK43XbTuSAm997X9kXBBGpAsYjJxuIGczYDYThxUbjq7TO9&IDObject=16449
jakekoli parametry navic jsou prevedeny do parametru query(IDx,Nazev)
http://localhost:44364/erpio1/rapi/yDirectData/CallDataR3?idcust=1&e1key=on4dueEf3hP1ZhpRchQMwXiqfOG2k7VPxjE9qJQ6cXJdPlp1jnEl-BXlHr6JPst7gK-iIcSLcfhWBuFIQv3DO_5wBobmjuf49n1_Iq3aLhD0ZkseBowogxCk3sx-Y7nALr7L7SpRQVy76sUQPXmnm4h-I_pc99MOL_QYKJIcKXW2B38LL_YQKlScDbN5xK9tw__wupODxdjCprEzzH2hxyKMZCldnU9v-vzSJFJZzpVMs2T4QOJL_pQReU_0NrD3jV00XDlsyLzXgfs-zKK43XbTuSAm997X9kXBBGpAsYjJxuIGczYDYThxUbjq7TO9&IDObject=16449&entityIdent=LTWDSet&mType=m_json_utf8&ID=10&parprefix=&IDx=1&Nazev=test
POST, lze poslat do BODY FORM-DATA
http://localhost:44364/erpio1/rapi/yDirectData/CallDataR3?idcust=1&entityIdent=LTWDSet&mType=m_json_utf&IDObject=25
co neuvedo do parametru, pokus se vyzobat z form-data!! ENUM NE
e1key=fdfgdfg
IDObject=44
idcust=33
vsechny ostatni body-parametry jdou pak do PARAMS

Volanie akcie

API – anonymní metody (nejsou v helpu) prime volani query/akce/setu:

POST: api/yDirectData/CallData1  

public sAnyData CallData1([FromUri]int idcust, [FromBody]aParsExt pars)

GET: api/yDirectData/CallData2 a CallData3

public sAnyData CallData2([FromUri]int idcust,[FromUri]string e1key, [FromUri]aParsExt pars)

public IHttpActionResult CallData3([FromUri]int idcust, [FromUri]string e1key, [FromUri]aParsExt pars)

  • Vzniklá nová API metoda, nevyžadující jméno/heslo
    • Vyžaduje “auth key”, ten se nastavuje v Dashboard-permisions-

Vytočím si k uživateli klíč a ten pak mohu použít místo jména hesla(pod tímto uživatelem pak příkazy běží)

  • Volá se přes api „/api/yDirectData/CallData1?idcust={0}“
  • Lze posilat SELECTy a UPDATy, prikazy napřímo, i s parametry
  • Lze volat SETy a AKCe, i s parametry
  • Pro role uživatele WebAdmin a DiagAdmin, lze volat SETy i AKCE proti GW sql připojeni = NEBEZBECNE, bude zrušeno
  • Pro ostatní uživatele jede striktně proti vnitřní sqlite db(bezpečnost)

Příklad voláni konkrétní akce, kdy z klienta NECHCI znát sql příkaz, ale akorát poslad IDAkce(2) a Parametry(3)(parametrů mohu poslat více,žádný… dle potřeby = předpokládám že si je nadefinujete v mfiles, obecně vznikne v package definice:
– pro čtení z interní
– akce pro zápis do interní)

Iba role WebAdmin a DiagAdmin môžu volať akcie voči SQL connection bráný, ostatní iba voči internej databáze