Coder Social home page Coder Social logo

fdipuma / fatturaelettronica.indicepa Goto Github PK

View Code? Open in Web Editor NEW

This project forked from fatturaelettronica/fatturaelettronica.indicepa

0.0 3.0 0.0 33 KB

Client per l'accesso ai WebService del Indice della Pubblica Amministrazione Italiana (iPA)

Home Page: http://fatturaelettronicaopensource.org

License: Other

C# 100.00%

fatturaelettronica.indicepa's Introduction

FatturaElettronica.IndicePA

Il namespace FatturaElettronica.IndicePA raccoglie i client che consentono di consultare i Web Service dell'Indice della Pubblica Amministrazione (iPA).

Sono disegnati in maniera da esporre tutti la stessa interfaccia ed essere al tempo stesso semplici e leggeri. Al momento lavorano in modalità sincrona ma l'obiettivo è di renderli tutti asincroni.

Authorization ID

Per l'utilizzo dei Web Services è necessario richiedere una specifica autorizzazione. L'Authorization Id è gratuito ed il rilascio è immediato, ma bisogna compilare un apposito questionario.

Codice Fiscale

Questo servizio web consente di estrarre dall’iPA informazioni su tutti gli uffici destinatari di Fatturazione Elettronica associati al Codice Fiscale fornito.

	var cfWebService = new CodiceFiscaleWebService {
		AuthId = "<auth Id>",
		CodiceFiscale = "00354730392",
	};

	cfWebService.PerformRequest ();
	if (cfWebService.Uffici == null)
		return;

	// "Comune di Ravenna"
	Console.WriteLine (cfWebService.Uffici [0].Denominazione);

Codice Univoco di Fatturazione

Questo client interroga il corrispondente WebService iPA per verificare la validità di un Codice Univoco di "Ufficio destinatario di Fatturazione Elettronica e dati SFE". Se il codice è valido vengono anche restitute tutte le informazioni diponibili sull'ufficio.

    var codiceUnivocoWebService = new CodiceUnivocoFatturazioneWebService()

    // Authorization Id ricevuto dall'ente.
    codiceWebService.AuthId = "<auth Id>";
    // Codice univoco dell'ufficio che ci interessa
    codiceWebService.CodiceUfficio = "KN3VNW";

    codiceWebService.PerformRequest();
    if (codiceWebService.Ufficio == null) return;

    // "Ravenna"
    Console.WriteLine(codiceWebService.Ufficio.Comune);

Dati di un Ente

Questo client interroga il corrispondente We Service iPA per verificare la validità di un Codice Ente. Se il codice è valido vengono anche restitute tutte le informazioni diponibili sull'ente.

    var enteWebService = new DatiEnteWebService {
    	AuthId = "<auth Id>", 
    	CodiceEnte = "c_h199"
    };

    enteWebService.PerformRequest();
    if (enteWebService.Ente == null) return;

    // "Ravenna"
    Console.WriteLine(enteWebService.Ente.Comune);

Lista informazioni associate ad indirizzo Email

Questo servizio web consente di estrarre dall’iPA informazioni relative ad una entità, sia essa un Ente, un’Unità Organizzativa, un’Area Organizzativa Omogenea, un servizio generico, un Servizio di Fatturazione Elettronica, un Responsabile o un Referente, associata ad uno specifico indirizzo email. Se un indirizzo mail è associato a più entità all’interno di iPA, verranno visualizzate le informazioni di dettaglio relative a ciascuna delle entità individuate.

    var emailWebService = new EmailWebService {
    	AuthId = "<auth Id>", 
    	Email = "[email protected]"
    };

    emailWebService.PerformRequest();
    if (emailWebService.Emails == null) return;

    // "Comune di Ravenna"
    Console.WriteLine(emailWebService.Emails[0].Denominazione);

Lista Servizi di Fatturazione

Questo servizio web consente di estrarre dall’iPA informazioni relativa ad una entità, sia essa un Ente, un’Unità Organizzativa, un’Area Organizzativa Omogenea, un servizio generico, un Servizio di Fatturazione Elettronica, un Responsabile o un Referente, associata ad uno specifico indirizzo email. Se un indirizzo mail è associato a più entità all’interno di iPA, verranno visualizzate le informazioni di dettaglio relative a ciascuna delle entità individuate.

    var serviziWebService = new ServiziFatturazioneWebService {
    	AuthId = "<auth Id>", 
    	CodiceEnte = "c_h199"
    };

    serviziWebService.PerformRequest();
    if (serviziWebService.ServiziFatturazione == null) return;

    // "U.O. LEGALE E CONTENZIOSO"
    Console.WriteLine(
    	serviziWebService.ServiziFatturazione[0].DenominazioneUnitàOrganizzativa);

Lista Unità Organizzative

Questo servizio web consente di estrarre dall’ iPA la lista delle Unità Organizzative facenti capo ad uno specifico codice ente iPA.

    var uoWebService = new UnitaOrganizzativaWebService {
    	AuthId = "<auth Id>", 
    	CodiceEnte = "c_h199"
    };

    uoWebService.PerformRequest();
    if (uoWebService.UnitaOrganizzative == null) return;

    // "Ravenna"
    Console.WriteLine(uoWebService.UnitaOrganizzative[0].Comune);

Lista Aree Organizzative Omogenee

Questo servizio web consente di estrarre dall’iPA informazioni su tutte le aree organizzative omogenee associate al codice iPA fornito. Il servizio consente, inoltre, di impostare come parametro di ricerca anche il codice AOO, oltre il codice iPA. Si tenga presente che nel caso in cui l’utente fornisca congiuntamente i due codici (codice iPA e codice AOO) dalla ricerca potrà essere estratta solo ed esclusivamente una Area Organizzativa Omogenea.

	var aoWebService = new AreeOmogeneeWebService {
		AuthId = "<auth Id>",
		CodiceEnte = "c_h199",
		// opzionale:
		CodiceAreaOmogenea = "AMC-RA"
	};

	aoWebService.PerformRequest ();
	if (aoWebService.AreeOmogenee == null)
		return;
	
	// "Ravenna"
	Console.WriteLine (aoWebService.AreeOmogenee [0].Comune);

Portabilità

FatturaElettronica.IndicePA supporta .NET Standard v1.1, cosa che le permette di supportare un [ampio numero di piattaforme][netstandard].

Installazione

FatturaElettronica.IndicePA è su NuGet quindi tutto quel che serve è eseguire:

	PM> Install-Package FatturaElettronica.IndicePA

dalla Package Console, oppure usare il comando equivalente in Visual Studio.

Licenza

FatturaElettronica.IndicePA è un progetto open source di Nicola Iarocci e Gestionale Amica rilasciato sotto licenza BSD.

fatturaelettronica.indicepa's People

Contributors

fdipuma avatar nicolaiarocci avatar

Watchers

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