vers. 1.0.2
16/03/2022
HISTORY
- Aggiunto contrassegno
- Aggiunto lo stato 97 per gli ordini che dovranno essere approvati successivamente
- Gestione Resi: aggiunti dati di spedizione (facoltativo), gestite motivazioni a livello di riga,
aggiunti altri campi opzionali
- Aggiunti nel sw “inserimento ordini” le descrizioni dei capi idHost e idEXT mancanti
- Aggiunto nel sw “inserimento ordini” lo stato iniziale con relativa tabella di valori possibili
Pagina 1 / 10
Progetto: Integrazione B2C
vers. 1.0.2
16/03/2022
INTRODUZIONE
I servizi web utilizzati sono di tipo REST. I dati vengono scambiati in formato json.
Per effettuare una chiamata è necessario utilizzare un token di autenticazione personalizzato (verrà
rilasciato in fase di test e di produzione)
PARAMETRI SW POST
Ogni servizio web accetta il seguente formato standard dei parametri in ingresso
1. id ( = “” )
2. output_format ( = “json” )
3. operation : nome dell’operazione da eseguire (esempio “GetAvailability” )
4. token: il token di autenticazione personale
5. values : array of object (eventuali parametri da passare al servizio web)
esempio:
{
"id": "",
"output_format": "json",
"operation": "operation1",
"values": [
{
"barcode": “2015489658951”,
}
],
"token": "123456"
}
VALORI DI RITORNO
Ogni servizio web ritorna i dati con il seguente standard.
{
RETURNCODE: 0, codice di ritorno (0 per OK, diverso da 0 se ERRORE)
Pagina 2 / 10
Progetto: Integrazione B2C
vers. 1.0.2
16/03/2022
Esempio:
{
"RETURNCODE": 0,
"RETURNMESSAGE": [],
"RETURNDATE": "2018-07-26T16:55:02.000Z",
"RETURNVALUES": [
{“status” : “OK”}
]
}
Pagina 3 / 10
Progetto: Integrazione B2C
vers. 1.0.2
16/03/2022
RECUPERO DISPONIBILITA’
Operazione: index
Url: {base url}/retail/DisponibilitaWeb
Descrizione:
Il servizio web permette di reperire la quantità disponibile nel negozio web di uno o più
articoli (modelli) o di un elenco di barcode (SKU – articolo/colore/taglia) .
Parametri :
barcodes: Elenco barcodes di cui si vuole conoscere la disponibilità
alternativamente
articoli: Elenco articoli (Modelli) do cui si vuole conoscere la disponibilità
Ritorno:
: Elenco barcode con disponibilità attuale (se sono stati passati in input).
articoli: Elenco articoli con disponibilità attuale (se sono stati passati in input).
Esempio barcodes
REQUEST BODY
{
"id": "",
"output_format": "json",
"operation": "index",
"token": "653ffe2041e47f2e6f85267136178f6740f6e85ed934e22d46d1b0ca26727f80",
"values": [
{
"articoli": [],
"barcodes": [
"2077157001011",
"2077157002018",
"2077157003015",
"2077157004012",
"2077157005019",
"2077157006016",
"2177157001001",
"2377157001005"
]
Pagina 4 / 10
Progetto: Integrazione B2C
vers. 1.0.2
16/03/2022
}
]
}
RESPONSE
{
"RETURNCODE": 0,
"RETURNMESSAGE": [],
"RETURNDATE": "2019-06-20T09:40:30.000Z",
"RETURNVALUES": [
{
"articoli": [],
"barcodes": [
{
"barcode": "2077157001011",
"giacenza": 5
},
{
"barcode": "2077157002018",
"giacenza": 5
},
{
"barcode": "2077157003015",
"giacenza": 4
},
{
"barcode": "2077157004012",
"giacenza": 0
},
{
"barcode": "2077157005019",
"giacenza": 0
},
{
"barcode": "2077157006016",
"giacenza": 0
}
]
}
],
"RETURNEXTRADATA": {}
}
Pagina 5 / 10
Progetto: Integrazione B2C
vers. 1.0.2
16/03/2022
Esempio articoli
REQUEST BODY
{
"id": "",
"output_format": "json",
"operation": "index",
"token": "653ffe2041e47f2e6f85267136178f6740f6e85ed934e22d46d1b0ca26727f80",
"values": [
{
"magazzini": [],
"articoli": [
"Z20719MC",
"Z20919AB"
],
"barcodes": []
}
]
}
RESPONSE
{
"RETURNCODE": 0,
"RETURNMESSAGE": [],
"RETURNDATE": "2019-06-20T09:44:28.000Z",
"RETURNVALUES": [
{
"articoli": [
{
"codiceArticolo": "Z20719MC",
"giacenzaTotale": 15,
"barcodes": [
{
"barcode": "2077157001011",
"giacenza": 5
},
{
"barcode": "2077157002018",
"giacenza": 5
},
{
"barcode": "2077157003015",
"giacenza": 4
Pagina 6 / 10
Progetto: Integrazione B2C
vers. 1.0.2
16/03/2022
},
{
"barcode": "2077157004012",
"giacenza": 0
},
{
"barcode": "2077157005019",
"giacenza": 0
},
{
"barcode": "2077157006016",
"giacenza": 0
}
]
},
{
"codiceArticolo": "Z20919AB",
"giacenzaTotale": 10,
"barcodes": [
{
"barcode": "2077159001019",
"giacenza": 2
},
{
"barcode": "2077159001026",
"giacenza": 2
},
{
"barcode": "2077159001033",
"giacenza": 1
},
{
"barcode": "2077159002016",
"giacenza": 2
},
{
"barcode": "2077159002023",
"giacenza": 2
},
{
"barcode": "2077159002030",
"giacenza": 1
},
{
"barcode": "2077159003013",
"giacenza": 0
},
{
"barcode": "2077159003020",
"giacenza": 0
Pagina 7 / 10
Progetto: Integrazione B2C
vers. 1.0.2
16/03/2022
},
{
"barcode": "2077159003037",
"giacenza": 0
},
{
"barcode": "2077159004010",
"giacenza": 0
},
{
"barcode": "2077159004027",
"giacenza": 0
},
{
"barcode": "2077159004034",
"giacenza": 0
}
]
}
],
"barcodes": []
}
],
"RETURNEXTRADATA": {}
}
Pagina 8 / 10
Progetto: Integrazione B2C
vers. 1.0.2
16/03/2022
Parametri :
barcodes: Elenco barcodes di cui si vuole conoscere la disponibilità
details: true per recuperare la disponibilità magazzino per magazzino, false per la
disponibilità totale
Ritorno:
per ogni barcodes
totals : totale capi disponibili
stores: elenco negozi con disponibilità (solo se in input details=true)
Esempio
{
"id": "",
"output_format": "json",
"operation": "get_stock_in_stores",
"token": "653ffe2041e47f2e6f85267136178f6740f6e85ed934e22d46d1b0ca26727f80",
"debug" : false,
"values": [{
"barcodes": [
"2077157001011",
"2077157002018",
"2077157003015",
"2077157004012",
"2077157005019",
"2077157006016",
"2177157001001",
"2377157001005"
],
"details" : true
}]
}
{
"RETURNCODE": 0,
Pagina 9 / 10
Progetto: Integrazione B2C
vers. 1.0.2
16/03/2022
"RETURNMESSAGE": [],
"RETURNDATE": "2019-06-20T10:10:48.000Z",
"RETURNVALUES": [
{
"2077157001011": {
"total": 288,
"stores": {
"GR ": 0,
"OLBIA": 0,
"TRAPA": 0,
"PONTA": 7,
"FONTI": 0,
"PAGAN": 1,
"GRARO": 9,
"CART ": 0,
"KATAN": 0,
"PADOV": 2,
"VICEN": 1,
"QUART": 2,
"MARSA": 0,
"APRIL": 4,
"TIARE": 0,
"CUNEO": 2,
"VENEZ": 1,
"PAVIA": 0,
"PORTI": 4,
"SURBO": 2,
"MONZ1": 9,
"MF ": 0,
"PIRAM": 4,
"SORGE": 4,
"MAXI ": 0,
"SS ": 3,
"EIGHT": 3,
"BIKOK": 0,
"BUENO": 0,
"NAPOL": 8,
"ASCO2": 0,
"VOMER": 4,
"PORTA": 0,
"TIBUR": 1,
"PIRRI": 0,
"PETA2": 1,
"MEGAL": 0,
"SALER": 5,
"REMO ": 0,
"MESS ": 4,
"LARGA": 0,
"BRIND": 0,
"PRIMV": 1,
"BAGHE": 0,
"BROLO": 6,
"GILLA": 0,
"FANO ": 2,
"GRANS": 3,
Pagina 10 / 10
Progetto: Integrazione B2C
vers. 1.0.2
16/03/2022
"GENOA": 1,
"TERMI": 2,
"VERON": 0,
"SORRE": 3,
"ALASS": 0,
"DELTA": 6,
"MESTR": 3,
"VALVI": 1,
"RMEST": 2,
"CARIN": 8,
"CONCA": 5,
"MN ": 3,
"AVOLA": 1,
"ELPID": 0,
"FORLI": 1,
"KR ": 2,
"LEGNA": 0,
"DORA ": 1,
"STEZZ": 0,
"ACESE": 7,
"ARG02": 6,
"PG ": 1,
"ZAGAR": 7,
"SESTO": 9,
"BUONV": -5,
"TANIT": 0,
"CZ02 ": 6,
"SICIL": 0,
"BEL02": 1,
"PARMA": 1,
"ETNEA": 6,
"MELA ": 0,
"TEMP2": 0,
"BARCE": 1,
"LEBOL": 0,
"CHIVA": 6,
"TER02": 5,
"PE ": 0,
"BRUGH": 4,
"CORI ": 1,
"VIBOO": 4,
"SEDRI": 5,
"CORTI": 2,
"ADIGE": 0,
"SESTU": 1,
"APO02": 7,
"METRO": 2,
"2MARI": 6,
"PNORD": 1,
"BEINA": 1,
"BENED": 6,
"MIRA ": 0,
"BELIC": 1,
"FOR2 ": 9,
"ROMA ": 3,
Pagina 11 / 10
Progetto: Integrazione B2C
vers. 1.0.2
16/03/2022
"AFRA ": 7,
"LECCO": 0,
"JAMBO": 3,
"BUSS ": 0,
"ADRI2": 0,
"BORGO": 4,
"DERA ": 0,
"SMART": 0,
"EUR ": 4,
"MELIL": 5,
"ISERN": 1,
"PARCO": 0,
"SCIAC": 0,
"ROTON": 2,
"PISTO": 0,
"SAPRI": 7,
"ROMAN": 0,
"EDNER": 0,
"BOLZA": 2,
"STRET": 1,
"FIREN": 3,
"GABBI": 4,
"VESUV": 3,
"VANZA": 0,
"BORRO": 0,
"MARC ": 0,
"PV ": 1,
"MOLIS": 1,
"RAVEN": 3,
"TORIN": 1
}
......
Pagina 12 / 10
Progetto: Integrazione B2C
vers. 1.0.2
16/03/2022
RECUPERO DISPONIBILITA’ SINGOLI MAGAZZINI
Operazione: get_stock_by_stores
Url: {base url}/retail/DisponibilitaWeb
Descrizione:
Il servizio web permette di reperire la quantità disponibile di uno o più barcode (SKU –
articolo/colore/taglia) nei negozi indicati.
Parametri :
barcodes: Elenco barcodes di cui si vuole conoscere la disponibilità
stores: elenco dei negozi in cui recuperare la disponibilità
Ritorno:
per ogni negozio:elenco dei barcode con relativa quantità disponibile
Esempio
{
"id": "",
"output_format": "json",
"operation": "get_stock_by_store",
"token": "653ffe2041e47f2e6f85267136178f6740f6e85ed934e22d46d1b0ca26727f80",
"debug" : false,
"values": [{
"barcodes": [
"2077157001011",
"2077157002018",
"2077157003015",
"2077157004012",
"2077157005019",
"2077157006016",
"2177157001001",
"2377157001005"
],
"stores" : ["OLBIA"]
}]
}
{
"RETURNCODE": 0,
"RETURNMESSAGE": [],
"RETURNDATE": "2019-06-20T10:20:52.000Z",
"RETURNVALUES": [
{
"OLBIA": {
"2077157001011": 0,
"2077157002018": 0,
"2077157003015": 2
Pagina 13 / 10
Progetto: Integrazione B2C
vers. 1.0.2
16/03/2022
}
}
],
"RETURNEXTRADATA": {}
}
Pagina 14 / 10
Progetto: Integrazione B2C
vers. 1.0.2
16/03/2022
INVIO ORDINE
Parametri :
vers. 1.0.2
16/03/2022
>> idEXT String Identificativo univoco del cliente sul sistema
esterno
>> nome String
>> cognome String
>> azienda String
>> indirizzo String
>> cap String
>> citta String
>> provincia String
>> stato String
>> telefono String
>> cellulare String
>> email String Email associata all’indirizzo di spedizione
ordine Obejct Informazioni sull’ordine
>> origine String Sistema di origine (es MAGENTO)
>> id String Id dell’ordine sul sistema esterno
>> data_ordine Int Data ordine in formato YYMMDD
>> ora_ordine Int Ora ordine in formato HHSS
>> stato Int Stato iniziale dell’ordine, se non specificato
sarà 11 (ORDINE DA PREPARARE)
>> regalo Int 1 l’ordine è un regalo, 0 non è un regalo
>> regalo_messaggio String Messaggio biglietto di auguri
>> sconto_globale Double Eventuale sconto applicato sull’ordine
>> fattura Int 0/1 indica se si è richiesta la fattura
>> commento String Commento/nota sull’ordine
>> codice_buono String Eventuale codice buono utilizzato
>> importo_buono Double Eventuale importo del buono utilizzato
>> idtransazione_buono String Codice univoco transazione utilizzo buono
>> valore_lordo Double Valore ordine (lordo) (righe lorde +
spedizioni + contrassegno)
>> valore_netto Double Valore ordine (lordo) (righe nette +
spedizioni + contrassegno – sconto globale)
>> righe Array(object) Elenco articoli
>> barcode String EAN
>> quantita Int
>> valore Double Valore totale della riga
>> prezzo Double Prezzo unitario dell’articolo
>> aliquota Double Aliquota articolo, se non specificata viene
impostata uguale a quella anagrafica italia
>> EsenzioneRifNorm String Riferimento normativo eventuale esenzione
vers. 1.0.2
16/03/2022
>> idHOST String Id della modalità di pagamento sul gestionale
>> valore Double Valore totale dell’ordine
>> spese Double Eventuali spese aggiuntive
>> pagato Int 0/1, 1 il cliente ha pagato
>> spese Double Spese sul pagamento (es. contrassegno)
>> contrassegno Int 0/1, 1 => il pagamento è un contrassegno
Stato Descrizione
1 In attesa di pagamento
2 In rifornimento
11 Da preparare
20 Errore Pagamento
21 Verifica Pagamento
97 Da approvare
Pagina 17 / 10
Progetto: Integrazione B2C
vers. 1.0.2
16/03/2022
Esempio:
{
"force": 0,
"cliente": {
"idEXT": "10",
"nome": "Luca",
"cognome": "Manfredi",
"azienda": "",
"indirizzo": "via orefice 112 ",
"cap": "80013",
"citta": "NAPOLI",
"provincia": "NA",
"stato": "IT",
"telefono": "+393920255896",
"cellulare": "+393920255896",
"email": "",
"cf": "",
"piva": "",
"datanascita": 0
},
"spedizione": {
"tipo" : 0,
"idCorriereHOST": "GLS",
"spese": "4.1",
"indirizzo": {
"idHOST": "0",
"idEXT": "10",
"nome": "Fabio ",
"cognome": "Manfredi",
"azienda": "",
"indirizzo": "Via del cocco",
"cap": "80013",
"citta": "Casalnuovo di Napoli",
"provincia": "",
"stato": "",
Pagina 18 / 10
Progetto: Integrazione B2C
vers. 1.0.2
16/03/2022
"telefono": "",
"cellulare": "",
"email": "",
"cf": "",
"piva": ""
}
},
"ordine": {
"id": "XD0000016",
"stato": 11,
"regalo": 1,
"regalo_messaggio": "Tanti Auguri Luca",
"fattura": 0,
"commento": "",
"righe": [
{
"barcode": "2003542001014",
"quantita": 1,
"valore": "16.394262",
"prezzo": "16.394262"
}
]
},
"pagamento": {
"idHOST": "DD",
"valore": "45",
"spese": 0,
"pagato": 1
}
}
Ritorno:
vers. 1.0.2
16/03/2022
Esempio
INPUT
{
"id": "",
"output_format": "json",
"operation": "save",
"token": "1e065d4d1ac8a70964e592a50eeeb55d53c625f3a856410acba85e33d3b51912345",
"debug": false,
"values": [
{
"cliente": {
"idEXT": "10",
"nome": "Luca",
"cognome": "Manfredi",
"azienda": "",
"indirizzo": "via orefice 112 ",
"cap": "80013",
"citta": "NAPOLI",
"provincia": "NA",
Pagina 20 / 10
Progetto: Integrazione B2C
vers. 1.0.2
16/03/2022
"stato": "IT",
"telefono": "+393920255896",
"cellulare": "+393920255896",
"email": "",
"cf": "",
"piva": "",
"datanascita": 0
},
"spedizione": {
"idCorriereHOST": "B0017",
"spese": "4.1",
"indirizzo": {
"idHOST": "0",
"idEXT": "10",
"nome": "Fabio ",
"cognome": "Manfredi",
"azienda": "",
"indirizzo": "Via del cocco",
"cap": "80013",
"citta": "Casalnuovo di Napoli",
"provincia": "",
"stato": "",
"telefono": "",
"cellulare": "",
"email": "",
"cf": "",
"piva": ""
}
},
"ordine": {
"id": "XD000001",
"regalo": 1,
"regalo_messaggio": "Tanti Auguri Luca",
"fattura": 0,
"commento": "",
"righe": [
{
"barcode": "2016271001019",
"quantita": 1,
"valore": "16.394262",
"prezzo": "16.394262"
Pagina 21 / 10
Progetto: Integrazione B2C
vers. 1.0.2
16/03/2022
}
]
},
"pagamento": {
"idHOST": "DD",
"valore": "45",
"spese": 0,
"pagato": 1
}
}
]
}
OUTPUT OK
{
"RETURNCODE": 0,
"RETURNMESSAGE": [],
"RETURNDATE": "2018-08-22T11:34:01.000Z",
"RETURNVALUES": [ ],
"RETURNEXTRADATA": {}
}
OUTPUT ERRORE
{
"RETURNCODE": 1,
"RETURNMESSAGE": [
"Articoli non disponibili"
],
"RETURNDATE": "2018-08-22T11:33:12.000Z",
"RETURNVALUES": [],
"RETURNEXTRADATA": {}
}
Pagina 22 / 10
Progetto: Integrazione B2C
vers. 1.0.2
16/03/2022
INVIO RESO
Parametri :
vers. 1.0.2
16/03/2022
>> cellulare
>> stato
reso Obejct Informazioni sul reso
>> stato stato Non obbligatorio, di default 1
del reso
>> id_ordineEXT String Id dell’ordine di riferimento sul sistema
esterno
>> id_ordine Int Id interno dell’ordine
>> id String Id del reso sul sistema esterno
>> motivazione String Messaggio scritto dal cliente per motivare il
reso
>> spedizione_spese Double Eventuali spese di spedizione che il cliente
ha pagato in fase di ordine.
>> rimborso_spese Double Eventuali spese di spedizioni da rimborsare
al cliente
Note:
Spedizione
Se l’oggetto spedizione non viene passato verrà preso quello dell’ordine.
Ogni campo dell’oggetto spedizione se manchevole o passato vuoto (null o “”) verrà
avvalorato uguale al corrispondente campo dell’ordine.
Pagina 24 / 10
Progetto: Integrazione B2C
vers. 1.0.2
16/03/2022
Esempio:
Pagina 25 / 10
Progetto: Integrazione B2C
vers. 1.0.2
16/03/2022
{
"cliente": {
"idEXT": "10",
"nome": "Fabio",
"cognome": "Di Leo",
"azienda": "",
"indirizzo": "via napoli 155",
"cap": "80013",
"citta": "Casalnuovo di Napoli",
"provincia": "NA",
"stato": "IT",
"telefono": "+393927137796",
"cellulare": "+393927137796",
"email": "",
"cf": "",
"piva": ""
},
"reso": {
"stato": 1,
"id_ordineEXT": "ORD1",
"idEXT": "28",
"motivazione": "non calza bene",
"spedizione_spese": 0,
"righe": [
{
"barcode": "2001874001023",
"quantita": 1
},
{
"barcode": "2002758001061",
"quantita": 2
}
]
}
}
Pagina 26 / 10
Progetto: Integrazione B2C
vers. 1.0.2
16/03/2022
Ritorno:
Pagina 27 / 10
Progetto: Integrazione B2C
vers. 1.0.2
16/03/2022
AGGIORNAMENTO ORDINE (STATO/TRACKING)
Parametri :
Stato Descrizione
1 In attesa di pagamento
2 In attesa di rifornimento
11 Da preparare
12 In preparazione
12 Preparato
14 In spedizione
15 Spedito
16 In giacenza nel punto vendita
17 Consegnato al cliente
18 Non prelevato dal cliente nel PV
20 Errore Pagamento
21 Pagamento in verifica
99 Annullato
97 In Approvazione
98 Annullato (INT)
Pagina 28 / 10
Progetto: Integrazione B2C
vers. 1.0.2
16/03/2022
Solo alcune transizioni di stato sono possibili, di seguito le transazione consentite nei casi
più comuni.
Pagina 29 / 10
Progetto: Integrazione B2C
vers. 1.0.2
16/03/2022
Esempio:
{
"id": "",
"output_format": "json",
"operation": "nuovo_evento",
"token": "FABIO",
"values": [{
"ordine_idEXT" : "ORDINE_1",
"evento_id" : 1,
"evento_valore" : {
"stato" : 11
}
}
]
}
Pagina 30 / 10
Progetto: Integrazione B2C
vers. 1.0.2
16/03/2022
Pagina 31 / 10