Monet žinynas

Monet žinynas

API

Monet services

Skaitymo laikas, apytiksliai: 18 minutės 397 peržiūros (-ų)


Įvadas

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


Servisai

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)


Authorize()

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šą.


GetLanguage()

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šą.


GetSalesInvoice(string)

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šą.


PostPurch(PurchOrder)

Registruojama pirkimo sąskaita, parametras PurchOrder order . Parametro aprašymas čią. Gražina sąskaitos numerį.


PostSales(SalesOrder)

Registruojama pardavimo sąskaita, parametras SalesOrder order . Parametro aprašymas čią. Gražina sąskaitos numerį.


InsertCust(Customer)

Įrašo naują klientą, parametras Customer . Parametro aprašymas čią. Gražina HttpStatusCode.OK arba HttpStatusCode.NotAcceptable ir klaidos pranešimą.


UpdateCust(Customer)

Atnaujina esamą klientą, parametras Customer . Parametro aprašymas čią. Gražina HttpStatusCode.OK arba HttpStatusCode.NotAcceptable ir klaidos pranešimą.


InsertItem(Item)

Įrašo naują prekę, parametras Item . Parametro aprašymas čią. Gražina HttpStatusCode.OK arba HttpStatusCode.NotAcceptable ir klaidos pranešimą.


UpdateItem(Item)

Atnaujina esamą prekę, parametras Item . Parametro aprašymas čią. Gražina HttpStatusCode.OK arba HttpStatusCode.NotAcceptable ir klaidos pranešimą.


InsertVend(Vendor)

Įrašo naują tiekėją, parametras Vendor . Parametro aprašymas čią. Gražina HttpStatusCode.OK arba HttpStatusCode.NotAcceptable ir klaidos pranešimą.


UpdateVend(Vendor)

Atnaujina esamą tiekėją, parametras Vendor . Parametro aprašymas čią. Gražina HttpStatusCode.OK arba HttpStatusCode.NotAcceptable ir klaidos pranešimą.


SetLanguage(string)

Nustatoma nauja kliento kalba. Parametras – kalbos kodas.


SetCompany(string)

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į.


DeleteTrans(string voucher)

Trina DK operaciją, parametras string voucher (kvitas). Gražina true, jei pavyko, arba false, jei ne. Http metodas – DELETE.


Objektai

 Servisai gražina šiuos objektus:


Company

Administruojama įmonė

public class Company

    {

        public string ID { get; set; }

        public string Name { get; set; }

    }


CurrencyCode

Valiuta

public class CurrencyCode

    {

        public string Id { get; set; }

        public string Name { get; set; }

    }


CustInvoice

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; }

    }


Customer

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; }

    }


Item

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; }

    }


ItemGroup

Prekės grupė

public class ItemGroup

    {

        public string Id { get; set; }

        public string Name { get; set; }

    }


ItemType

Prekės tipas

public class ItemType

    {

        public string Id { get; set; }

        public string Name { get; set; }

    }


Location

Sandėlis

public class Location

    {

        public string Id { get; set; }

        public string Name { get; set; }

    }


Ledger

DK sąskaita

public class Ledger

    {

        public string Id { get; set; }

        public string Name { get; set; }

    }


Service

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; }

    }


Dim

Požymiai

public class Dim

    {

        public int Type { get; set; }

 public string Id { get; set; }

        public string Name { get; set; }

    }


PurchOrder

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; }

    }


PurchOrder.PurchOrderLine

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; }

        }


PurchServiceOrder

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; }

        }


SalesOrder

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; }

    }


SalesOrder.SalesOrderLine

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; }

        }


SalesServiceOrder

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; }

        }


TaxItemGroup

Prekės PVM kodas

public class TaxItemGroup

    {

        public string Id { get; set; }

        public string Name { get; set; }

    }


VendInvoice

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; }

    }


Vendor

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; }

    }


LedgerJournalLine

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).


Pavyzdžiai

API pavyzdžiai, parašyti C# kalba.


Kliento sukūrimas

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;

        }


Klientų sąrašas

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;

        }