Come evidenziato nei precedenti capitoli di questo manuale, volendo, è possibile abilitare il proprio sito Passweb all’utilizzo delle Web API Mexal. Per far questo sarà necessario:
Una volta attivato il servizio lato gestionale sarà poi necessario portarsi sul Wizard del proprio sito Passweb alla pagina “Configurazione – Configurazione Gestionale” e impostare anche qui i parametri richiesti all’interno della sezione Web API, parametri questi che saranno diversi a seconda del fatto che Mexal sia installato presso la Web Farm Passepartout o in locale presso il cliente
In ogni caso si tratterà comunque di impostare un valore per i seguenti campi:
I valori necessari per costruire il Base Adress possono essere ricavati all’interno della maschera gestionale “Configurazione webapi” (“Servizi – Configurazioni – Configurazione moduli – Web Api”)
Supponendo dunque che i valori presenti all’interno dei campi evidenziati in figura siano rispettivamente mrossi e 9104 il Base Adress da inserire nel corrispondente campo Passweb sarà esattamente il seguente
https://mrossi.passepartout.local:9104
ATTENZIONE! In ogni caso per maggiori informazioni relativamente al Base Adress e, più in generale, all’attivazione e all’utilizzo delle API Mexal si consiglia di fare sempre riferimento alla relativa documentazione di prodotto
Una volta completata l’attivazione lato gestionale e inseriti anche i parametri richiesti nella relativa maschera Passweb, per richiamare le Web Api di Mexal sarà sufficiente utilizzare gli strumenti di editing avanzato di Passweb (Layout di pagina o Componente HTML) per effettuare chiamate ajax in POST al server Mexal richiamando il seguente url
/callWebApiMexal
indicando anche i seguenti parametri:
ATTENZIONE! Per maggiori informazioni relativamente ai percorsi delle singole Web Api e/o ai relativi metodi ammessi per le singole chiamate si consiglia di fare sempre riferimento alla relativa documentazione di prodotto
Relativamente al formato dei risultati ritornati occorre tenere presente che la chiamata a “/callWebApiMexal” restituisce sempre un oggetto formato da:
Di seguito vengono riportate, a titolo puramente esemplificativo, alcune possibili chiamate alle Web Api Mexal effettuate utilizzando la libreria jQuery disponibile nativamente all’interno di ogni sito Passweb
ESEMPIO – Lettura dei dati dell'utente con codice conto 501.00001:
$.ajax({
type: "POST",
url: "/callWebApiMexal",
data: {
_path: '/webapi/risorse/clienti/501.00001',
_method: 'GET'
},
dataType: "json",
error: function (xhr, textStatus, errorThrown) {
alert('Errore Generico : ' + errorThrown);
},
success: function (result) {
switch(result.status)
{
case 200:
var cliente = JSON.parse(result.response);
alert(cliente.codice);
break;
case 500:
alert('Errore : ' + result.response);
break;
}
}
});
ESEMPIO – Modifica dei dati dell'articolo con codice AGLIANICVULSIM03
var variazioni = {descrizione: "Aglianico"};
$.ajax({
type: "POST",
url: "/callWebApiMexal",
data: {
_path: '/webapi/risorse/articoli/AGLIANICVULSIM03',
_method: 'PUT',
_body: JSON.stringify(variazioni)
},
dataType: "json",
error: function (xhr, textStatus, errorThrown) {
alert('Errore Generico : ' + errorThrown);
},
success: function (result) {
switch(result.status)
{
case 200:
alert('Modifica effettuata');
break;
case 500:
alert('Errore : ' + result.response);
break;
}
}
});
ESEMPIO – Creazione di un nuovo cliente con codifica automatica
var cliente = {
codice: "501.AUTO",
ragione_sociale:"cliente 2 webapi REST",
tp_nazionalita: "I",
cod_listino:2,
valuta:1
};
$.ajax({
type: "POST",
url: "/callWebApiMexal",
data: {
_path: '/webapi/risorse/clienti',
_method: 'POST',
_body: JSON.stringify(cliente)
},
dataType: "json",
error: function (xhr, textStatus, errorThrown) {
alert('Errore Generico : ' + errorThrown);
},
success: function (result) {
switch(result.status)
{
case 200:
alert('Inserimento effettuato: ' + result.location);
break;
case 500:
alert('Errore : ' + result.response);
break;
}
}
});
ATTENZIONE! nell’header “Coordinate-Gestionale” che viene impostato in automatico da Passweb per fare la richiesta alle Web API non viene gestito il parametro “Magazzino”.