GithubHelp home page GithubHelp logo

superfakturaapi.net's Introduction

SuperFakturaAPI.NET

.NET client library for SuperFaktura API. Codes are wrapped as .net Shared Library. So you can download them and include into your programs or .dll libraries. Library uses System.Net.Http.HttpClient as communication layer and Newtonsoft.Json for serialization and deserialization

Implementation used by FinStat.sk

Client structure

The main api client has this hierarchy. Most of used classes is from Birko.SuperFaktura namespace

1. SuperFaktura

Also: SuperFakturaCZ and SuperFakturaAT Main class. Ensures the propper API calling, serialization of request parameters and deserialization of response from SuperFaktura servers. It ensures that the delay between api calls is more than 1 second.

1.1. Public Properties

  • EnsureSucccessStatusCode - boolean, default true. Switches the behaviour if System.Net.Http.HttpClient should raise exception for not succesfull response
  • Clients - instance of Clients class, description bellow
  • Expenses - instance of Expenses class, description bellow
  • Invoices - instance of Invoices class, description bellow
  • Stock - instance of Stock class, description bellow

1.2. Public Methods

  • SuperFaktura(string email, string apiKey, string apptitle = null, string module = "API", int? companyId = null) - constructor. email and apiKey are mandatory parameters. Given from SuperFaktura.
  • GetCountries() - returns Dictionary of available countries from servers. Key: is the country ID, Value: is country name
  • GetSequences() - returns Dictionary of available sequences in your SuperFactura account, Key: is the sequence name ID, Value: is array of Response.Sequence objects
  • GetTags() - returns Dictionary of your used tags from servers. Key: is the tag ID, Value: is tag name
  • GetLogos() - returns array of Response.Logo objects. List of logos uploaded to SuperFaktura
  • Register(string email, bool sendEmail) - registers new user to your SuperFaktura account.
  • CashRegister(int id, Request.PagedSearchParameters filter, bool listInfo) gets the cash register infos

2. Clients

Class that wrappes all API calls for clients handling in SuperFaktura. Used namespaces:

  • Birko.SuperFaktura.Request.Client
  • Birko.SuperFaktura.Response
  • Birko.SuperFaktura.Response.Client

2.1. Public Methods

  • Get(Request.Client.Filter filter, bool listInfo) - returns lists of clients according filter
  • Save(Request.Client.Client client) - saves client
  • AddContactPerson(Request.Client.ContactPerson person) - add client contact person

3. Expenses

Class that wrappes all API calls for expenses handling in SuperFaktura. Used namespaces:

  • Birko.SuperFaktura.Request.Expense
  • Birko.SuperFaktura.Response
  • Birko.SuperFaktura.Response.Expense

3.1. Public Methods

  • Get(int ID) - gets Expense according ID. as System.Dynamic.ExpandoObject data
  • Get(Request.Expense.Filter filter, bool listInfo) - gets list of expenses according filter
  • Delete(int ID) - deletes expense with given ID from SuperFaktura servers
  • Save(Request.Expense.Expense expense) - saves expense
  • Edit(Request.Expense.Expense expense) - updates expense
  • Pay(Request.Expense.Payment payment) - adds payment to expense
  • GetExpenseCategories() - returns list of ExpenseCategories
  • DeletePayment(int expensePaymentID) - deletes expense payment

4. Invoices

Class that wrappes all API calls for expenses invoice in SuperFaktura. Used namespaces:

  • Birko.SuperFaktura.Request.Client
  • Birko.SuperFaktura.Request.Invoice
  • Birko.SuperFaktura.Response
  • Birko.SuperFaktura.Response.Invoice

4.1. Public Methods

  • Get(int ID) - gets Invoice according ID
  • Get(Request.Invoice.Filter filter, bool listInfo) - gets list of invoices according filter
  • Pay(Request.Invoice.Payment payment) - adds payment to invoice
  • GetPdf(int invoiceId, string token, string language) - gets the pdf for given invoice as byte array
  • SetInvoiceLanguage(int ID, string language) - sets the default language for given invoice
  • MarkAsSent(Request.Invoice.MarkEmail email) - marks given email to invoice as send
  • SendEmail(Request.Invoice.Email email) - sends Email with invoice
  • Save(Request.Invoice.Invoice invoice, Client client, Request.Invoice.Item[] items, int[] tags = null, Setting setting = null, Extra extra = null) - creates new invoice
  • Update(Request.Invoice.Invoice invoice, Client client, Request.Invoice.Item[] items, int[] tags = null, Setting setting = null, Extra extra = null) - updates invoice
  • DeleteItem(int invoiceID, int itemID) - deletes item from invoice
  • DeleteItem(int invoiceID, int[] itemID) - deletes items from invoice
  • Delete(int invoiceID) - deletes invoice
  • SendPost(Post post) - send invoice throw regular post
  • DeletePayment(int invoicePaymentID) - deletes invoice payment
  • SendSMS(Request.Invoice.SMS data) - sends SMS message

5. Stock

Class that wrappes all API calls for stock handling in SuperFaktura. Used namespaces:

  • Birko.SuperFaktura.Request.Stock
  • Birko.SuperFaktura.Response
  • Birko.SuperFaktura.Response.Stock

5.1. Public Methods

  • Get(int ID) - gets stock item according ID
  • Get(Filter filter, bool listInfo = true) - gets list of stock items according filter
  • Save(Request.Stock.Item item) - saves stock item
  • Edit(Request.Stock.Item item) - updates stock item
  • Delete(int ID) - deletes stock item
  • AddStockMovement(IEnumerable<Request.Stock.Log> items) - adds stock movement logs to stock item
  • AddStockMovement(Request.Stock.Log item) - adds stock movement log to stock item

superfakturaapi.net's People

Contributors

birko avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.