[English]
 

Gama System® eTaxes SDK. eDavki preprosto.



Razvijalsko ogrodje Gama System eTaxes SDK omogoča preprosto povezovanje, vlaganje in sprejem dokumentov iz davčnega sistema edavki.durs.si.

Ogrodje je namenjeno razvijalcem poslovnih rešitev, ki želijo vzpostaviti integracijo za pošiljanje, pridobivanje in obvladovanje davčnih in ostalih dokumentov, podprtih s strani Davčnega urada Republike Slovenije.

Trenutna verzija: 1.0.6.08

Za dostop do Gama System® eTaxes SDK nam pišite na:


Podprte funkcionalnosti

Splošne lastnosti:
  • Zapis in branje poljubnega davčnega dokumenta
  • Pošiljanje, branje, shranjevanje, vlaganje dokumentov
  • Intuitiven, hierarhičen objektni model
  • Tipiziran dostop do lastnosti dokumenta
  • Preprosta komunikacija s sistemom
  • Podpora skladnemu digitalnemu podpisovanju
  • Podpora pametnim karticam
  • Podpora kvalificiranim digitalnim potrdilom
  • Razredi DursCommunicator, DursDocument, DursDocumentHeader, DursDocumentBody, DursDocumentSignature

Komunikacija s sistemom:
  • Preverjanje dokumentov
  • Izračunavanje dokumentov
  • Shranjevanje dokumentov
  • Vlaganje dokumentov
  • Pridobivanje seznamov dokumentov
  • Pridobivanje napak dokumentov
  • Prijava, odjava

Kriptografija:
  • Digitalno podpisovanje dokumentov
  • Preverjanje digitalnih podpisov novo generiranih dokumentov
  • Preverjanje digitalnih podpisov vrnjenih dokumentov
  • Preverjanje odjemalskih podpisov, strežniških podpisov in časovnega žiga
  • Preverjanje veljavnosti odjemalskega certifikata, strežniškega certifikata in certifikata časovnega žiga
  • Dostop do javnih ključev odjemalskega certifikata, strežniškega certifikata in certifikata časovnega žiga
  • Preverjanje certifikatske verige
Tehnične podrobnosti

Serializacija dokumentov:
  • Glava dokumenta
  • Telo dokumenta
  • Digitalni podpisi
  • Tipiziran dostop do lastnosti glave dokumenta
  • Tipiziran dostop do lastnosti telesa dokumenta
  • Popravljanje vsebine dokumentov
  • Dodajanje / popravljanje / brisanje elementov in atributov dokumenta
  • Dinamična serializacija v System.Xml.Linq.XDocument, System.XmlDocument, System.String.

Deserializacija dokumentov:
  • Branje poljubnega dokumenta iz XML reprezentacije
  • Branje poljubnega dokumenta iz lokalne datoteke
  • Branje poljubnega dokumenta iz toka
  • Glava dokumenta
  • Telo dokumenta
  • Digitalni podpisi
  • Kvalificirana digitalna potrdila
  • Dinamična deserializacija iz System.Xml.Linq.XDocument, System.XmlDocument, System.String.

Uporabljene tehnologije:
  • Microsoft Visual Studio 2008
  • Microsoft .NET Framework 3.5 SP1
  • System.Xml (DOM dostop do dokumenta)
  • System.Xml.Linq (LINQ to XML)
  • System.ServiceModel (Windows Communication Foundation)
  • System.Security.Cryptography (Digitalno podpisovanje, kvalificirana digitalna potrdila)
  • System.Security.Cryptography.Xml (XML Signature)


Arhitektura

Shema: Umestitev rešitve


Objektni model

Krovni razredi:
  • Davčni dokument: DursDocument
  • Glava davčnega dokumenta: DursDocumentHeader
  • Telo davčnega dokumenta: DursDocumentBody
  • Digitalni podpis davčnega dokumenta: DursDocumentSignature
Podporni razredi:
  • Podpora certifikatom: LocalCertificate
  • Podpora komunikaciji s sistemom: DursCommunicator
  • Davkoplačevalec: Taxpayer
  • Davčna številka: TaxNumber
  • Podtipi: DursDocumentType, DursDocumentDomain, DursDocumentDisplayData, EndpointType, LoginType, TaxpayerType, DursDocumentSignatureType
Objektni model omogoča dostop do vseh lastnosti davčnega dokumenta, pošiljanje, prejemanje, podpisovanje in preverjanje dokumentov.

Shema: Objektni model


Primeri uporabe

Izbira certifikata:
  • Omogoča izbiro odjemalskega certifikata. Možnosti so: neposredno iz shrambe, določene shrambe skupaj s pogoji iskanja, pametne kartice in uporaba izbirnega okna

    X509Certificate2 cert = LocalCertificate.GetCertificate(X509FindType.FindBySubjectName, "12345678");
Prijava, odjava:
  • Omogoča prijavo / odjavo v sistem edavki.durs.si

    DursCommunicator dc = new DursCommunicator(EndpointType.TestEndpoint, LoginType.ClientLogin);
    dc.Login(new TaxNumber("12345678"), TaxpayerType.Company);
    dc.Logout();
Izdelava dokumenta:
  • Omogoča tipizirano izdelavo davčnega dokumenta

    DursDocumentHeader header = new DursDocumentHeader(new TaxNumber("12345678"), TaxpayerType.Person);
    DursDocumentBody body = new DursDocumentBody(
      new XDocument(
        new XElement("OPSVZ",
          new XElement("DocumentWorkflowID", "O"),
          new XElement("F001", "2009-04-01"),
          new XElement("F001a", "2009-04-30")
        )));
    DursDocument document = new DursDocument(new Uri(StringLiterals.OPSVZElementNamespace), header, body);
Oblikovanje glave dokumenta:
  • Omogoča oblikovanje glave davčnega dokumenta, določitev davčnega zavezanca

    DursDocumentHeader header = new DursDocumentHeader(new TaxNumber("12345678"), TaxpayerType.Company);
    header.TaxpayerName = "Janez Novak";
    header.TaxpayerAddress1 = "Tehnološki park Ljubljana";
    header.TaxpayerAddress2 = "Pot za Brdom 100";
Oblikovanje telesa dokumenta:
  • Omogoča oblikovanje telesa davčnega dokumenta

    DursDocument document = new DursDocument();
    DursDocumentBody body = new DursDocumentBody();

    body.AppendChildElement(null, new XElement("root", new XElement("sub")));
    body.AppendChildElement("/root", "subs", null);
    body.AppendChildElement("/root/subs", "sub1", "1");
    body.AppendChildElement("/root/subs", "sub2", "2");
    body.AppendElement("/root/subs", "subs2", "another sub");
    body.DeleteElement("/root/subs/sub2");
    body.UpdateElement("/root/subs/sub1", "1.2");

    document.Body = body;
Digitalni podpis dokumenta:
  • Digitalno podpiše dokument s podpisom, ki je skladen s pričakovanji Davčnega urada Republike Slovenije

    DursDocument document = new DursDocument();
    document.Sign(DursDocumentDomain.ProductionDomain,
        cert, DursDocumentSignatureType.Depositor);
Vložitev dokumenta:
  • Omogoča digitalni podpis in dokončno vložitev dokumenta

    // generate document
    DursDocument document = new DursDocument();

    // update and calculate document
    et.UpdateDocumentData(document);
    et.CalculateDocumentData(document);

    // sign document
    document.Sign(DursDocumentDomain.ProductionDomain,
        cert, DursDocumentSignatureType.Depositor);

    // deposit document
    string docId = et.DepositDocument(document, true);
Branje dokumenta, preverjanje podpisov, certifikatov:
  • Omogoča branje dokumenta ali davčne povratnice

    DursDocument document = new DursDocument(@"C:\Taxes\Doh_KDVP_EDP-12345678-123-povr.xml");
    DursDocumentBody body = document.Body;
    DursDocumentHeader header = document.Header;
    DursDocumentSignature sig = document.Signature;
    bool sigsValid = document.CheckAllSignatures();
    bool certsValid = document.CheckAllCertificates();
    Console.Write(document.AsString);
 

  [English] Sistemske zahteve: Microsoft .NET Framework 3.5 SP1, Microsoft Visual Studio 2008
Znak Microsoft je znamka ali registriran znak podjetja Microsoft Corporation v ZDA in/ali drugih državah.