Vai al contenuto

API Profilo e Pacchetti

Di seguito le indicazione per implementare la creazione di un profilo tramite webservice

1. Indicazioni

NOTA: L'ambiente di produzione è presente all'indirizzo: https://eportale.eu/service-ejb/ProfiloService?wsdl

NOTA: Azienda di test in produzione

Codice Azienda Gamma
Utente gamma
Password gamma

2. Creazione Profilo

Parametri in ingresso:
    azienda: dati dell'azienda che verrà registrata
    emailCreazioneProfilo: email del cliente su dove arriveranno le credenziali
    utente: utente azienda partner

REQUEST SOAP:

    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prof="http://profilo.ws.mysond.it/">
    <soapenv:Header/>
    <soapenv:Body>
        <prof:salvaProfilo>
            <arg0>
                <azienda>
                    <azienda>AziendaTestWS6</azienda>
                    <cap>06100</cap>
                    <codFisc>ABCDEF00X01A000X</codFisc>
                    <codiceNazione>IT</codiceNazione>
                    <cognome>A</cognome>
                    <comune>B</comune>
                    <fax/>
                    <indirizzo>via web service</indirizzo>
                    <iva>79321840286</iva>
                    <ivaInternazionale>IT</ivaInternazionale>
                    <localita>PERUGIA</localita>
                    <mail>diego@mysond.it</mail>
                    <nazione>IT</nazione>
                    <nome>D</nome>
                    <provincia>PG</provincia>
                    <telefono>132132</telefono>
                    <titoloOnorifico/>
                    <regimeFiscale/>
                </azienda>
                <emailCreazioneProfilo>diego@mysond.it</emailCreazioneProfilo>
                <utente>
                    <codiceAzienda>Gamma</codiceAzienda>
                    <password>gamma</password>
                    <username>gamma</username>
                </utente>
            </arg0>
        </prof:salvaProfilo>
    </soapenv:Body>
    </soapenv:Envelope>

3. Lista Pacchetti

con questa richiesta è possibile ottenere la lista dei pacchetti a disposizione e assegnabili ai clienti è presente anche la quantità

Parametri in ingresso:
    codiceAzienda: credenziali di accesso del parner
    username
    password

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prof="http://profilo.ws.mysond.it/">
   <soapenv:Header/>
   <soapenv:Body>
      <prof:pacchettiDisponibili>
         <!--Optional:-->
         <arg0>
               <codiceAzienda>Gamma</codiceAzienda>
               <password>gamma</password>
               <username>gamma</username>
         </arg0>
      </prof:pacchettiDisponibili>
   </soapenv:Body>
</soapenv:Envelope>

4. Assegnazione Pacchetti

con questo metodo è possibile assegnare ad un cliente un pacchetto fra quelli acquistati da un partner

Parametri in ingresso:
    codiceAziendaDestinazione: codice azienda dell'azienda destinataria del pacchetto
    pacchetto
        codice: codice del pacchetto
        descrizione: descrizione del pacchetto
        quantita: quantita di pacchetti da assegnare
    utenteItem
        codiceAzienda: credenziali di accesso del parner
        username
        password

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prof="http://profilo.ws.mysond.it/">
   <soapenv:Header/>
   <soapenv:Body>
      <prof:assegnazionePacchettoAzienda>
         <arg0>
            <codiceAziendaDestinazione>64168510119</codiceAziendaDestinazione>
            <pacchetto>
               <codice>fatture100</codice>
               <descrizione>pacchetto fatture 100</descrizione>
               <quantita>10</quantita>
            </pacchetto>
            <utenteItem>
               <codiceAzienda>Gamma</codiceAzienda>
               <password>gamma</password>
               <username>gamma</username>
            </utenteItem>
         </arg0>
      </prof:assegnazionePacchettoAzienda>
   </soapenv:Body>
</soapenv:Envelope>

5. Esempi

C Sharp

    static async Task Main(string[] args)
    {
        createProfilo();
        listaPacchetti();
        assegnaPacchetti();
    }

    private static void listaPacchetti()
    {
        var utente = new utenteItem()
        {
            codiceAzienda = "Gamma",
            password = "gamma",
            username = "gamma"
        };

        // Crea il client
        var client = new ProfiloServiceClient();

        // Configura l'endpoint se necessario
        client.Endpoint.Address =
            new System.ServiceModel.EndpointAddress(
                "https://eportale.eu/service-ejb/ProfiloService"); // Modifica con l'endpoint

        // Esegui la chiamata al metodo SOAP
        var response = client.pacchettiDisponibiliAsync(utente).Result.@return;

        // Gestisci la risposta
        foreach (var item in response)
        {
            Console.WriteLine("{0}, {1}",item.codice,item.quantita);

        }


        Console.WriteLine("Risultato: " + response.Length);
    }

    private static void assegnaPacchetti()
    {

        var pacchetti = new pacchettoDaAssegnareItem
        {
            pacchetto = new pacchettoItem()
            {
                codice = "fatture50",
                quantita = 1,
                quantitaSpecified = true,
            },
            codiceAziendaDestinazione = "00000000000",
            utenteItem = new utenteItem()
            {
                codiceAzienda = "Gamma",
                username = "gamma",
                password = "gamma",

            }
        };

        // Crea il client
        var client = new ProfiloServiceClient();

        // Configura l'endpoint se necessario
        client.Endpoint.Address =
            new System.ServiceModel.EndpointAddress(
                "https://eportale.eu/service-ejb/ProfiloService"); // Modifica con l'endpoint

        // Esegui la chiamata al metodo SOAP
        var response = client.assegnazionePacchettoAziendaAsync(pacchetti).Result.@return;

        // Gestisci la risposta


        Console.WriteLine("Risultato: " + response.esito);
        Console.WriteLine("Descrizione: " + response.descrizione);
    }

    private static void createProfilo()
    {
        try
        {
            // Crea l'oggetto richiesta
            var azienda = new aziendaItem()
            {
                azienda = "AziendaTestWS6",
                cap = "06100",
                codFisc = "ABCDEF00A00A475A",
                codiceNazione = "IT",
                cognome = "A",
                comune = "B",
                indirizzo = "via web service",
                iva = "000000000000000",
                ivaInternazionale = "IT",
                localita = "PERUGIA",
                mail = "email@email.it",
                nazione = "IT",
                nome = "D",
                provincia = "PG",
                telefono = "132132"
            };

            var utente = new utenteItem()
            {
                codiceAzienda = "Gamma",
                password = "gemma",
                username = "gamma"
            };


            var arg0 = new profiloItem()
            {
                azienda = azienda,
                emailCreazioneProfilo = "email@email.it",
                utente = utente
            };


            // Crea il client
            var client = new ProfiloServiceClient();

            // Configura l'endpoint se necessario
            client.Endpoint.Address =
                new System.ServiceModel.EndpointAddress(
                    "https://eportale.eu/service-ejb/ProfiloService"); // Modifica con l'endpoint

            // Esegui la chiamata al metodo SOAP
            var response = client.salvaProfiloAsync(arg0).Result.@return;

            // Gestisci la risposta
            Console.WriteLine("Risultato: " + response.esito);
            Console.WriteLine("Descrizione: " + response.descrizione);
        }
        catch (Exception ex)
        {
            Console.WriteLine("Errore: " + ex.Message);
        }
    }