Objektas Rivile API v2 (REST web service) užklausoms formuoti
(nuo 115 RIV_GAMA versijos)
Sintaksė
V_RIV_API([modul],[ApiKey])
Grąžina
Simbolinę reikšmę
Parametrai
Parametras | Aprašymas | Formatas |
---|---|---|
modul | patikslinamas modulis, kuriam priskirtas API raktas parametre SS_RIV_API | C(2) |
ApiKey | nurodomas API raktas | C |
Papildomos užklausos "Request Header" savybės:
* ApiKey - automatiškai užpildomas pagal perduotą raktą arba iš parametro SS_RIV_API
* Url - pagal nutylėjimą "https://api.manorivile.lt/client/v2"
* Send_Method - pagal nutylėjimą "POST"
* Json - pagal nutylėjimą naudojamas apsikeitimas Json formatu (.T.)
Siuntimas vykdomas metodu: Send([cMethod], [cOper], [cBody], [cParams]) - grąžina .T. jei nebuvo klaidų
* cMethod - nurodomas metodas, pvz.: "GET_I06_LIST"
* cOper - nurodomas veiksmas, pvz.: "H"
* cBody - nurodomas duomenų turinys ar filtravimo sąlygos, pvz.: "I06_OP_TIP=51"
* cParams - galima nurodyti pilną jau suformuotą užklausos tekstą, kuris bus siunčiamas į Rivile API
Atsakymai grąžinami:
* message - klaidos tekstas
* responseText - tekstinis atsakymas
* responseJson() - atsakymas Json objektu
Pavyzdžiai
m.loRivApi=v_riv_api()
IF !m.loRivApi.SEND("GET_N08_LIST","H","1=0") && Pratestuojame prisijungimą prie bazės (klientų sąrašo)
l_MESSAGEBOX("Rivile API: "+m.loRivApi.MESSAGE,16,"Klaida!")
RETURN .F.
ENDIF
loRivApi=v_riv_api()
IF !loRivApi.Send("EDIT_N08","I","<N08><N08_PAV>Naujas klientas</N08_PAV><N08_KODAS_DS>PT001</N08_KODAS_DS><N08_RUSIS>1</N08_RUSIS><N08_KODAS_XS_P>PVM</N08_KODAS_XS_P><N08_TIPAS>2</N08_TIPAS></N08>")
f_info("Klaida kuriant klienta: "+m.loRivApi.Message,.T.)
RETURN .F.
ENDIF
** Atnaujiname informaciją klientų sąraše (grid'e)
IF USED("Wn08") AND TYPE("titi_pagr.ads_klij")="O"
m.loN08=m.loRivApi.responsejson()
SELECT Wn08
LOCATE FOR n08_kodas_ks=m.loN08.n08.n08_kodas_ks
IF !FOUND()
APPEND BLANK
ENDIF
GATHER NAME m.loN08.n08 FIELDS LIKE n08_*
=vyk_upd("Wn08")
titi_pagr.ads_klij.activate()
ENDIF
m.loRivApi=v_riv_api("RO")
IF !loRivApi.Send("EDIT_I07","U","<I07><I07_KODAS_PO>"+Wi06r.i06_kodas_po+"</I07_KODAS_PO><I07_EIL_NR>1</I07_EIL_NR><I07_KODAS_IS>02</I07_KODAS_IS></I07>")
RETURN .F.
ENDIF
m.loRivApi=v_riv_api("RO")
IF !loRivApi.Send("EDIT_I06","P","<I06><I06_KODAS_PO>"+Wi06r.i06_kodas_po+"</I06_KODAS_PO></I06>")
RETURN .F.
ENDIF
** Atnaujiname informaciją pardavimų sąraše (grid'e)
IF USED("Wi06r") AND TYPE("titi_pagr.ads_prh")="O"
m.loI06=m.loRivApi.responsejson()
SELECT Wi06r
LOCATE FOR i06_kodas_po=m.loI06.i06.i06_kodas_po
IF !FOUND()
APPEND BLANK
ENDIF
GATHER NAME m.loI06.i06 FIELDS LIKE i06_*
=vyk_upd("Wi06r")
titi_pagr.ads_prh.activate()
ENDIF
m.loRivApi=v_riv_api()
lcReq=""
lcReq=lcReq+"<body>"
lcReq=lcReq+" <method>EDIT_PAP</method>"
lcReq=lcReq+" <data>"
lcReq=lcReq+" <PAP>"
lcReq=lcReq+" <forma>KSN08</forma>"
lcReq=lcReq+" <kodas1>121411842</kodas1>"
lcReq=lcReq+" <papXML>"
lcReq=lcReq+" <![CDATA["
lcReq=lcReq+" <lpap>"
lcReq=lcReq+" <pap>"
lcReq=lcReq+" <id>1</id>"
lcReq=lcReq+" <value>Testas</value>"
lcReq=lcReq+" </pap>"
lcReq=lcReq+" <pap>"
lcReq=lcReq+" <name>Skola</name>"
lcReq=lcReq+" <value>100.55</value>"
lcReq=lcReq+" </pap>"
lcReq=lcReq+" </lpap>"
lcReq=lcReq+" ]]>"
lcReq=lcReq+" </papXML>"
lcReq=lcReq+" </PAP>"
lcReq=lcReq+" </data>"
lcReq=lcReq+"</body>"
IF !m.loRivApi.Send("EDIT_PAP",,,m.lcReq)
f_info("Klaida įkeliant papildomus laukus: "+m.loRivApi.Message,.T.)
RETURN .F.
ENDIF