1. Pieslēgšanās
Turpmākie piemēri ir pieslēgumam ar demo lietotāju MONEO demo kompānijai.
Lai pieslēgtos savai MONEO kompānijai, jāmaina pieslēgšanās dati. Tos var atrast:
MONEO > Palīdzība > Servera informācija
Pieslēgšanās demo kompānijai:
https://denali.moneo.lv:15000/api/login/ (šī ir MONEO API adrese) - struktūra ir JSON ar post pieprasījumu. compuid piemērā satur demo kompānijas ID.
{ "user":"demo", "passwd":"demo", "compuid":"53F98A26-041ECDF6-4CF71DCD-0474B2B3-B7C42FD6" }
- kur "user" ir lietotāja vārds
- "passwd" ir lietotāja parole
- "compuid" ir MONEO Kompānijas ID
Piemērs:
curl -d '{"user":"demo", "passwd":"demo", "compuid":"53F98A26-041ECDF6-4CF71DCD-0474B2B3-B7C42FD6"}' https://denali.moneo.lv:15000/api/login/
atbilde būs šāda:
{ "id": null, "terminal": "", "contactname": "Jānis Bērziņš", "contactid": "1002", "jsonrpc": "2.0", "userid": 19, "sessionid": "07287ea7-f0a574c6-13f34bf1-cf0bea2e-3bc87e0b" }
Atgrieztais sessionid ir jāsaglabā un jāizmanto turpmākajos pieprasījumos. Vecie session id tiek slēgti pēc 24 stundām.
2. Sesijas slēgšana
https://denali.moneo.lv:15000/api/logout/ - struktūra ir JSON ar post pieprasījumu
{ "userid":"demo", "sessionid":"07287ea7-f0a574c6-13f34bf1-cf0bea2e-3bc87e0b" }
3. Datu lasīšana
Pieprasījums arī POST ar json struktūru: https://denali.moneo.lv:15000/api/v2/sales.invoices
Kā izsaukt MONEO biežāk lietotās tabulas, lasi šeit
{ "filter":{"custcode":"1042"}, "fieldlist":["custcode","custname","sernr"], "request":{ "compuid":"53F98A26-041ECDF6-4CF71DCD-0474B2B3-B7C42FD6", "sessionid":"07287ea7-f0a574c6-13f34bf1-cf0bea2e-3bc87e0b" } }
Piemērs:
curl -d '{"filter":{"custcode":"1042"}, "fieldlist":["custcode","custname","sernr"], "request":{"compuid":"53F98A26-041ECDF6-4CF71DCD-0474B2B3-B7C42FD6", "sessionid":"XXX"}}' https://denali.moneo.lv:15000/api/v2/sales.invoices
- request tiek formēts vienādi - tas saturēs compuid un sessionid
- fieldlist ļauj atlasīt tikai tos laukus, kurus vēlamies iegūt. Ja ir liels datu pieprasījums, vēlams samazināt lauku sarkastu izmatojot šo parametru. Ja parametru neizmanto, tiks nosūtīts pilns lauku saraksts, bet jāņem vērā, ka par katru apakštabulu (subtable) galvas rindu saraksts tiek daudzkāršots, tādēļ pieprasot piemēram rēķina rindas ar galvu vēlams norādīt, kuru subtable tieši nepieciešams, jo rēķinos ir vairāki subtable (artikuli, kredītrēķini, priekšapmaksas, aģenti)
- filter ļauj filtrēt datus. Pamatpierakstā lauka un lauka vērtības key-value pāris.
Atbildes piemērs:
{
"result": {
"records": [
{
"custcode": "1003",
"sernr": 200001,
"custname": "Testa firma"
},
{
"custcode": "1003",
"sernr": 200002,
"custname": "Testa firma"
},
{
"custcode": "1003",
"sernr": 200003,
"custname": "Testa firma"
},
{
"custcode": "1003",
"sernr": 200004,
"custname": "Testa firma"
}
]
}
}
- result saturēs list elementu, kurā pirmais elements ir lauku saraksts, otrais ir lauku vērtības un trešais ir datu tipi laukiem. Svarīgais tur ir result, kurā ir trīs elementi - lauku saraksts, sekojoši dati pret lauku sarakstu un datu tipi priekš laukiem.
4. Resursi, kas nav tabulas
Pastāv iespēja izsaukt metodi, kas atgriež vērtības, kuras nav tiešs tabulas saturs. Metodes izsaukšana notiek ar sekojošu pieprasījumu: https://denali.moneo.lv:15000/api/method/[app_name].[method name]
{“params”:[“arg1”,“arg2”,“arg3”…], “request”:{“compuid”:[compuid], “sessionid”:[sessionid]}}
piemēram https://denali.moneo.lv:15000/api/method/stock.getstockquantforitemlist
{ "params":[ ["013G4155" ,"013G4156" ,"013G4190" ,"0600-02.000" ,"0600-02.553" ,"0600-03.000" ,"0600-03.553"], "MWH" ], "request":{ "compuid":"130C0585-60605033-D3BEEE44-5505ECA5-2B107BD8", "sessionid":"d47076e0-200dc74d-fa76a618-dbc09703-8f451e2d" } }
atbilde:
result":[ ["12.00", "48.00", "0.00", …] ]
Šobrīd pieejamās metodes:
- stock.getStockQuantForItemList - noliktavas atlikums artikulu sarakstam. Parametri: artikulu saraksts (list elements) un noliktavas kods
- stock.getStockQuant - noliktavas atlikums vienam artikulam. Parametri: artikula kods (obligāts), partijas numurs (optional), noliktava (optional), datums (optional)
- stock.getItemDeficiencyInfo - noliktavas atlikums artikulu sarakstam mīnus rezervētie daudzumi saistītajās tabulās, piemēram, neizpildītos klientu pasūtījumos, negrāmatotajās norakstīšanās un citur. Metodes parametri sakrīt ar atskaites Iztrūkstošo preču pārskats atlases parametriem.
Piemēram: POST http://127.0.0.1:15000/api/method/stock.getItemDeficiencyInfo
5. Ierakstu veidošana
REST API ļauj veikt arī datu ierakstīšanu.
Pieprasījuma formāts ir sekojošs:
https://denali.moneo.lv:15000/api/[table name]/create/
{“data”:{“tablename”:{“fieldlist”:[“field1”,“field2”],“data”:[ [“value1,”value2“] ]}, “request”:{“compuid”:[compuid], “sessionid”:[sessionid]}}
Piemērs: https://denali.moneo.lv:15000/api/sorders.orders/create/
{ "data":{ "sorders.orders":{ "fieldlist":["custcode","pricelist","currency","comment"], "data":[ ["2001", "21", "EUR", "Test comment"] ] }, "sorders.orders_items_rows":{ "fieldlist":["itemcode","quant"], "data":[ ["001","13.1"] , ["101","10.99"]] } }, "request":{ "compuid":"130C0585-60605033-D3BEEE44-5505ECA5-2B107BD8", "sessionid":"d47076e0-200dc74d-fa76a618-dbc09703-8f451e2d" } }
6. Ieraksta datu atjaunošana
Ieraksta datus ir iespējams atjaunot izmantojot REST API.
Pieprasījuma formāts:
https://[ServerUrl]:[Port]/api/[TableName]/update/[PrimaryKey]
{
"data":{
"items.itemgroups":{
"fieldlist":["name"],
"data":[
["Testa grupa 1 (mainits)"]
]
}
},
"request":{
"compuid":"130C0585-60605033-D3BEEE44-5505ECA5-2B107BD8",
"sessionid":"d47076e0-200dc74d-fa76a618-dbc09703-8f451e2d"
}
}
Komentāri
0 comments
Lūdzu ieejiet lai varētu pievienot komentāru.