Questa api consente di gestire i viaggi Inbound.
Operazioni
L'API espone i seguenti metodi:
Creazione di una DDT
Creazione di una DDT
Consente di caricare a sistema una DDT.
Risponde a richieste POST verso /inbound/BOL
Per identificare la DDT da creare viene richiesto un oggetto JSON contenente i seguenti campi:
- vendor(opzionale): codice dell’editore che ha generato il carico - string
- number: numero DDT - string, massimo 10 caratteri alfanumerici
- date: data DDT - date
- transporter: soggetto che effettua il trasporto. È composto dalle seguenti proprietà:
- type: tipologia del soggetto - string. Può assumere i seguenti valori:
- none: nessun soggetto trasportatore specificato,
- vendor: il viaggio è gestito direttamente dall’editore specificato in vendor,
- operator: il viaggio è gestito da un operatore terzo (legatore o trasportatore). L’operatore terzo deve essere identificato obbligatoriamente tramite i campi indicati in seguito
- customerCode: codice legatoria dell’operatore terzo - string
- country: codice nazionalità dell’operatore terzo, di default "IT" - string di esattamente 2 caratteri
- vatNumber: partita IVA dell’operatore terzo - string di esattamente 11 caratteri
- name: nome trasportatore
- plant: codice magazzino - string. Può assumere i seguenti valori:
- ME60: C&M Book Logistics di Stradella
- ME61: Geodis Landriano
- pallets: numero bancali - number
- packages: numero dei colli - number
- copies: numero delle copie - number
- titles: array di titoli presenti nella DDT. Ogni oggetto della lista è composto da:
- ean: codice EAN - string
- quantity: quantità del prodotto - number
- orderNumber: numero ordine editore - string , massimo 50 caratteri
- notes(opzionale): nota descrittiva associata alla DDT - string
- waybill(opzionale): lettera di vettura/numero di spedizione - string
Oltre ai dati della DDT, la API consente di caricare un allegato in formato PDF (vedi oltre).
Controlli di validazione
Il metodo API effettua i seguenti controlli di validazione:
- il customerCode deve corrispondere a un codice legatoria registrato a sistema. È alternativo a vatNumber.
- il vatNumber deve corrispondere a un operatore terzo registrato a sistema. È alternativo a customerCode.
- il numero dei bancali, pallets, deve essere compreso tra 0 e 33.
- il numero dei colli, packages, deve essere compreso tra 0 e 100000.
- il numero delle copie, copies, deve essere compreso tra 0 e 100000.
- la lettera di vettura / numero di spedizione, waybill, deve avere una lunghezza massima di 30 caratteri.
- gli EAN devono esistere e appartenente all’editore associato alla DDT.
- le quantità devono essere maggiori di 1.
Inoltre:
- i dati obbligatori devono essere passati e il pdf, se viene passato, deve essere un file pdf valido,
- i dati inviati devono rispettare le regole di validazione,
- se nei dati non viene specificato il parametro vendor, e l’utente è un editore, il suo valore viene dedotto dal token di autenticazione
L'API può restituire i seguenti codici di errore:
- 400 (Bad request): query malformata.
- 401 (Unauthorized): il token di autenticazione non è valido oppure è scaduto.
- 409 (Conflict): DDT già presente a sistema.
Esempio richiesta
I dati vengono passati con Content-Type: multipart/form-data. La prima parte (name=”request”) contiene i dati della DDT, la seconda (name=”attachment”) il contenuto binario del PDF.
Authorization: Bearer [TOKEN JWT]
Content-Type: multipart/form-data
boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="request"
{
"vendor":"887",
"number":"Cg4567",
"date":"2021-01-07",
"plant":"ME60",
"pallets":2,
"packages":100,
"copies":2000,
"transporter":{
"type":"operator",
"customerCode":"06998811"
},
"titles":[
{
"ean":"9788876180699",
"quantity":10
},
{
"ean":"9788876180170",
"quantity":100
}
]
}
------WebKitFormBoundary7MA4YWxkTrZu0gW
Content-Disposition: form-data; name="attachment"; filename="Attach.pdf"
Content-Type: application/pdf
<contenuto binario del file pdf>
------WebKitFormBoundary7MA4YWxkTrZu0gW--
Se la chiamata va a buon fine viene restituito il BillOfLadingID.
Features
Per utilizzare il metodo API è necessario possedere una o più delle seguenti
features:
altrimenti viene restituito 403 (Forbidden)
Ricerca di una o più DDT
Ricerca di una o più DDT
Consente la ricerca di una o più DDT.
Risponde a richieste GET verso /inbound/BOL
E' possibile passare in querystring i seguenti parametri, tutti opzionali:
- id: ID ddt - string
- vendor: editore ddt - string
- number: numero ddt - string
- state: stato di consegna della DDT - enum. Può assumere i seguenti valori:
- draft,
- toBeReceived,
- received,
- processed,
- canceled
- startDate: data per la ricerca (da) - string date
- endDate: data per la ricerca (a) - string date
- createdDateFrom: data di creazione DDT per la ricerca (da) - string date
- createdDateTo: data di creazione DDT per la ricerca (a) - string date
- draftDateFrom: data bozza DDT (da) - string date
- draftDateTo: data bozza DDT (a) - string date
- plant: impianto di destinazione - string
- transporter: codice del trasportatore - string
- orderBy: campo su cui effettuare l’ordinamento - può assumere i seguenti valori di tipo string:
- number,
- date,
- plant,
- transporter,
- receiveDate,
- pallets,
- packages,
- count,
- copies
L’operazione restituisce un oggetto JSON contenente i seguenti campi:
- totalCount: numero totale di DDT trovate
- totalPages: numero totale di pagine previste
- page: informazioni sulla pagina corrente. Contiene:
- index: indice della pagina corrente
- size: dimensione della pagina
- from: indice del primo elemento della pagina (se la pagina ha elementi)
- to: indice dell'ultimo elemento della pagina (se la pagina ha elementi)
- bols: elenco delle DDT . Contiene:
- id: Id della DDT
- vendor: editore. Contiene:
- code: codice editore
- description: descrizione editore
- number: numero DDT
- date: data DDT
- plant: codice dell'impianto di destinazione della DDT
- state: stato di consegna della DDT. Può assumere i seguenti valori:
- -1 (draft): bozza
- 0 (toBeReceived): non consegnato
- 1 (received): ricevuto
- 2 (processed): processato
- 6 (canceled): annullato
- receiveDate: data di ricezione della DDT
- pallets: numero bancali
- packages: numero colli
- titleSummary: riepilogo titoli. Contiene:
- count: numero titoli
- copies: numero copie
- transporter: soggetto che effettua il trasporto. Contiene:
- type: tipologia del soggetto. Può assumere i seguenti valori:
- country: codice nazionalità dell'operatore terzo
- vatNumber: partita IVA dell'operatore terzo
- name: nome dell'operatore terzo
- transportID: numero viaggio
L'API può restituire i seguenti codici di errore:
- 400 (Bad request): query malformata.
- 401 (Unauthorized): il token di autenticazione non è valido oppure è scaduto.
Esempio Richiesta
GET https://api.messaggerielibri.it/BOL?startDate=2021-06-01&state=received
Authorization: Bearer [TOKEN JWT]
Esempio risposta
{
"totalCount": 1,
"totalPages": 1,
"page": {
"index": 1,
"size": 50,
"from": 1,
"to": 1
},
"bols": [
{
"id": "2100000240",
"vendor": {
"code": "015",
"description": "IL MULINO"
},
"number": "LANDRI",
"date": "2021-12-23",
"plant": "ME61",
"state": 1,
"receiveDate": "2021-12-24",
"pallets": 33,
"packages": 90,
"titleSummary": {
"count": 3,
"copies": 3
},
"transporter": {
"type": "operator",
"country": "IT",
"vatNumber": "05714511002",
"name": "SDA"
},
"transportID": "0000000999"
}
]
}
Features
Per utilizzare il metodo API è necessario possedere una o più delle seguenti
features:
altrimenti viene restituito 403 (Forbidden)
Dettaglio di una DDT in base all'ID
Dettaglio di una DDT in base all'ID
Consente di recuperare il dettaglio di una DDT in base all'ID.
Risponde a richieste GET verso: /inbound/BOL/{id}, dove {id} rappresenta identificativo univoco della DDT che si vuole recuperare.
L’operazione restituisce un oggetto JSON contenente i seguenti campi:
- id: Id della DDT
- vendor: editore. Contiene:
- code: codice editore
- description: descrizione editore
- number: numero DDT
- date: data DDT
- plant: codice dell'impianto di destinazione della DDT
- state: stato di consegna della DDT. Può assumere i seguenti valori:
- -1 (draft): bozza
- 0 (toBeReceived): non consegnato
- 1 (received): ricevuto
- 2 (processed): processato
- 6 (canceled): annullato
- createDate: data di creazione della DDT
- lastChangeDate: data di modifica della DDT
- rceiveDate: data di ricezione della DDT
- receiptsNotes: note di ricezione
- pallets: numero bancali
- packages: numero colli
- titles: elenco dei titoli contenuti nella DDT. Contiene:
- ean: codice EAN
- quantity: numero copie
- receivedQuantity: quantità ricevuta. Contiene:
- quantityGood: quantità riscontrata buoni
- quantityBad: quantità riscontrata guasti
- orders: lista di ordini. Contiene:
- number: numero ordine editore
- quantity: numero copie
- transporter: soggetto che effettua il trasporto. Contiene:
- type: tipologia del soggetto. Può assumere i seguenti valori:
- country: codice nazionalità dell'operatore terzo
- vatNumber: partita IVA dell'operatore terzo
- name: nome dell'operatore terzo
- transport:
- id: Id del viaggio
- plant: codice dell'impianto di destinazione del viaggio
- delivery: consegna. Contiene:
- date: data di consegna
- from: ora inizio slot di consegna
- to: ora fine slot di consegna
- pallets: numero bancali
- packages: numero colli
- transporter: soggetto che effettua il trasporto. Contiene:
- type: tipologia del soggetto. Può assumere i seguenti valori:
- country: codice nazionalità dell'operatore terzo
- vatNumber: partita IVA dell'operatore terzo
- name: nome dell'operatore terzo
L’API può restituire i seguenti codici di errore:
- 400 (Bad Request): query malformata.
- 401 (Unauthorized): il token di autenticazione non è valido oppure è scaduto.
- 404 (Not Found): ai parametri forniti non corrisponde alcuna DDT.
Esempio richiesta:
GET https://api.messaggerielibri.it/BOL/1900000061
Authorization: Bearer [TOKEN JWT]
Esempio risposta:
{
"id": "1900000061",
"vendor": {
"code": "243",
"description": "FELTRINELLI EDITORE"
},
"number": "002 - 21.05",
"date": "2019-05-21",
"plant": "ME60",
"state": 2,
"lastChangeDate": "2021-11-26T14:04:45.713Z",
"receiveDate": "2019-05-22",
"pallets": 2,
"packages": 3,
"transporter": {
"type": "operator",
"country": "IT",
"vatNumber": "34455667788",
"name": "GLR TRASPORTI "
},
"transport": {
"id": "0000000453",
"plant": "ME60",
"delivery": {
"date": "2019-05-25",
"from": "10:01",
"to": "10:30"
},
"pallets": 1,
"packages": 12,
"transporter": {
"type": "operator",
"country": "IT",
"vatNumber": "34455667788",
"name": "GLR TRASPORTI "
}
}
}
Features
Per utilizzare il metodo API è necessario possedere una o più delle seguenti
features:
altrimenti viene restituito 403 (Forbidden)
Conferma DDT
Conferma DDT
Conferma la ricezione di una DDT a magazzino.
Risponde a richieste POST verso l'endpoint /inbound/BOL/{id}/confirm
Per identificare la DDT da confermare sono utilizzati i seguenti parametri:
- id: identificativo univoco della DDT da confermare - string
Alla conferma può essere passato il seguente valore (opzionale) nel body, come stringa:
- data di ricezione della DDT a magazzino (in formato UTC)
L'API può restituire i seguenti codici di errore:
- 400 (Bad request): query malformata.
- 401 (Unauthorized): il token di autenticazione non è valido oppure è scaduto.
- 404 (Not Found): ai parametri forniti non corrisponde alcuna DDT.
Esempio richiesta
POST https://api.messaggerielibri.it/inbound/BOL/2100000123/confirm
Authorization: Bearer [TOKEN JWT]
Features
Per utilizzare il metodo API è necessario possedere una o più delle seguenti
features:
altrimenti viene restituito 403 (Forbidden)
Rimozione DDT dal viaggio
Rimozione DDT dal viaggio
Consente di rimuovere una DDT da un viaggio esistente
Risponde a richieste DELETE verso l'endpoint /inbound/transport/{transportNumber}/bols/{billOfLadingId}
Per identificare la DDT da eliminare sono utilizzati i seguenti parametri:
- transportNumber : di tipo string. rapresenta il numero del viaggio.
- billOfLadingId: di tipo string rapresenta l'id del ddt da eliminare.
Se l’esecuzione è terminata con successo, l’API restituisce 204 No Content senza alcun body.
L'API può restituire i seguenti codici di errore:
- 400 (Bad request): query malformata.
- 401 (Unauthorized): il token di autenticazione non è valido oppure è scaduto.
- 404 (Not Found): ai parametri forniti non corrisponde alcuna DDT o alcun viaggio.
Esempio richiesta
https://api.messaggerielibri.it/inbound/transport/0000000577/bols/1900000002
Features
Per utilizzare il metodo API è necessario possedere una o più delle seguenti
features:
altrimenti viene restituito 403 (Forbidden)
Conferma la ricezione di un viaggio
Conferma la ricezione di un viaggio
Consente la conferma dell'arrivo di un viaggio.
Risponde a richieste POST verso /inbound/transportConfirm
La conferma richiede un oggetto JSON contenente i seguenti campi:
- transportNumber: di tipo string. Deve essere di 10 caratteri e non può essere nullo o vuoto. Indica l’id del viaggio
- notes (opzionale): di tipo string e di massimo 1000 caratteri. Indica le note associate alla conferma dell’arrivo del viaggio
L'API può restituire i seguenti codici di errore:
- 400 (Bad request): query malformata.
- 401 (Unauthorized): il token di autenticazione non è valido oppure è scaduto.
- 404 (Not Found): ai parametri forniti non corrisponde alcun viaggio.
Esempio richiesta
POST https://api.messaggerielibri.it/inbound/transportConfirm
Authorization: Bearer [TOKEN JWT]
{
"transportNumber": "0123456789",
"notes": "Note conferma viaggio"
}
Features
Per utilizzare il metodo API è necessario possedere una o più delle seguenti
features:
- INBOUND_TRANSPORT_CONFIRM
altrimenti viene restituito 403 (Forbidden)
Ricerca di uno o più viaggi
Ricerca di uno o più viaggi
Consente la ricerca di uno o più viaggi
Risponde a richieste GET verso /inbound/transport
È possibile passare in querystring i seguenti parametri opzionali:
- id: lista di uno o più id viaggio ,ognuno di tipo string
- status: stato del Può assumere i seguenti valori
- all: tutti i possibili stati del viaggio
- archived: solo i viaggi che hanno note di conferma=annullato
- confirmed: solo i viaggi che hanno il flag di conferma
- canceled: solo i viaggi che hanno il flag di conferma
- open: solo i viaggi in stato confirmed con data nel futuro
- closed: solo i viaggi in stato confirmed ma con data nel passato
- startDate: limite inferiore sulla data del viaggio. Di tipo date
- startDate: limite inferiore sulla data del viaggio. Di tipo date
- endDate: limite superiore sulla data del viaggio. Di tipo date
- transporter: partita IVA del trasportatore del viaggio
- pageIndex: numero della pagina di record da restituire, di tipo number
- pageSize: quanti record restituire per pagina, di tipo number
- orderDirection: tipo di ordinamento, di tipo string. Può avere come valore asc o desc
- orderBy: campo su cui effettuare l’ordinamento, di tipo string. Può assumere i seguenti valori:
- id
- transporter
- plant
- date
- hour
- pallet
- package
- plant: magazzino del viaggio. Può assumere i seguenti valori:
L'API può restituire i seguenti codici di errore:
- 400 (Bad request): query malformata.
- 401 (Unauthorized): il token di autenticazione non è valido oppure è scaduto.
Esempio richiesta
GET https://api.messaggerielibri.it/inbound/transport?status=opened
Authorization: Bearer [TOKEN JWT]
Esempio risposta
{
"totlaCount":1,
"totalPages ":1,
"page":{
"index":1,
"size":50,
" from":1,
"to":1
},
"transports":[
{
"id":"6",
"plant":"Landriano",
"delivery":{
"date":"2019-05-11",
"from":"14:00",
"to":"15:30"
},
"pallets":5,
"packages":3,
"bolCount":"05",
"transporter":{
"type":"operator",
"country":"IT",
"vatNumber":"11111111111",
"name":"AM TRASPORTI"
}
}
]
}
Features
Per utilizzare il metodo API è necessario possedere una o più delle seguenti
features:
altrimenti viene restituito 403 (Forbidden)
Dettagli Viaggio
Dettagli Viaggio
Consente di recuperare il dettaglio di un viaggio insieme alle relative ddt dato un id.
Risponde a richieste GET verso: /inbound/transport/{id}, dove {id} rappresenta l'identificativo univoco del viaggio che si vuole recuperare.
L’API può restituire i seguenti codici di errore:
- 400 (Bad Request): query malformata.
- 401 (Unauthorized): il token di autenticazione non è valido oppure è scaduto.
- 404 (Not Found): ai parametri forniti non corrisponde alcun viaggio.
Esempio richiesta
GET https://api.messaggerielibri.it/inbound/transport/6
Authorization: Bearer [TOKEN JWT]
Esempio risposta
{
"bols": [],
"id": "0000000015",
"plant": "Stradella",
"delivery": {
"date": "2019-05-13",
"from": "11:30",
"to": "12:00"
},
"pallets": 2,
"packages": 65,
"transporter": {
"type": "vendor"
},
"bolCount": 0
}
Features
Per utilizzare il metodo API è necessario possedere una o più delle seguenti
features:
altrimenti viene restituito 403 (Forbidden)
Generazione pdf segnacollo DDT
Generazione pdf segnacollo DDT
Consente di stampare il pdf del segnacollo per una DDT.
Risponde a richieste GET verso /inbound/barcode
E' possibile passare in querystring i seguenti parametri, tutti opzionali:
- vendorCode: codice dell’editore. Per il non venditore è un campo obbligatorio; per il venditore deve esistere nella “vendor list” del chiamante.
- billOfLading: numero DDT. Obbligatorio, di tipo stringa, massimo 6 caratteri, solo numeri o lettere.
- owner: codice mittente. Opzionale, da fornire se la DDT è inviata da un operatore terzo (es. legatoria).
- format: formato da scaricare. Opzionale, consente i seguenti valori:
- pdf: segnacollo in formato PDF (valore predefinito),
- zpl: segnacollo in fomrato ZPL.
L'API può restituire i seguenti codici di errore:
- 400 (Bad request): query malformata.
- 401 (Unauthorized): il token di autenticazione non è valido oppure è scaduto.
Esempio richiesta
GET https://api.messaggerielibri.it/inbound/barcode?vendorCode=0000000015&billOfLading=12345
Authorization: Bearer [TOKEN JWT]
Features
Per utilizzare il metodo API è necessario possedere una o più delle seguenti
features:
altrimenti viene restituito 403 (Forbidden)
Restituisce l'elenco delle fasce orarie e lo stato di occupazione del magazzino
Restituisce l'elenco delle fasce orarie e lo stato di occupazione del magazzino
Consente di recuperare il calendario di un magazzino
Risponde a richieste GET verso inbound/plant/{plant}/timesheet
L’API può restituire i seguenti codici di errore:
- 400 (Bad Request): query malformata.
- 401 (Unauthorized): il token di autenticazione non è valido oppure è scaduto.
- 404 (Not Found): ai parametri forniti non corrisponde alcun magazzino.
Esempio richiesta
GET https://api.messaggerielibri.it/inbound/plant/ME60/timesheet?startDate=2021-
01-01&endDate=2021-02-01
Authorization: Bearer [TOKEN JWT]
Esempio risposta
Come risultato si ottiene una lista di oggetti contente la data e le relative fasce orarie. Di seguito un esempio dell’output:
[
{
"date":"2021-01-01",
"slots":[
{
"from":"09:00",
"to":"10:00",
"traffic":"mid",
"amount":234
}
]
}
]
Features
Per utilizzare il metodo API è necessario possedere una o più delle seguenti
features:
altrimenti viene restituito 403 (Forbidden)
Recupero fasce orarie magazzino
Recupero fasce orarie magazzino
Consente di recuperare le fasce orari disponibile del magazzino per una certa data.
Risponde a richieste GET verso: inbound/plant/{plant}/{date}/slot, dove {plant} rappresenta il codice del magazzino (ME60 o ME61) e {date} la data per cui si richiedono le fasce orarie disponibili del magazzino.
L’API può restituire i seguenti codici di errore:
- 400 (Bad Request): query malformata.
- 401 (Unauthorized): il token di autenticazione non è valido oppure è scaduto.
- 404 (Not Found): ai parametri forniti non corrisponde alcuna DDT.
Esempio richiesta
GET https://api.messaggerielibri.it/inbound/plant/ME60/2021-01-01/slot
Authorization: Bearer [TOKEN JWT]
Esempio risposta
Come risultato si ottiene una lista di oggetti contenente i dati sulla fascia oraria. Di seguito un esempio dell’output:
[
{
"from":"09:00",
"to":"10:00",
"traffic":"mid",
"saturationPercentage": 12.50
}
]
Features
Per utilizzare il metodo API è necessario possedere una o più delle seguenti
features:
altrimenti viene restituito 403 (Forbidden)
Costruzione automatica viaggio-corriere
Costruzione automatica viaggio-corriere
Associa una DDT ad un viaggio. Da richiamare a seguito della ricezione della notifica di consegna da parte del corriere.
Risponde a richieste POST verso /inbound/transporter/{tansporterVatNumber}/waybill/{waybillNumber}/setTransport
Per identificare la DDT da confermare sono utilizzati i seguenti parametri:
- transporterVatNumber: di tipo string. Deve contenere il codice nazione (2 caratteri) seguito da “-” e dalla partita IVA del corriere che gestisce la spedizione.
Codici per i corrieri noti:
- GLS: IT-12144660151
- SDA: IT-05714511002
- waybillNumber: di tipo string. Deve contenere il numero di spedizione generato dal corriere.
L’API può restituire i seguenti codici di errore:
- 400 (Bad Request): query malformata.
- 401 (Unauthorized): il token di autenticazione non è valido oppure è scaduto.
- 404 (Not Found): ai parametri forniti non corrisponde alcuna P.IVA o numero di spedizione.
Esempio richiesta
POST https://api.messaggerielibri.it/inbound/transporter/IT-12144660151/waybill/1234567890/setTransport
Authorization: Bearer [TOKEN JWT]
Features
Per utilizzare il metodo API è necessario possedere una o più delle seguenti
features:
altrimenti viene restituito 403 (Forbidden)
Download PDF di una DDT
Download PDF di una DDT
Effettua il download del PDF associato all'ID della DDT in ingresso
Risponde a richieste GET verso: /BOL/{id}/pdf, dove {id} rappresenta identificativo univoco della DDT che si vuole recuperare.
L’API può restituire i seguenti codici di errore:
- 400 (Bad Request): query malformata.
- 401 (Unauthorized): il token di autenticazione non è valido oppure è scaduto.
- 404 (Not Found): ai parametri forniti non corrisponde alcuna DDT.
Esempio richiesta:
GET https://ml-api-dev-mgmt.azure-api.net/BOL/1900000061/pdf
Authorization: Bearer [TOKEN JWT]
Features
Per utilizzare il metodo API è necessario possedere una o più delle seguenti
features:
altrimenti viene restituito 403 (Forbidden)
Aggiunta un viaggio ad una DDT
Aggiunta un viaggio ad una DDT
Consente di aggiungere un viaggio esistente ad una DDT
Risponde a richieste POST verso: /BOL/{idDDT}/transport, dove {idDDT} rappresenta identificativo univoco della DDT che si vuole associare.
L’API può restituire i seguenti codici di errore:
- 400 (Bad Request): query malformata.
- 401 (Unauthorized): il token di autenticazione non è valido oppure è scaduto.
- 404 (Not Found): ai parametri forniti non corrisponde alcuna DDT.
Esempio richiesta:
https://ml-api-dev-mgmt.azure-api.net/inbound/bol/2100000129/transport
Features
Per utilizzare il metodo API è necessario possedere una o più delle seguenti
features:
altrimenti viene restituito 403 (Forbidden)
Creazione di un viaggio
Creazione di un viaggio
Consente di caricare a sistema un viaggio.
Risponde a richieste POST verso /inbound/transport
Per creare il viaggio viene richiesto un oggetto JSON contenente i seguenti campi:
-
bols: codici delle bolle correlate al viaggio - array
- plant: codice del magazzino - string. Può assumere i seguenti valori:
- ME60: C&M Book Logistics di Stradella
- ME61: Geodis Landriano
- delivery: informazioni del viaggio. È composto dalle seguenti proprietà:
- date: data del viaggio - date
- from: orario di inizio slot per il viaggio - string
- to: orario di fine slot per il viaggio - string
- pallets: numero bancali - number
- packages: numero dei colli - number
- customerCode: codice legatoria dell’operatore terzo - string
- transporter: informazioni del trasportatore. È composto dalle seguenti proprietà:
- type: tipo di trasportatore- string
- customerCode: codice legatoria dell’operatore terzo - string
- vatNumber: partita IVA dell’operatore terzo - string e di esattamente 11 caratteri
Controlli di validazione
Il metodo API effettua i seguenti controlli di validazione:
- il customerCode deve corrispondere a un codice legatoria registrato a sistema. È alternativo a vatNumber.
- il vatNumber deve corrispondere a un operatore terzo registrato a sistema. È alternativo a customerCode.
- il numero dei bancali, pallets, deve essere compreso tra 1 e 33.
- il numero dei colli, packages, deve essere compreso tra 0 e 100000.
- gli EAN devono esistere e appartenente all’editore associato alla DDT.
- la date deve essere compresa tra il giorno della richiesta e i 5 giorni successivi non comprensivo della domenica.
- il from e il to devono essere coerenti con gli slot di trasporto.
- il from e il to, nel caso in cui date della richiesta sia uguale alla data odierna, devono essere corrispondenti a uno slot successivo all' orario della richiesta.
L'API può restituire i seguenti codici di errore:
- 400 (Bad request): query malformata.
- 401 (Unauthorized): il token di autenticazione non è valido oppure è scaduto.
Esempio richiesta
Il seguente esempio crea un viaggio
POST https://api.messaggerielibri.it/inbound/transport
Authorization: Bearer [TOKEN JWT]
Esempio body richiesta
{
"bols": ["ASDFDSSD77"],
"plant": "ME60",
"delivery": {
"date": "2022-11-28",
"from": "16:01",
"to": "16:30"
},
"pallets": 30,
"packages": 0,
"customercode": 15,
"transporter": {
"type": "operator",
"vatNumber": "11123423456"
}
}
Esempio risposta
Se l’esecuzione è terminata con successo, l’API restituisce il numeri identificativo del trasporto
{
"transportNumber": "0000001171"
}
Features
Per utilizzare il metodo API è necessario possedere una o più delle seguenti
features:
altrimenti viene restituito 403 (Forbidden)
Ricerca Carichi
Ricerca Carichi
Consente la ricerca di uno o più carichi.
Risponde a richieste GET verso /inbound/load
E' possibile passare in querystring i seguenti parametri:
- endDateFrom: Data fine carico (da) - string date (yyyy-MM-dd) [obbligatorio]
- endDateTo: Data fine carico (a) - string date (yyyy-MM-dd) [obbligatorio]
- sender: Codice editore - string
- billOfLading: Numero DDT del fornitore - string
- billOfLadingDate: Data DDT - string date (yyyy-MM-dd)
- binder: Codice legatore - string
- shippingAdviceNumber: Riferimento - string
- type: Tipo di carico - string
- ean: Codice EAN - string
- orderBy: Campo su cui effettuare l’ordinamento - può assumere i seguenti valori di tipo string:
- billOfLadingDate,
- quantityGood,
- quantityBad,
- endDate,
- shippingAdviceNumber,
- loadCode,
- loadDescription,
- senderCode,
- senderDescription,
- binderCode,
- binderDescription
- billOfLading
- ean
- title
- orderDirection: Direzione dell’ordinamento - può assumere i seguenti valori di tipo string:
- pageSize: Numero massimo di risultati restituiti da una chiamata - number, può assumere valori tra 1 e 1000 e come default 50
- pageIndex: Numero di pagina dei risultati da restituire - number, può assumere valore maggiore di 0 e come default 1
L’operazione restituisce un oggetto JSON contenente i seguenti campi:
- totalCount: numero totale di carichi trovati
- totalPages: numero totale di pagine previste
- page: informazioni sulla pagina corrente. Contiene:
- index: indice della pagina corrente
- size: dimensione della pagina
- from: indice del primo elemento della pagina (se la pagina ha elementi)
- to: indice dell'ultimo elemento della pagina (se la pagina ha elementi)
- loads: elenco dei carichi. Contiene:
- loadType: tipo di carico. Contiene:
- code: codice tipo di carico
- description: descrizione tipo di carico
- sender: editore. Contiene:
- code: codice editore
- description: descrizione editore
- binder: legatore. Contiene:
- code: codice legatore
- description: descrizione legatore
- billOfLading: DDT. Contiene:
- number: numero DDT
- date: data DDT
- shippingAdviceNumber: riferimento
- title: titolo. Contiene:
- eanCode: codice EAN
- title: titolo
- vendorCode: codice editore
- vendorDescription: descrizione editore
- quantity: copie carico. Contiene:
- good: copie buone
- bad: copie guasti
- endDate: data fine carico
L'API può restituire i seguenti codici di errore:
- 400 (Bad request): query malformata.
- 401 (Unauthorized): il token di autenticazione non è valido oppure è scaduto.
Esempio Richiesta
GET https://api.messaggerielibri.it/inbound/load?EndDateFrom=2023-05-01&EndDateTo=2023-05-08
Authorization: Bearer [TOKEN JWT]
Esempio risposta
{
"totalCount": 7,
"totalPages": 1,
"page": {
"index": 1,
"size": 50,
"from": 1,
"to": 7
},
"loads": [
{
"loadType": {
"code": "71",
"description": "Carico da legatoria"
},
"sender": {
"code": "6684600"
},
"binder": {
"code": "0123456"
},
"billOfLading": {
"number": "000027",
"date": "2023-05-07T00:00:00"
},
"shippingAdviceNumber": "2100000139",
"title": {
"eanCode": "9788815000026",
"title": "CLASSE OPERAIA E RIVOLUZIONE INDUSTRIALE A MILANO",
"vendorCode": "0000000015",
"vendorDescription": "IL MULINO"
},
"quantity": {
"good": 9,
"bad": 1
},
"endDate": "2023-05-08T00:00:00"
},
{
"loadType": {
"code": "71",
"description": "Carico da legatoria"
},
"sender": {
"code": "6684600"
},
"binder": {
"code": "0123456"
},
"billOfLading": {
"number": "000023",
"date": "2023-05-03T00:00:00"
},
"shippingAdviceNumber": "2300000037",
"title": {
"eanCode": "9788815048172",
"title": "REGIONI E FEDERALISMO FISCALE",
"vendorCode": "0000000015",
"vendorDescription": "IL MULINO"
},
"quantity": {
"good": 10,
"bad": 2
},
"endDate": "2023-05-06T00:00:00"
},
{
"loadType": {
"code": "71",
"description": "Carico da legatoria"
},
"sender": {
"code": "6684600"
},
"binder": {
"code": "0123456"
},
"billOfLading": {
"number": "000024",
"date": "2023-05-03T00:00:00"
},
"shippingAdviceNumber": "2300000037",
"title": {
"eanCode": "9788815048172",
"title": "REGIONI E FEDERALISMO FISCALE",
"vendorCode": "0000000015",
"vendorDescription": "IL MULINO"
},
"quantity": {
"good": 10,
"bad": 2
},
"endDate": "2023-05-06T00:00:00"
},
{
"loadType": {
"code": "71",
"description": "Carico da legatoria"
},
"sender": {
"code": "6684600"
},
"binder": {
"code": "0123456"
},
"billOfLading": {
"number": "000025",
"date": "2023-05-03T00:00:00"
},
"shippingAdviceNumber": "2300000037",
"title": {
"eanCode": "9788815048172",
"title": "REGIONI E FEDERALISMO FISCALE",
"vendorCode": "0000000015",
"vendorDescription": "IL MULINO"
},
"quantity": {
"good": 10,
"bad": 2
},
"endDate": "2023-05-06T00:00:00"
},
{
"loadType": {
"code": "71",
"description": "Carico da legatoria"
},
"sender": {
"code": "6684600"
},
"binder": {
"code": "0123456"
},
"billOfLading": {
"number": "000025",
"date": "2023-05-04T00:00:00"
},
"shippingAdviceNumber": "2200000119",
"title": {
"eanCode": "9788815048172",
"title": "REGIONI E FEDERALISMO FISCALE",
"vendorCode": "0000000015",
"vendorDescription": "IL MULINO"
},
"quantity": {
"good": 10,
"bad": 2
},
"endDate": "2023-05-06T00:00:00"
},
{
"loadType": {
"code": "71",
"description": "Carico da legatoria"
},
"sender": {
"code": "6684600"
},
"binder": {
"code": "0123456"
},
"billOfLading": {
"number": "000026",
"date": "2023-05-04T00:00:00"
},
"shippingAdviceNumber": "2200000125",
"title": {
"eanCode": "9788815048172",
"title": "REGIONI E FEDERALISMO FISCALE",
"vendorCode": "0000000015",
"vendorDescription": "IL MULINO"
},
"quantity": {
"good": 10,
"bad": 2
},
"endDate": "2023-05-06T00:00:00"
},
{
"loadType": {
"code": "71",
"description": "Carico da legatoria"
},
"sender": {
"code": "6684600"
},
"binder": {
"code": "0123456"
},
"billOfLading": {
"number": "000027",
"date": "2023-05-04T00:00:00"
},
"shippingAdviceNumber": "2100000240",
"title": {
"eanCode": "9788815048172",
"title": "REGIONI E FEDERALISMO FISCALE",
"vendorCode": "0000000015",
"vendorDescription": "IL MULINO"
},
"quantity": {
"good": 10,
"bad": 2
},
"endDate": "2023-05-06T00:00:00"
}
]
}
Features
Per utilizzare il metodo API è necessario possedere una o più delle seguenti
features:
altrimenti viene restituito 403 (Forbidden)
Rimozione viaggio da una DDT
Rimozione viaggio da una DDT
Consente di rimuovere un viaggio da una DDT
Risponde a richieste DELETE verso l'endpoint /inbound/BOL/{idDDT}/transport/{idTransport}
Per identificare la DDT da eliminare sono utilizzati i seguenti parametri:
- idTransport: di tipo string. rapresenta il numero del viaggio da eliminare.
- idDDT: di tipo string rapresenta l'id del ddt.
Se l’esecuzione è terminata con successo, l’API restituisce 204 No Content senza alcun body.
L'API può restituire i seguenti codici di errore:
- 400 (Bad request): query malformata.
- 401 (Unauthorized): il token di autenticazione non è valido oppure è scaduto.
- 404 (Not Found): ai parametri forniti non corrisponde alcuna DDT o alcun viaggio.
Esempio richiesta
https://api.messaggerielibri.it/inbound/BOL/1900000002/transport/0000000577
Features
Per utilizzare il metodo API è necessario possedere una o più delle seguenti
features:
altrimenti viene restituito 403 (Forbidden)