Monet services
Servisų adresas https://e.monet.lt/DesktopModules/MonetServices2/API/v2/
Demo vartotojo vardas: demo
Slaptažodis: demo321
Daugiau informacijos ir pavyzdžių: https://documenter.getpostman.com/view/35957649/2sA3sAg7R9
Pateikiamos visos operacijos, kurias integruojanti sistema gali naudoti norint gauti, pakeisti, įrašyti duomenis ar iškviesti funkcijas Monet aplinkoje. Operacijos įgyvendintos REST servisų principu: jos pasiekiamos siunčiant HTTP POST/GET/PUT užklausas. Galimi šie servisai:
- Authorize()
- GetCompanyList([int], [int], [string])
- GetCurrencyCodeList([int], [int], [string])
- GetCustInvoiceList([int], [int], [string])
- GetCustList([int], [int], [string])
- GetItemGroupList([int], [int], [string])
- GetItemList([int], [int], [string])
- GetItemTypeList([int], [int], [string])
- GetLanguage()
- GetLocationList([int], [int], [string])
- GetSalesInvoice(string)
- GetTaxItemGroupList([int], [int], [string])
- GetVendInvoiceList([int], [int], [string])
- GetVendList([int], [int], [string])
- PostPurch(PurchOrder)
- PostSales(SalesOrder)
- InsertCust(Customer)
- InsertItem(Item)
- InsertVend(Vendor)
- UpdateCust(Customer)
- UpdateItem(Item)
- UpdateVend(Vendor)
- SetLanguage(string)
Autorizuoja ir gražina įmonės, kurią pasirinkęs vartotojas, pavadinimą.
GetCompanyList([int], [int], [string])
Galimi parametrai: int _page = 0, int _size = 30, string _search = „”
_page – puslapio numeris.
_size- puslapio dydis.
_search- paieškos frazė.
Gražina Company objektų sąrašą.
GetCurrencyCodeList([int], [int], [string])
Galimi parametrai: int _page = 0, int _size = 30, string _search = „”
_page – puslapio numeris.
_size- puslapio dydis.
_search- paieškos frazė.
Gražina CurrencyCode objektų sąrašą.
GetCustInvoiceList([int], [int], [string])
Galimi parametrai: int _page = 0, int _size = 30, string _search = „”
_page – puslapio numeris.
_size- puslapio dydis.
_search- paieškos frazė.
Gražina CustInvoice objektų sąrašą.
GetCustList([int], [int], [string])
Galimi parametrai: int _page = 0, int _size = 30, string _search = „”
_page – puslapio numeris.
_size- puslapio dydis.
_search- paieškos frazė.
Gražina Customer objektų sąrašą.
GetItemGroupList([int], [int], [string])
Galimi parametrai: int _page = 0, int _size = 30, string _search = „”
_page – puslapio numeris.
_size- puslapio dydis.
_search- paieškos frazė.
Gražina ItemGroup objektų sąrašą.
GetItemList([int], [int], [string])
Galimi parametrai: int _page = 0, int _size = 30, string _search = „”
_page – puslapio numeris.
_size- puslapio dydis.
_search- paieškos frazė.
Gražina Item objektų sąrašą.
GetItemTypeList([int], [int], [string])
Galimi parametrai: int _page = 0, int _size = 30, string _search = „”
_page – puslapio numeris.
_size- puslapio dydis.
_search- paieškos frazė.
Gražina ItemType objektų sąrašą.
Gražina kalbos kodą.
GetLocationList([int], [int], [string])
Galimi parametrai: int _page = 0, int _size = 30, string _search = „”
_page – puslapio numeris.
_size- puslapio dydis.
_search- paieškos frazė.
Gražina Location objektų sąrašą.
Parametras: string invoiceId – sąskaitos numeris. Gražina sąskaitą PDF formatu.
GetTaxItemGroupList([int], [int], [string])
Galimi parametrai: int _page = 0, int _size = 30, string _search = „”
_page – puslapio numeris.
_size- puslapio dydis.
_search- paieškos frazė.
Gražina TaxItemGroup objektų sąrašą.
GetVendInvoiceList([int], [int], [string])
Galimi parametrai: int _page = 0, int _size = 30, string _search = „”
_page – puslapio numeris.
_size- puslapio dydis.
_search- paieškos frazė.
Gražina VendInvoice objektų sąrašą.
GetVendList([int], [int], [string])
Galimi parametrai: int _page = 0, int _size = 30, string _search = „”
_page – puslapio numeris.
_size- puslapio dydis.
_search- paieškos frazė.
Gražina Vendor objektų sąrašą.
Registruojama pirkimo sąskaita, parametras PurchOrder order . Parametro aprašymas čią. Gražina sąskaitos numerį.
Registruojama pardavimo sąskaita, parametras SalesOrder order . Parametro aprašymas čią. Gražina sąskaitos numerį.
Įrašo naują klientą, parametras Customer . Parametro aprašymas čią. Gražina HttpStatusCode.OK arba HttpStatusCode.NotAcceptable ir klaidos pranešimą.
Atnaujina esamą klientą, parametras Customer . Parametro aprašymas čią. Gražina HttpStatusCode.OK arba HttpStatusCode.NotAcceptable ir klaidos pranešimą.
Įrašo naują prekę, parametras Item . Parametro aprašymas čią. Gražina HttpStatusCode.OK arba HttpStatusCode.NotAcceptable ir klaidos pranešimą.
Atnaujina esamą prekę, parametras Item . Parametro aprašymas čią. Gražina HttpStatusCode.OK arba HttpStatusCode.NotAcceptable ir klaidos pranešimą.
Įrašo naują tiekėją, parametras Vendor . Parametro aprašymas čią. Gražina HttpStatusCode.OK arba HttpStatusCode.NotAcceptable ir klaidos pranešimą.
Atnaujina esamą tiekėją, parametras Vendor . Parametro aprašymas čią. Gražina HttpStatusCode.OK arba HttpStatusCode.NotAcceptable ir klaidos pranešimą.
Nustatoma nauja kliento kalba. Parametras – kalbos kodas.
Nustatoma nauja kliento įmonė. Parametras – įmonės kodas (3 simboliai).
GetServiceList([int], [int], [string])
Galimi parametrai: int _page = 0, int _size = 30, string _search = „”
_page – puslapio numeris.
_size- puslapio dydis.
_search- paieškos frazė.
Gražina Service objektų sąrašą.
GetDimList([int], [int], [string])
Galimi parametrai: int _type, int _page = 0, int _size = 30, string _search = „”
_type – požymio tipas. Galimos 3 reikšmės: 0 – padalinys, 1 – projektas, 2 – produktas.
_page – puslapio numeris.
_size- puslapio dydis.
_search- paieškos frazė.
Gražina Dim objektų sąrašą.
PostPurchService(PurchServiceOrder)
Registruojama paslaugų pirkimo sąskaita, parametras PurchServiceOrder order . Parametro aprašymas čią. Gražina sąskaitos numerį.
PostSalesService(SalesServiceOrder)
Registruojama paslaugų pardavimo sąskaita, parametras SalesServiceOrder order . Parametro aprašymas čią. Gražina sąskaitos numerį.
PostLedgerJournal(LedgerJournalLine line)
Registruojama DK operacija, parametras LedgerJournalLine line . Parametro aprašymas čią. Gražina kvito numerį.
Trina DK operaciją, parametras string voucher (kvitas). Gražina true, jei pavyko, arba false, jei ne. Http metodas – DELETE.
Servisai gražina šiuos objektus:
- Company
- CurrencyCode
- CustInvoice
- Customer
- Item
- ItemGroup
- ItemType
- Location
- PurchOrder
- PurchOrder.PurchOrderLine
- SalesOrder
- SalesOrder.SalesOrderLine
- TaxItemGroup
- VendInvoice
- Vendor
Administruojama įmonė
public class Company
{
public string ID { get; set; }
public string Name { get; set; }
}
Valiuta
public class CurrencyCode
{
public string Id { get; set; }
public string Name { get; set; }
}
Pardavimo sąskaita
public class CustInvoice
{
public string Invoice { get; set; }
public string CustomerId { get; set; }
public string CustomerName { get; set; }
public DateTime Date { get; set; }
public decimal InvoiceAmount { get; set; }
public decimal TaxAmount { get; set; }
public string Currency { get; set; }
}
Klientas
public class Customer
{
public string ID { get; set; }
public string Name { get; set; }
public string EnterpriseCode { get; set; }
public string VATNum { get; set; }
public string Email { get; set; }
public string Currency { get; set; }
public string Address { get; set; }
public string Phone { get; set; }
public string Notes { get; set; }
}
Prekė
public class Item
{
public string ItemId { get; set; }
public string Name { get; set; }
public string Group { get; set; }
public string Type { get; set; }
public string TaxItemGroup { get; set; }
public decimal Price { get; set; }
public string Location { get; set; }
}
Prekės grupė
public class ItemGroup
{
public string Id { get; set; }
public string Name { get; set; }
}
Prekės tipas
public class ItemType
{
public string Id { get; set; }
public string Name { get; set; }
}
Sandėlis
public class Location
{
public string Id { get; set; }
public string Name { get; set; }
}
DK sąskaita
public class Ledger
{
public string Id { get; set; }
public string Name { get; set; }
}
Paslauga
public class Service
{
public string ServiceId { get; set; }
public string Name { get; set; }
public string PurchLedgerAccount { get; set; }
public decimal PurchPrice { get; set; }
public string PurchTaxItemGroup { get; set; }
public string SalesLedgerAccount { get; set; }
public decimal SalesPrice { get; set; }
public string SalesTaxItemGroup { get; set; }
}
Požymiai
public class Dim
{
public int Type { get; set; }
public string Id { get; set; }
public string Name { get; set; }
}
Pirkimo užsakymas
public class PurchOrder
{
public string VendorId { get; set; }
public string PurchId { get; set; }
public DateTime Date { get; set; }
public DateTime DueDate { get; set; }
public bool InclTax { get; set; }
public string Notes { get; set; }
public string InvoiceId { get; set; }
public List<string> Dim { get; set; }
public List<PurchServiceLine> PurchServiceLines { get; set; }
}
Pirkimo užsakymo eilutė
public class PurchOrderLine
{
public string PurchId { get; set; }
public string ItemId { get; set; }
public string Name { get; set; }
public decimal Qty { get; set; }
public decimal LinePercent { get; set; }
public decimal Price { get; set; }
public decimal Amount { get; set; }
public string Location { get; set; }
public string TaxItemGroup { get; set; }
}
Paslaugų pirkimo užsakymas
public class PurchServiceOrder
{
public string VendorId { get; set; }
public DateTime Date { get; set; }
public DateTime DueDate { get; set; }
public bool InclTax { get; set; }
public string InvoiceId { get; set; }
public List<string> Dim { get; set; }
public List<PurchOrderLine> PurchOrderLines { get; set; }
}
PurchServiceOrder.PurchServiceLine
Paslaugų pirkimo užsakymo eilutė
public class PurchServiceLine
{
public string Name { get; set; }
public decimal Amount { get; set; }
public string ServiceId { get; set; }
public string LedgerAccount { get; set; }
public string TaxItemGroup { get; set; }
}
Pardavimo užsakymas
public class SalesOrder
{
public string CustomerId { get; set; }
public string SalesId { get; set; }
public DateTime Date { get; set; }
public DateTime DueDate { get; set; }
public bool InclTax { get; set; }
public string Notes { get; set; }
public List<string> Dim { get; set; }
public List<SalesOrderLine> SalesOrderLines { get; set; }
}
Pardavimo užsakymo eilutė
public class SalesOrderLine
{
public string SalesId { get; set; }
public string ItemId { get; set; }
public string Name { get; set; }
public decimal Qty { get; set; }
public decimal LinePercent { get; set; }
public decimal Price { get; set; }
public decimal Amount { get; set; }
public string Location { get; set; }
public string TaxItemGroup { get; set; }
}
Paslaugų pardavimo užsakymas
public class SalesServiceOrder
{
public string CustomerId { get; set; }
public DateTime Date { get; set; }
public DateTime DueDate { get; set; }
public bool InclTax { get; set; }
public string Notes { get; set; }
public List<string> Dim { get; set; }
public List<SalesServiceLine> SalesServiceLines { get; set; }
}
SalesServiceOrder.SalesServiceLine
Paslaugų pardavimo užsakymo eilutė
public class SalesServiceLine
{
public string Name { get; set; }
public decimal Amount { get; set; }
public string ServiceId { get; set; }
public string LedgerAccount { get; set; }
public string TaxItemGroup { get; set; }
}
Prekės PVM kodas
public class TaxItemGroup
{
public string Id { get; set; }
public string Name { get; set; }
}
Pirkimo sąskaita
public class VendInvoice
{
public string Invoice { get; set; }
public string CustomerId { get; set; }
public string CustomerName { get; set; }
public DateTime Date { get; set; }
public decimal InvoiceAmount { get; set; }
public decimal TaxAmount { get; set; }
public string Currency { get; set; }
}
Tiekėjas
public class Vendor
{
public string ID { get; set; }
public string Name { get; set; }
public string EnterpriseCode { get; set; }
public string VATNum { get; set; }
public string Email { get; set; }
public string Currency { get; set; }
public string Address { get; set; }
public string Phone { get; set; }
public string Notes { get; set; }
}
DK eilutė
public class LedgerJournalLine
{
public string Currency { get; set; }
public string Account { get; set; }
public int AccountType { get; set; }
public decimal Debet { get; set; }
public decimal Credit { get; set; }
public DateTime Date { get; set; }
public string Txt { get; set; }
public string Profile { get; set; }
public string DocumentNum { get; set; }
public string AccountOffset { get; set; }
public int AccountTypeOffset { get; set; }
}
kur laukų AccountType ir AccountTypeOffset tipas yra skaičius. Jo reikšmės apsprendžia Account ir AccountOffset pobūdį
0 – DK
1 – Klientas
2 – Tiekėjas
5 – Ilgalaikis turtas
6 – Bankas
Pavyzdžiui, jei AccountType = 2, tai reiškia, kad lauke Account yra kliento kodas (identifikatorius).
API pavyzdžiai, parašyti C# kalba.
public async Task<HttpResponseMessage> InsertCust(Customer cust)
{
HttpClient httpClient = new HttpClient();
HttpResponseMessage response = null;
httpClient.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue(„Basic”,
Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes(string.Format(„{0}:{1}”, „demo”, „demo321”))));
JavaScriptSerializer jss = new JavaScriptSerializer();
string input = jss.Serialize(cust);
var httpContent = new StringContent(input, Encoding.UTF8, „application/json”);
response = await httpClient.PutAsync(„https://e.monet.lt/DesktopModules/MonetServices2/API/v2/InsertCust”, httpContent);
string answ = await response.Content.ReadAsStringAsync();
if (response.IsSuccessStatusCode)
{
…
}
return response;
}
public async Task<HttpResponseMessage> GetCustList(int _page = 0, int _size = 30, string _search = „”)
{
HttpClient httpClient = new HttpClient();
HttpResponseMessage response = null;
System.Collections.Generic.IList<Customer> customers;
httpClient.DefaultRequestHeaders.Authorization =
new AuthenticationHeaderValue(„Basic”,
Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes(string.Format(„{0}:{1}”, „demo”, „demo321”))));
response = await httpClient.GetAsync(string.Format(„https://e.monet.lt/DesktopModules/MonetServices2/API/v2/GetCustList?_page={0}&_size={1}&_search={2}”, _page, _size, _search));
string answ = await response.Content.ReadAsStringAsync();
if (response.IsSuccessStatusCode)
{
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(IList<Customer>));
MemoryStream sss = new System.IO.MemoryStream(System.Text.Encoding.UTF8.GetBytes(answ));
customers = (IList<Customer>)ser.ReadObject(sss);
}
return response;
}