API Carico merci in libreria

Questa API consente di gestire le DDT e i titoli relativi a spedizioni verso le librerie.

Per gestire le API del Carico merci in libreria tramite autenticazione è necessario utilizzare lo scope: outbound_api_scope.

Operazioni

L'API espone i seguenti metodi:

Ricerca sommario DDT

Ottiene il sommario delle DDT.

Risponde a richieste GET verso: /outbound/bolSummary

Come filtri di ricerca, è possibile passare in query string i seguenti parametri opzionali:  

  • startDate: data di ricerca (da).
  • endDate: data di ricerca (a).
  • number: numero della DDT (può essere passato più volte).
  • customerRef: codice di riferimento cliente (può essere passato più volte).
  • ean: codice ean (può essere passato più volte).
  • customer: codice cliente (può essere passato più volte).


L'API può restituire i seguenti codici di errore:

  • 400 (Bad request): query malformata.
  • 401 (Unauthorized)il token di autenticazione non è valido oppure è scaduto.


L’operazione restituisce uno o più oggetti JSON contenente i seguenti campi:
 

  • shipped: numero di DDT in arrivo.
  • received: numero di DDT ricevute.
  • closed: numero di DDT chiuse.
  • error: numero di DDT con anomalie.
  • lost: numero di DDT perse.

Esempio richiesta: 

GET
https://api.messaggerielibri.it/outbound/bolSummary?&startDate=2018-01-01&endDate=2022-12-28
Authorization: Bearer[TOKEN JWT]

Esempio risposta: 

{
	"shipped": 3,
	"received": 68,
	"closed": 31,
	"error": 3,
	"lost": 7
}

Features

Per utilizzare il metodo API è necessario possedere una o più delle seguenti features:

  • delivery_read

altrimenti viene restituito 403 (Forbidden)

Ricerca DDT

Ottiene l’elenco delle DDT.

Risponde a richieste GET verso: /outbound/bol

Come filtri di ricerca, è possibile passare in query string i seguenti parametri opzionali: 

  • startDate: data di ricerca (da).
  • endDate: data di ricerca (a).
  • number: numero della DDT (può essere passato più volte).
  • customerRef: codice di riferimento cliente (può essere passato più volte).
  • ean: codice ean (può essere passato più volte).
  • customerCode: codice cliente (può essere passato più volte).
  • orderDirection: tipo di ordinamento, può avere come valore asc o desc (valore predefinito: asc).
  • orderBy: campo su cui effettuare l'ordinamento. Può assumere i seguenti valori:
    - customerCode
    - plant
    - receiveDate
    - courier
    - customerName
    - number
    - date
    - state
    - packagesCount
    - confirmedPackagesCount
    - titleCount
    - confirmedTitleCount
    - packedQuantity
    - packedListPrice
    - packedNetPrice
    - confirmedQuantity
    - confirmedListPrice
    - confirmedNetPrice
    - packagingAmount


L'API può restituire i seguenti codici di errore:

  • 400 (Bad Request): query malformata.
  • 401 (Unauthorized): il token di autenticazione non è valido oppure è scaduto.


L’operazione restituisce uno o più oggetti JSON contenente i seguenti campi:
 

  • totalCount: numero di DDT.
  • totalPages: numero di pagine.
  • page: oggetto contenente i seguenti campi:
    • index: indice.
    • size: numero di DDT per pagina.
    • from: da.
    • to: a.
  • bols: elenco di DDT, è una lista di oggetti contenenti i seguenti campi:
    • plant: codice dell’impianto da cui proviene la consegna, può assumere i valori ME60 o ME61. 
    • number: numero della DDT. 
    • date: data della DDT. 
    • customer
      • code: codice libreria.
      • description: descrizione libreria.
    • state: stato di consegna della DDT, può assumere i seguenti valori:
      • shipped: in arrivo.
      • received: ricevuto.
      • error: riscontrate anomalie.
      • lost: smarrito.
    • receivedDate: data di ricezione della DDT.
    • receiptNotes: note di ricezione della DDT.
    • courier
      • code: codice corriere.
      • description: descrizione corriere.
    • packed:
      • packages: quantità di colli attesi.
      • titles: quantità di titoli attesi.
      • quantity: quantità attesa.
      • listPrice: lordo atteso.
      • netPrice: netto atteso.
    • confirmed:
      • packages: quantità colli ricevuti.
      • titles: quantità titoli confermati.
      • quantity: quantità confermata.
      • listPrice: lordo confermato.
      • netPrice: netto confermato.
    • packagingAmount: numero di colli contenuti nella DDT.
    • newTitleInDDT: DDT con titoli novità.
    • shippingTrackingLink: tracking link spedizione.

Esempio richiesta: 

GET
https://api.messaggerielibri.it/outbound/bol?pageIndex=1&pageSize=50&endDate=2023-01-03&state=shipped&orderBy=date&orderDirection=asc
Authorization: Bearer[TOKEN JWT]

Esempio risposta: 

{
	"totalCount": 3,
	"totalPages": 1,
	"page": {
		"index": 1,
		"size": 50,
		"from": 1,
		"to": 3
	},
	"bols": [
		{
			"plant": "ME60",
			"number": "326467",
			"date": "2018-10-26",
			"customer": {
				"code": "05586700",
				"description": "VOLARE SAS DI VOLA MARCO E C."
			},
			"state": "shipped",
			"receiptNotes": "",
			"packed": {
				"titles": 18,
				"packages": 1,
				"quantity": 37,
				"listPrice": 528.10000,
				"netPrice": 300.89000
			},
			"packagingAmount": 1.0
		},
		{
			"plant": "ME60",
			"number": "327905",
			"date": "2018-10-29",
			"customer": {
				"code": "05586700",
				"description": "VOLARE SAS DI VOLA MARCO E C."
			},
			"state": "shipped",
			"receiptNotes": "",
			"packed": {
				"titles": 1,
				"packages": 2,
				"quantity": 35,
				"listPrice": 455.00000,
				"netPrice": 245.70000
			},
			"packagingAmount": 2.0
		},
		{
			"plant": "ME60",
			"number": "220343",
			"date": "2022-08-08",
			"customer": {
				"code": "00021500",
				"description": "HOEPLI SPA"
			},
			"state": "shipped",
			"courier": {
				"code": "00010566"
			},
			"packed": {
				"titles": 1,
				"packages": 18,
				"quantity": 1,
				"listPrice": 50.00000,
				"netPrice": 27.50000
			},
			"packagingAmount": 18.0
		}
	]
}

Features

Per utilizzare il metodo API è necessario possedere una o più delle seguenti features:

  • delivery_read

altrimenti viene restituito 403 (Forbidden)

Recupero DDT in formato PDF

Restituisce un documento di transito in formato PDF.

Risponde a richieste GET verso:  /outbound/plant/{plant}/bol/{year}/{billOfLading}/pdf

Per identificare la DDT da recuperare sono utilizzati i seguenti parametri:

  • plant: codice dell’impianto da cui proviene la consegna. Può assumere i valori ME60 o ME61.
  • year: anno di riferimento della DDT.
  • billOfLading: numero della DDT.


Il metodo restituisce uno stream binario contenente il PDF del documento di trasporto.

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 con relativo documento PDF.

     

Esempio richiesta :

GET 
https://api.messagerielibri.it/outbound/plant/ME60/bol/2018/259183/pdf
Authorization: Bearer [TOKEN JWT]

 

Features

Per utilizzare il metodo API è necessario possedere una o più delle seguenti features:

  • delivery_read

altrimenti viene restituito 403 (Forbidden)

Elenco colli DDT

Restituisce l'elenco dei colli associati ad una singola DDT o a DDT multiple.

Risponde a richieste GET verso: 

  • /outbound/plant/{plant}/bol/{year}/{billOfLading} (DDT singola) 
  • /outbound/plant/{plant}/bol/{year}?number={billOfLading} (DDT multiple)


Per identificare la DDT recuperare sono utilizzati i seguenti parametri: 

  • plant: codice dell’impianto da cui proviene la consegna, può assumere i valori ME60 o ME61. 
  • year: anno di riferimento della DDT. 
  • billOfLading: numero della DDT (nel caso di DDT singola). 
  • number: numero della DDT (nel caso di DDT multiple, inserito in query string, può essere passato più volte).


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 (consultazione di una DDT singola).


Per la consultazione di DDT multiple, nel caso in cui ai parametri forniti non corrispondano DDT presenti a sistema, viene restituita una lista vuota.


L’operazione restituisce uno o più oggetti JSON contenente i seguenti campi:
 

  • plant: codice dell’impianto da cui proviene la consegna, può assumere i valori ME60 o ME61. 
  • number: numero della DDT. 
  • date: data della DDT. 
  • customerCode: codice cliente destinatario della DDT. 
  • state: stato di consegna della DDT, può assumere i seguenti valori:
    • shipped: in arrivo
    • received: ricevuto
    • error: riscontrate anomalie
    • lost: smarrito
  • receiveDate: data di ricezione della DDT.
  • receiptNotes: note di ricezione della DDT. 
  • packages: elenco dei colli associati alla DDT, è una lista di oggetti contenenti i seguenti campi:
    • id: numero collo. 
    • state: stato di consegna del collo, può assumere i seguenti valori:
      • shipped: in arrivo
      • received: ricevuto
      • error: riscontrate anomalie
      • lost: smarrito
    • packed: riassunto del contenuto dichiarato del collo, contiene:
      • quantity: numero copie contenute nel collo.
      • listPrice: importo lordo del collo.
      • netPrice: importo netto del collo.
    • confirmed: riassunto del contenuto confermato del collo, contiene:
      • quantity: numero copie confermate nel collo.
      • listPrice: importo lordo confermato del collo.
      • netPrice: importo netto confermato del collo. 

Esempio richiesta DDT singola:

GET https://api.messaggerielibri.it/outbound/plant/ME60/bol/2018/259183
Authorization: Bearer [TOKEN JWT]

Esempio risposta DDT singola:

{
   "plant":"ME60",
   "number":"259183",
   "date":"2018-09-05",
   "customerCode":"00021500",
   "state":"received",
   "receiveDate":"2018-09-07T10:24:57Z",
   "receiptNotes":"Note di ricezione ...",
   "packages":[
      {
         "id":"MEL004952916",
         "state":"received",
         "packed":{
            "quantity":20,
            "listPrice":380.00000,
            "netPrice":194.60000
         },
         "confirmed":{
            "quantity":1,
            "listPrice":0.0000,
            "netPrice":0.0000
         }
      },
      {
         "id":"MEL004953156",
         "state":"received",
         "packed":{
            "quantity":15,
            "listPrice":223.50000,
            "netPrice":132.00000
         },
         "confirmed":{
            "quantity":15,
            "listPrice":223.5000,
            "netPrice":132.0000
         }
      },
      {
         "id":"MEL004953157",
         "state":"shipped",
         "packed":{
            "quantity":31,
            "listPrice":558.00000,
            "netPrice":285.82000
         }
      }
   ]
}

Esempio richiesta DDT multiple: 

GET
https://api.messaggerielibri.it/outbound/bol?orderDirection=desc&orderBy=packagesCount
Authorization: Bearer [TOKEN JWT]

Esempio risposta DDT multiple: 

[
   {
      "plant":"ME60",
      "number":"259183",
      "date":"2018-09-05",
      "customerCode":"00021500",
      "state":"received",
      "receiveDate":"2018-09-07T10:24:57Z",
      "receiptNotes":"Note di ricezione ...",
      "packages":[
         {
            "id":"MEL004952916",
            "state":"received",
            "packed":{
               "quantity":20,
               "listPrice":380.00000,
               "netPrice":194.60000
            },
            "confirmed":{
               "quantity":1,
               "listPrice":0.0000,
               "netPrice":0.0000
            }
         },
         {
            "id":"MEL004953156",
            "state":"shipped",
            "packed":{
               "quantity":15,
               "listPrice":223.50000,
               "netPrice":132.00000
            }
         }
      ]
   },
   {
      "plant":"ME60",
      "number":"261529",
      "date":"2018-09-07",
      "customerCode":"02501701",
      "state":"shipped",
      "packages":[
         {
            "id":"MEL013548874",
            "state":"shipped",
            "packed":{
               "quantity":1,
               "listPrice":0.00000,
               "netPrice":0.00000
            }
         }
      ]
   }
]

 

Features

Per utilizzare il metodo API è necessario possedere una o più delle seguenti features:

  • delivery_read

altrimenti viene restituito 403 (Forbidden)

Elenco posizioni DDT

Ottiene l'elenco delle posizioni contenute in una singola DDT.

Risponde a richieste GET verso: 

  • /outbound/plant/{plant}/bol/{year}/{billOfLading}/position (DDT singola) 
  • /outbound/plant/{plant}/bol/{year}/position?number={billOfLading} (DDT multiple) 

 
Per identificare la posizione della DDT da recuperare sono utilizzati i seguenti parametri: 

  • plant: codice dell’impianto da cui proviene la consegna, può assumere i valori ME60 o ME61. 
  • year: anno di riferimento della DDT. 
  • billOfLading: numero della DDT (nel caso di DDT singola). 
  • number: numero della DDT (nel caso di DDT multiple, inserito in query string, può essere passato più volte).


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.


Per la consultazione di DDT multiple, nel caso ai parametri forniti non corrispondano DDT presenti a sistema è restituita una lista vuota.
 

L’operazione restituisce uno o più oggetti JSON contenente i seguenti campi: 

  • plant: codice dell’impianto da cui proviene la consegna, può assumere i valori ME60 o ME61. 
  • number: numero della DDT. 
  • date: data della DDT. 
  • customer: cliente destinatario della DDT, contiene
    • code: codice cliente
    • description: nome del cliente
  • positions: elenco delle posizioni della DDT, contiene:
    • ean: codice EAN
    • title: titolo completo
    • vendor: editore del titolo
      • code: codice editore
      • description: nome dell'editore
    • quantity: quantità
    • price: prezzo di copertina
    • totalPrice: importo lordo totale di posizione
    • deliveryRef: riferimento alla consegna MeLi
      • number: numero di consegna
      • position: posizione della consegna
    • customerRef: riferimento all'ordine cliente
      • number: numero riferimento ordine cliente
      • date: data riferimento ordine cliente
      • position: posizione riferimento ordine cliente
    • discount: valori di sconto
      • precentage: % sconto anagrafica
      • amount: valore sconto anagrafica
      • additionalPercentage: % sconto Occasionale
      • additionalAmount: valore sconto occasionale
      • rebatePercentage: % riaccredito cliente
      • rebateAmount: valore riaccredito Cliente
    • netAmount: netto sconto unitario
    • totalNetAmount: valore netto sconto
    • packing: porto / imballo
      • percentage: % maggiorazione porto / imballo
      • amount: valore maggiorazione porto / imballo
    • taxes: imposte
      • taxableAmount: imponibile unitario
      • taxableTotalAmount: imponibile totale di riga
      • amount: imposta unitario
      • totalAmount: imposta totale di riga
  • termsOfPayment: termini di pagamento, contiene:
    • code: codice del tipo di pagamento
    • description: tipo di pagamento
  • paymentMethod: modalità di pagamento, contiene:
    • code: codice della modalità di pagamento
    • description: tipo di modalità di pagamento
  • typeOfSupply: tipo fornitura, contiene:
    • code: codice del tipo di fornitura
    • description: tipo di fornitura
  • relevantForBilling: fatturazione MeLi

 

Esempio richiesta DDT singola:

GET https://api.messaggerielibri.it/outbound/plant/ME60/bol/2021/005661/position
Authorization: Bearer [TOKEN JWT]

Esempio risposta DDT singola:

[
  {
    "ean": "9788862508087",
    "quantity": 2,
    "price": 18.00,
    "totalPrice": 36.00,
    "deliveryRef": {
      "number": "0806432707",
      "position": "000001"
    },
    "discount": {
      "percentage": 35.00,
      "amount": 12.12,
      "rebatePercentage": 100.00,
      "rebateAmount": 0.48
    },
    "taxes": {
      "taxableAmount": 11.70,
      "taxableTotalAmount": 23.40,
      "amount": 0.00,
      "totalAmount": 0.00
    },
    "termsOfPayment": {
      "code": "15",
      "description": "150 GG. FINE MESE"
    },
    "paymentMethod": {
      "code": "8",
      "description": "Ricevuta bancaria"
    },
    "typeOfSupply": {
      "code": "BA",
      "description": "Vendita"
    },
    "relevantForBilling": true
  }
]

Esempio richiesta DDT multiple: 

GET
https://api.messaggerielibri.it/outbound/plant/ME60/bol/2022/position?number=286532&number=286534
Authorization: Bearer [TOKEN JWT]

Esempio risposta DDT multiple: 

[
  {
    "plant": "ME60",
    "number": "286532",
    "date": "2022-10-18",
    "customer": {
      "code": "00021500",
      "description": "HOEPLI SPA"
    },
    "positions": [
      {
        "ean": "9788832820089",
        "title": "CRITICA DEL PENSIERO UNICO",
        "vendor": {
          "code": "339",
          "description": "ALBERTO CASTELVECCHI - LIT ED."
        },
        "quantity": 35,
        "price": 5.00,
        "totalPrice": 4.81,
        "deliveryRef": {
          "number": "286530",
          "position": "000001"
        },
        "customerRef": {
          "number": "FAX_20210902132703",
          "date": "2021-09-02",
          "position": "000001"
        },
        "discount": {
          "percentage": 37.00,
          "amount": -370.00,
          "additionalPercentage": 0.00,
          "rebatePercentage": -3.00
        },
        "netAmount": 3.22,
		"termsOfPayment": {
		  "code": "15",
          "description": "150 GG. FINE MESE"
        },
		"paymentMethod": {
          "code": "8",
          "description": "Ricevuta bancaria"
        },
		"typeOfSupply": {
          "code": "BA",
          "description": "Vendita"
        },
		"relevantForBilling": true
      },
      {
        "ean": "9788832820090",
        "quantity": 35,
        "price": 5.00,
        "totalPrice": 4.81,
        "deliveryRef": {
          "number": "286530",
          "position": "000002"
        },
        "customerRef": {
          "number": "FAX_20210902132703",
          "date": "2021-09-02",
          "position": "000001"
        },
        "discount": {
          "percentage": 37.00,
          "amount": -250.00,
          "additionalPercentage": 0.00,
          "rebatePercentage": -3.00
        },
        "netAmount": 3.22,
		"termsOfPayment": {
		  "code": "15",
          "description": "150 GG. FINE MESE"
        },
		"paymentMethod": {
          "code": "8",
          "description": "Ricevuta bancaria"
        },
		"typeOfSupply": {
          "code": "BA",
          "description": "Vendita"
        },
		"relevantForBilling": true
      }
   }
]
[
  {
    "plant": "ME60",
    "number": "286532",
    "date": "2022-10-18",
    "customer": {
      "code": "00021500",
      "description": "HOEPLI SPA"
    },
    "positions": [
      {
        "ean": "9788832820089",
        "title": "CRITICA DEL PENSIERO UNICO",
        "vendor": {
          "code": "339",
          "description": "ALBERTO CASTELVECCHI - LIT ED."
        },
        "quantity": 35,
        "price": 5.00,
        "totalPrice": 4.81,
        "deliveryRef": {
          "number": "286530",
          "position": "000001"
        },
        "customerRef": {
          "number": "FAX_20210902132703",
          "date": "2021-09-02",
          "position": "000001"
        },
        "discount": {
          "percentage": 37.00,
          "amount": -370.00,
          "additionalPercentage": 0.00,
          "rebatePercentage": -3.00
        },
        "netAmount": 3.22,
		"termsOfPayment": {
		  "code": "15",
          "description": "150 GG. FINE MESE"
        },
		"paymentMethod": {
          "code": "8",
          "description": "Ricevuta bancaria"
        },
		"typeOfSupply": {
          "code": "BA",
          "description": "Vendita"
        },
		"relevantForBilling": true
      },
      {
        "ean": "9788832820090",
        "quantity": 35,
        "price": 5.00,
        "totalPrice": 4.81,
        "deliveryRef": {
          "number": "286530",
          "position": "000002"
        },
        "customerRef": {
          "number": "FAX_20210902132703",
          "date": "2021-09-02",
          "position": "000001"
        },
        "discount": {
          "percentage": 37.00,
          "amount": -250.00,
          "additionalPercentage": 0.00,
          "rebatePercentage": -3.00
        },
        "netAmount": 3.22,
		"termsOfPayment": {
		  "code": "15",
          "description": "150 GG. FINE MESE"
        },
		"paymentMethod": {
          "code": "8",
          "description": "Ricevuta bancaria"
        },
		"typeOfSupply": {
          "code": "BA",
          "description": "Vendita"
        },
		"relevantForBilling": true
      }
   }
]

Features

Per utilizzare il metodo API è necessario possedere una o più delle seguenti features:

  • delivery_read

altrimenti viene restituito 403 (Forbidden)

Elenco titoli che appartengono a uno o più colli

Restituisce l’elenco dei titoli presenti in uno o più colli di una DDT. 

Risponde a richieste GET verso: 

  • /outbound/plant/{plant}/bol/{year}/{billOfLading}/package/{packageId} (Collo singolo con indicazione del collo) 
  • /outbound/package (Colli multipli)
  • /outbound/plant/{plant}/bol/{year}/{billOfLading}/package (Colli multipli con indicazione di impianto, anno e numero DDT)


Per identificare il collo da recuperare sono utilizzati i seguenti parametri: 

  • plant: codice dell’impianto da cui proviene la consegna, può assumere i valori ME60 o ME61.
  • year: anno di riferimento della DDT. 
  • billOfLading: numero della DDT.
  • packageId: identificativo del collo (nel caso di Collo singolo).
  • id: identificativo del collo (nel caso di Colli multipli, inserito in query string, può essere passato più volte).


L'API può restituire i seguenti codici di errore:

  • 401 (Unauthorized)il token di autenticazione non è valido oppure è scaduto. 
  • 404 (Not Found): ai parametri forniti non corrisponde alcun Collo (consultazione di una DDT singola).


Per la consultazione di Colli multipli, nel caso in cui ai parametri forniti non corrispondano Colli presenti a sistema, viene restituita una lista vuota.

L’operazione restituisce uno o più oggetti JSON contenente i seguenti campi: 

  • id: identificativo del collo.
  • state: stato di consegna del collo, può assumere i seguenti valori:
    • shipped: in arrivo.
    • received: ricevuto.
    • error: riscontrate anomalie.
    • lost: smarrito.
  • titles: elenco dei titoli contenuti nel collo, è una lista di oggetti contenenti i seguenti campi: 
    • ean: codice EAN del titolo.
    • title: titolo.
    • vendor:
      • code: codice editore.
      • description: descrizione editore.
    • price: prezzo di copertina
    • customerRef:
      • number: codice riferimento cliente. 
      • date: data riferimento cliente.
    • packedQuantity: copie dichiarate.
    • confirmedQuantity: copie confermate.

Esempio richiesta collo singolo: 

GET
https://api.messaggerielibri.it/outbound/plant/ME60/bol/2018/340901/package/MEL0211930
Authorization: Bearer[TOKEN JWT]

Esempio risposta collo singolo: 

{
   "id":"MEL002211930",
   "state":"received",
   "titles":[
      {
         "ean":"9780714846620",
         "title":"STEPHEN SHORE",
         "vendor":{
            "code":"371",
            "description":"PHAIDON PRESS LIMITED"
         },
         "price":39.95,
         "customerRef":{
            "number":"29669-18",
            "date":"2018-10-31"
         },
         "packedQuantity":1
      }
   ]
}

 

Esempio richiesta colli multipli: 

GET 
https://ml-api-dev-mgmt.azure-api.net/outbound/package?id=MEL002211930&id=MEL002212855
Authorization: Bearer [TOKEN JWT]

Esempio risposta colli multipli: 

[ 

    { 

      "id": "MEL002211930", 

      "state": "received", 

      "billofLading": { 

        "plant": "ME60", 

        "number": "340901", 

        "date": "2018-11-06", 

        "customerCode": "00021500", 

        "state": "received" 

      }, 

      "titles": [ 

        { 

          "ean": "9780714846620", 

          "title": "STEPHEN SHORE", 

          "vendor": { 

            "code": "371", 

            "description": "PHAIDON PRESS LIMITED" 

          }, 

          "price": 39.95, 

          "customerRef": { 

            "number": "29669-18", 

            "date": "2018-10-31" 

          }, 

          "packedQuantity": 1 

        } 

      ] 

    }, 

    { 

      "id": "MEL002212855", 

      "state": "shipped", 

      "billofLading": { 

        "plant": "ME60", 

        "number": "340901", 

        "date": "2018-11-06", 

        "customerCode": "00021500", 

        "state": "received" 

      }, 

      "titles": [ 

        { 

          "ean": "9782067211872", 

          "title": "CARTA 11750 ISLANDA", 

          "vendor": { 

            "code": "560", 

            "description": "MICHELIN CARTOGRAFIA" 

          }, 

          "price": 8.50, 

          "customerRef": { 

            "number": "29832-18", 

            "date": "2018-11-02" 

          }, 

          "packedQuantity": 2 

        }, 

        { 

          "ean": "9780714873459", 

          "title": "YAYOI KUSAMA", 

          "vendor": { 

            "code": "371", 

            "description": "PHAIDON PRESS LIMITED" 

          }, 

          "price": 59.95, 

          "customerRef": { 

            "number": "29787-18", 

            "date": "2018-10-31" 

          }, 

          "packedQuantity": 1 

        } 

      ] 

    } 

  ] 

Esempio richiesta colli multipli con parametri:

GET
https://api.messaggerielibri.it/outbound/plant/ME60/bol/2022/220343/package
Authorization: Bearer [TOKEN JWT]

Esempio risposta colli multipli con parametri:

[
	{
		"id": "MEL053609668",
		"state": "shipped",
		"titles": [
			{
				"price": 50.00,
				"customerRef": {
					"number": "740753760",
					"date": "2022-06-08"
				},
				"packedQuantity": 1
			}
		]
	}
]

 

 

 

 

Features

Per utilizzare il metodo API è necessario possedere una o più delle seguenti features:

  • delivery_read

altrimenti viene restituito 403 (Forbidden)

Conferma consegna

Conferma la ricezione di una consegna presso la libreria.

Risponde a richieste POST verso: /outbound/plant/{plant}/bol/{year}/{billOfLading}/checkin

Per identificare la DDT da confermare sono utilizzati i seguenti parametri: 

  • plant: codice dell’impianto da cui proviene la consegna, può assumere i valori ME60 o ME61. 
  • year: anno di riferimento della DDT. 
  • billOfLading: numero della DDT.


La conferma richiede un oggetto JSON contenente i seguenti campi:

  • packageCount: numero dei colli ricevuti 
  • packages: lista dei codici dei colli da confermare.
  • date: data di ricezione della consegna. Opzionale: se non fornita viene considerata la data corrente.
  • notes: note di ricezione. Opzionale: indica una nota descrittiva associata alla DDT.


Il metodo API effettua i seguenti controlli di validazione:

  • Uno tra numero colli e lista colli deve essere valorizzato. 
  • Se sono valorizzati sia numero, sia lista colli, il numero colli deve essere uguale al numero di elementi contenuti nella lista dei colli. 
  • I codici presenti nella lista dei colli devono corrispondere a colli associati alla DDT 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. 
  • 404 (Not Found): ai parametri forniti non corrisponde alcuna DDT.

Esempio richiesta

GET
https://api.messagerielibri.it/outbound/plant/ME60/bol/2018/259183/checkin
Authorization: Bearer [TOKEN JWT]

body:
{
    "packageCount": 3,
    "packages": [ "MEL004952916", "MEL004953156", "MEL004953157" ],
    "date": "2021-06-17",
    "notes": "...note di consegna"
}

Features

Per utilizzare il metodo API è necessario possedere una o più delle seguenti features:

  • delivery_confirm

altrimenti viene restituito 403 (Forbidden)

Ricerca titoli in consegna

Ottiene l'elenco dei titoli in consegna.

Risponde a richieste GET verso: /outbound/title

Come filtri di ricerca, è possibile passare in query string i seguenti parametri opzionali: 

  • customerCode: codice cliente. Se non fornito, l’API restituisce i dati corrispondenti a tutte le librerie visibili dal chiamante.
  • startDate: data di ricerca (da)
  • endDate: data di ricerca (a) 
  • orderDirection: tipo di ordinamento, può avere come valore asc o desc (valore predefinito: asc).
  • orderBy: campo su cui effettuare l’ordinamento. Può assumere i seguenti valori:
    • number: numero DDT
    • date: data DDT
    • ean: codice EAN
    • title: titolo
    • vendor: codice editore
    • state: stato di consegna della DDT
    • package: Id del collo
    • packedQuantity: numero di copie dichiarate
    • confirmedQuantity: numero di copie confermate
    • customerReference: riferimento cliente
    • customerReferenceDate: data riferimento cliente


L'API può restituire i seguenti codici di errore:

  • 400 (Bad Request): query malformata.
  • 401 (Unauthorized): il token di autenticazione non è valido oppure è scaduto.


L’operazione restituisce uno o più oggetti JSON contenente i seguenti campi:
 

  • totalCount: numero totale di titoli trovati in base ai parametri di ricerca. 
  • totalPages: numero totale di pagine trovate. 
  • page: oggetto contenente i seguenti campi:
    • index: indice della pagina corrente (partendo da 1).
    • size: dimensione della pagina. 
    • from: indice del primo elemento contenuto nella pagina (partendo da 1).
    • to: indice dell’ultimo elemento contenuto nella pagina.
  • titles:
    • ean: codice EAN del titolo
    • title: titolo
    • vendor:
      • code: codice editore
      • description: descrizione editore
    • price: prezzo di copertina
    • customerRef:
      • number: codice riferimento cliente
      • date: data riferimento cliente
    • billOfLading: dati della DDT che contiene il titolo, contiene i seguenti campi:
      • plant: codice dell’impianto da cui proviene la consegna, può assumere i valori ME60 o ME61.
      • number: numero della DDT.
      • date: data della DDT.
      • customerCode: codice cliente destinatario della DDT.
      • state: stato di consegna della DDT, può assumere i seguenti valori:
        • shipped: in arrivo.
        • received: ricevuto.
        • error: riscontrate anomalie.
        • lost: smarrito.
    • package: dati del collo che contiene il titolo, contiene i seguenti campi:
      • id: identificativo del collo.
      • state: stato di consegna del collo, può assumere i seguenti valori:
        • shipped: in arrivo.
        • received: ricevuto.
        • error: riscontrate anomalie.
        • lost: smarrito.
    • packedQuantity: numero di copie dichiarate.
    • confirmedQuantity: numero di copie confermate.

Esempio richiesta

GET 
https://api.messagerielibri.it/outbound/title
Authorization: Bearer [TOKEN JWT]

Esempio risposta

{ 

  "totalCount": 9226, 

  "totalPages": 185, 

  "page": { 

    "index": 1, 

    "size": 50, 

    "from": 1, 

    "to": 50 

  }, 

  "titles": [ 

    { 

      "ean": "9788854188501", 

      "title": "I DOLCI NAPOLETANI IN 300 RICETTE", 

      "vendor": { 

        "code": "541", 

        "description": "NEWTON COMPTON EDITORI" 

      }, 

      "price": 4.90, 

      "customerRef": { 

        "date": "2015-12-29" 

      }, 

      "billofLading": { 

        "plant": "ME60", 

        "number": "339919", 

        "date": "2016-12-12", 

        "customerCode": "06000559", 

        "state": "received" 

      }, 

      "package": { 

        "id": "MEL002953075", 

        "state": "shipped" 

      }, 

      "packedQuantity": 1, 

      "confirmedQuantity": 1 

    }, 

    { 

      "ean": "9788811684220", 

      "title": "V.E. IL PROFUMO DELLE FOGLIE DI LIMONE", 

      "vendor": { 

        "code": "101", 

        "description": "GARZANTI LIBRI S.P.A." 

      }, 

      "price": 9.90, 

      "customerRef": { 

        "date": "2015-12-29" 

      }, 

      "billofLading": { 

        "plant": "ME60", 

        "number": "339919", 

        "date": "2016-12-12", 

        "customerCode": "06000559", 

        "state": "received" 

      }, 

      "package": { 

        "id": "MEL002953498", 

        "state": "shipped" 

      }, 

      "packedQuantity": 3, 

      "confirmedQuantity": 3 

    }, 

    { 

      "ean": "9788838927072", 

      "title": "GLI SCHELETRI NELL'ARMADIO", 

      "vendor": { 

        "code": "017", 

        "description": "SELLERIO EDITORE  SRL" 

      }, 

      "price": 13.00, 

      "customerRef": { 

        "date": "2015-12-29" 

      }, 

      "billofLading": { 

        "plant": "ME60", 

        "number": "339919", 

        "date": "2016-12-12", 

        "customerCode": "06000559", 

        "state": "received" 

      }, 

      "package": { 

        "id": "MEL002953498", 

        "state": "shipped" 

      }, 

      "packedQuantity": 1, 

      "confirmedQuantity": 1 

    }, 

    { 

      "ean": "9788838930652", 

      "title": "IL SEGRETO DI ANGELA", 

      "vendor": { 

        "code": "017", 

        "description": "SELLERIO EDITORE  SRL" 

      }, 

      "price": 14.00, 

      "customerRef": { 

        "date": "2015-12-29" 

      }, 

      "billofLading": { 

        "plant": "ME60", 

        "number": "339919", 

        "date": "2016-12-12", 

        "customerCode": "06000559", 

        "state": "received" 

      }, 

      "package": { 

        "id": "MEL002953498", 

        "state": "shipped" 

      }, 

      "packedQuantity": 1, 

      "confirmedQuantity": 1 

    }, 

    { 

      "ean": "9788838931987", 

      "title": "IL CASO KAKOIANNIS SFORZA", 

      "vendor": { 

        "code": "017", 

        "description": "SELLERIO EDITORE  SRL" 

      }, 

      "price": 14.00, 

      "customerRef": { 

        "date": "2015-12-29" 

      }, 

      "billofLading": { 

        "plant": "ME60", 

        "number": "339919", 

        "date": "2016-12-12", 

        "customerCode": "06000559", 

        "state": "received" 

      }, 

      "package": { 

        "id": "MEL002953498", 

        "state": "shipped" 

      }, 

      "packedQuantity": 1, 

      "confirmedQuantity": 1 

    }, 

    { 

      "ean": "9788838932854", 

      "title": "PICCOLA ENCICLOPEDIA DELLE OSSESSIONI", 

      "vendor": { 

        "code": "017", 

        "description": "SELLERIO EDITORE  SRL" 

      }, 

      "price": 16.00, 

      "customerRef": { 

        "date": "2015-12-29" 

      }, 

      "billofLading": { 

        "plant": "ME60", 

        "number": "339919", 

        "date": "2016-12-12", 

        "customerCode": "06000559", 

        "state": "received" 

      }, 

      "package": { 

        "id": "MEL002953498", 

        "state": "shipped" 

      }, 

      "packedQuantity": 1, 

      "confirmedQuantity": 1 

    }, 

    { 

      "ean": "9788838933714", 

      "title": "L'UOMO CON LA VALIGIA", 

      "vendor": { 

        "code": "017", 

        "description": "SELLERIO EDITORE  SRL" 

      }, 

      "price": 14.00, 

      "customerRef": { 

        "date": "2015-12-29" 

      }, 

      "billofLading": { 

        "plant": "ME60", 

        "number": "339919", 

        "date": "2016-12-12", 

        "customerCode": "06000559", 

        "state": "received" 

      }, 

      "package": { 

        "id": "MEL002953498", 

        "state": "shipped" 

      }, 

      "packedQuantity": 1, 

      "confirmedQuantity": 4 

    } 

  ] 

} 

Features

Per utilizzare il metodo API è necessario possedere una o più delle seguenti features:

  • delivery_read

altrimenti viene restituito 403 (Forbidden)

Riscontro titoli

Conferma la ricezione di un titolo presso la libreria.

Risponde a richieste POST verso: 

  • /outbound/plant/{plant}/bol/{year}/{billOfLading}/title/{eanCode}/checkin (singolo EAN senza indicazione del collo)
  • /outbound/plant/{plant}/bol/{year}/{billOfLading}/package/{packageId}/title/{eanCode}/checkin (singolo EAN con indicazione del collo) 
  • /outbound/plant/{plant}/bol/{year}/{billOfLading}/titleCheckin (EAN multipli senza indicazione del collo) 
  • /outbound/plant/{plant}/bol/{year}/{billOfLading}/package/{packageId}/titleCheckin (EAN multipli con indicazione del collo)


Per identificare la DDT e il titolo da confermare sono utilizzati i seguenti parametri: 

  • plant: codice dell’impianto da cui proviene la consegna, può assumere i valori ME60 o ME61. 
  • year: anno di riferimento della DDT. 
  • billOfLading: numero della DDT.
  • packageId: Id del collo contenente i titoli. (richiesta con indicazione del collo)
  • eanCode: codice EAN del titolo da confermare. (richiesta per singolo EAN)


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 e/o titolo.


La conferma per EAN singolo richiede di passare un intero che rappresenta il numero di copie ricevute per il titolo.

La conferma per EAN multipli richiede una lista di oggetti JSON contenenti i seguenti campi: 

  • ean: codice EAN del titolo.
  • quantity: numero di copie ricevute per il titolo.


Il metodo API effettua i seguenti controlli di validazione:
 

  • La quantità deve essere maggiore di zero. 
  • Nel caso di invio di EAN multipli, occorre passare almeno un codice EAN e gli EAN devono essere contenuti nella DDT e nel collo (se indicato) 

 

Esempio richiesta singolo EAN senza indicazione del collo:

POST 
https://api.messaggerielibri.it/outbound/plant/ME60/bol/2018/256405/title/9788807173516/checkin
Authorization: Bearer [TOKEN JWT]

body: 120

 

Esempio richiesta singolo EAN con indicazione del collo:

POST 
https://api.messaggerielibri.it/outbound/plant/ME60/bol/2018/256405/package/MEL013537138/title/9788807173516/checkin
Authorization: Bearer [TOKEN JWT]

body: 120

 

Esempio richiesta EAN multipli senza indicazione del collo:

POST 
https://api.messaggerielibri.it/outbound/plant/ME60/bol/2018/256405/titleCheckin
Authorization: Bearer [TOKEN JWT]

body:
[
        {
                "ean": "9788893445870" ,
                "quantity": 20
         },
        {
                "ean": "9788893674577" ,
                "quantity": 8
         },
        {
                "ean": "9788899240370" ,
                "quantity": 4
         }
]

Esempio richiesta EAN multipli con indicazione del collo:

POST 
https://api.messaggerielibri.it/outbound/plant/ME60/bol/2018/256405/package/MEL013537138/titleCheckin
Authorization: Bearer [TOKEN JWT]

body: 
[
        {
                "ean": "9788893445870" ,
                "quantity": 20
         },
        {
                "ean": "9788893674577" ,
                "quantity": 8
         },
        {
                "ean": "9788899240370" ,
                "quantity": 4
         }
]

Features

Per utilizzare il metodo API è necessario possedere una o più delle seguenti features:

  • delivery_confirm

altrimenti viene restituito 403 (Forbidden)

Chiusura DDT

Permette alla libreria di chiudere la DDT, dopo il riscontro dei titoli ricevuti.  

Risponde a richieste POST verso: plant/{plant}/bol/{year}/{billOfLading}/close


Per identificare la DDT da chiudere sono utilizzati i seguenti parametri:
 

  • plant: codice dell’impianto da cui proviene la consegna, può assumere i valori ME60 o ME61. 
  • year: anno di riferimento della DDT. 
  • billOfLading: numero della DDT.


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 titolo riscontrato.

Esempio richiesta

POST
https://api.messagerielibri.it/outbound/plant/ME60/bol/2018/0000346535/close
Authorization: Bearer [TOKEN JWT]

Features

Per utilizzare il metodo API è necessario possedere una o più delle seguenti features:

  • delivery_confirm

altrimenti viene restituito 403 (Forbidden)