Ši dokumentacija skirta padėti vartotojams suprasti ir naudotis Rivile ERP API sąsaja, pateikiant pagrindines naudojimo taisykles, užklausų struktūrą ir funkcinius reikalavimus.
OpenAPI specifikaciją galite rasti čia: RIVILE ERP_API(Swagger UI)
Nurodžius abi identifikavimo reikšmes užklausoje, bus naudojama ID reikšmė, nes taip užklausa veiks greičiau.
Kuriant įrašus dauguma laukų gali būti nepildomi, nes Rivile ERP automatiškai užpildys pagal ERP parametruose aprašytus nustatymus. Tačiau yra tam tikrų privalomų laukų, kuriuos būtina užpildyti reikšmėmis, kad įrašas būtų sėkmingai sukurtas. Privalomų laukų užpildymas priklauso nuo konkretaus įrašo tipo.
{
"clientCode": "000005",
"lines": [
{
"itemCode": "000002",
"uomAltCode": "VNT",
"qtyAlt": 1,
"departmentCode": "demo"
}
]
}
Privalomi Laukai:
clientId arba clientCode: Kliento ID arba kodas, su kuriuo siejama sąskaita ar užsakymas.lines:
itemId arba itemCode: Prekės / paslaugos ID arba kodas.uomAltId arba uomAltCode: Mato vieneto ID arba kodas.qtyAlt : kiekis nurodytu mato vienetu.departmentId arba departmentCode: Įmonės padalinio ID arba kodas.Sistema gavusi šią informaciją automatiškai užpildys: dokumentų numerį (pagal aprašytus skaitliukus), kainą (pagal aprašytą kainyną), datą ir pan., jeigu ji nebus užpildoma API duomenų perdavimo metu.
GET sąrašiniuose metoduose galimas duomenų filtravimas, kuris leidžia sujungti kelis filtrus naudojant logine funkcija AND .
Filtravimui galimi naudoti operatoriai:
CONTAINS: Tikrina, ar laukas turi nurodytą tekstą.NOT_CONTAINS: Tikrina, ar laukas neturi nurodyto teksto.EQUAL: Tikrina, ar laukas yra lygus nurodytam tekstui, skaičiui arba loginei reikšmei.NOT_EQUAL: Tikrina, ar laukas nėra lygus nurodytam tekstui arba skaičiui.GREATER_THAN: Tikrina, ar laukas yra didesnis nei nurodytas skaičius.LESS_THAN: Tikrina, ar laukas yra mažesnis nei nurodytas skaičius.GREATER_THAN_OR_EQUAL: Tikrina, ar laukas yra lygus ar didesnis nei nurodytas skaičius.STARTS_WITH: Tikrina, ar laukas prasideda nurodytu tekstu.ENDS_WITH: Tikrina, ar laukas baigiasi nurodytu tekstu.Pavyzdys:
Užduotis: Vykdyti filtravimą klientų, kurių pavadinime yra fragmentas "Demo" ir jie yra aktyvūs.
API filtrų sąlyga:
{ "operation": "CONTAINS", "name": "name", "value": "Demo" },
{ "operation": "EQUAL", "name": "active", "value": true }
Vykdant užklausą filtro JSON reikšmę reikia paversti eilute ir užkoduoti (URL Encode).
API GET užklausa su filtru turėtų atrodyti taip:
GET {{baseUrl}}/v1/clients?size=30&page=0&filter=%7B%22operation%22%3A%22CONTAINS%22%2C%22name%22%3A%22name%22%2C%22value%22%3A%22Demo%22%7D%2C%7B%22operation%22%3A%22EQUAL%22%2C%22name%22%3A%22active%22%2C%22value%22%3Atrue%7D
Filtruojant pagal datą (date):
YYYY-MM-DD - pilnas datos formatas
2025-09-01EQUAL, NOT_EQUAL, GREATER_THAN, LESS_THAN, GREATER_THAN_OR_EQUAL, LESS_THAN_OR_EQUALFiltruojant pagal datą ir laiką (datetime):
YYYY-MM-DDTHH:MM:SS.SSSZ - ISO 8601 formatas su laiko zona
2025-09-01T00:00:00.000ZT - datos ir laiko skyrybos simbolisHH:MM:SS - laikas 24 valandų formatu (valandos:minutės:sekundės).SSS - milisekundės (000-999)Z - UTC laiko zona (Zulu time)EQUAL, NOT_EQUAL, GREATER_THAN, LESS_THAN, GREATER_THAN_OR_EQUAL, LESS_THAN_OR_EQUAL{
"code": "error.purchase-invoice.create.lines",
"values": {
"path": "createPurchaseInvoiceLine",
"violations": {
"lines[0].itemUomAltCode": "ItemUomAlt not found - Metras",
"lines[3].itemCode": "Item not found - ABC123DEF"
}
}
}
violations struktūros paaiškinimas