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