Spedizioni

In questa sezione viene illustrato come creare e gestire ordini di spedizione sulla piattaforma.

Gli ordini di spedizione su GEL Proximity sono spedizioni che hanno come punto di partenza un magazzino del Merchant e come punto di destinazione un Punto di Ritiro appartenente ad una Rete o al Merchant stesso. È possibile gestire e monitorare gli ordini di spedizione associati al Merchant in qualsiasi momento accedendo al pannello di amministrazione.

Per utilizzare le API presenti in questa guida è necessario essere autenticati alla piattaforma. Per maggiori informazioni consultare la sezione Autenticazione.

Permette di creare un nuovo ordine di spedizione associato al Merchant autenticato sulla piattaforma GEL Proximity.

La richiesta di creazione di un ordine di spedizione è asincrona: prima dell’avvenuta importazione dell’ordine non sarà possibile effettuare azioni sull’ordine creato. Per maggiori informazioni sul funzionamento visitare la sezione Caratteristiche di Sistema.

Parametri

Endpoint gel-api-server/api/merchant/shipment/create
Metodo POST

Request

Nome Tipo Obbl. Default Descrizione
customer string Si Nome completo dell’utente
customerEmail string Si Email dell’utente
customerPhone string Si Numero di telefono dell’utente
orderNumber string Si Numero dell’ordine
orderNumberRif string Si Valorizzare come il parametro orderNumber
reference string Si Riferimento univoco dell’ordine
orderDate string Si Data dell’ordine in formato yyyyMMdd
description string Si Descrizione dell’ordine
notes string No Note dell’ordine
codePickupPoint string Si Codice del Punto di Ritiro a cui spedire il pacco
codePickingPoint string No Codice del magazzino del Merchant da cui ritirare il pacco
width number No Larghezza del pacco in cm
height number No Altezza del pacco in cm
depth number No Profondità del pacco in cm
grossWeight number No Peso lordo del pacco in Kg
netWeight number No Peso netto del pacco in Kg
volume number No Volume del pacco in cm³
goodsValue number No Valore dell’ordine
insured boolean No false Indica se l’ordine deve essere assicurato: per funzionare è necessario che il Merchant abbia abilitato il servizio di assicurazione per le spedizioni.
labelType LabelType No Indica la tipologia di etichetta da generare per la spedizione
proximityPrice number Si Prezzo di spedizione definito dal Merchant
currencyGoodsValue string No Codice valuta del valore ordine in formato ISO4217
orderCountInCurrentYear number Si Numero totale di ordini di spedizione dell’eCommerce confermati nell’anno solare corrente
rows OrderItem Si Lista di prodotti contenuti nell’ordine

OrderItem

Nome Tipo Obbl. Default Descrizione
productCode string No Codice del prodotto
typeProduct string No Tipologia del prodotto
description string Si Descrizione del prodotto
notes string No Note del prodotto
width number No Larghezza del prodotto in cm
height number No Altezza del prodotto in cm
depth number No Profondità del prodotto in cm
grossWeight number No Peso lordo del prodotto in Kg
netWeight number No Peso netto del prodotto in Kg
volume string No Volume del prodotto in cm³
{
  "customer": "Mario Rossi",
  "customerEmail": "mario.rossi@email.com",
  "customerPhone": "3331535985",
  "orderNumber": "19664",
  "orderNumberRif": "19664",
  "reference": "orderReference-19664",
  "orderDate": "20221201",
  "description": "Descrizione dell'ordine",
  "codePickupPoint": "PUP_325389",
  "proximityPrice": 4.99,
  "orderCountInCurrentYear": 5344,
  "rows": [
    {
      "description": "Giacca di pelle nera",
    },
    ...
  ]
}

Response

Nome Tipo Descrizione
success boolean Esito della richiesta
message string Messaggio di risposta
data OrderIdentifier Dati restituiti

OrderIdentifier

Nome Tipo Descrizione
orderReferenceCode string Codice di riferimento dell’ordine
pickupPointPublicCode string Codice pubblico del Punto di Ritiro associato all’ordine
{
  "success": true,
  "message": "Operazione completata",
  "data": {
    "orderReferenceCode": "4a48926aarv76430e776e3w11pomuua2",
    "pickupPointPublicCode": "965512"
  }
}

Permette di annullare un ordine di spedizione associato al Merchant.

Un ordine di spedizione può essere annullato solo nel caso non sia già stata generata l’etichetta. Una volta che per un ordine di spedizione verrà generata l’etichetta non sarà più possibile annullarlo.

Parametri

Endpoint gel-api-server/api/merchant/shipment/cancel
Metodo POST

Request

Nome Tipo Obbl. Default Descrizione
orderReferenceCode string Si Codice di riferimento dell’ordine
notes string No Note di annullamento
{
  "orderReferenceCode": "4a48926aarv76430e776e3w11pomuua2", "notes": "" }

Response

Nome Tipo Descrizione
success boolean Esito della richiesta
message string Messaggio di risposta
{
  "success": true,
  "message": "Ordine annullato",
}

Permette il ottenere il codice di riferimento di un ordine di spedizione, utile per effettuare successive operazioni sull’ordine tramite API.

Parametri

Endpoint gel-api-server/api/merchant/shipment/getIdentifier
Metodo GET

Request

Nome Tipo Obbl. Default Descrizione
orderNumber string Si Numero dell’ordine
https://platform.gelproximity.com/gel-api-server/api/merchant/shipment/getIdentifier?
&orderNumber=19664

Response

Nome Tipo Descrizione
success boolean Esito della richiesta
message string Messaggio di risposta
data OrderIdentifier Dati restituiti

OrderIdentifier

Nome Tipo Descrizione
orderReferenceCode string Codice di riferimento dell’ordine
{
  "success": true,
  "message": "Operazione completata",
  "data": {
      "orderReferenceCode": "4a48926aarv76430e776e3w11pomuua2",
    }
  }
}

Permette il generare l’etichetta associata ad un ordine di spedizione nel caso di merchant di tipo DELIVERY o di confermare l’ordine per la spedizione nel caso di merchant di tipo STORAGE.

In caso di merchant di tipo DELIVERY l’etichetta verrà restituita nella response in formato base64.

In caso di merchant di tipo STORAGE non verrà restituita nessuna etichetta ma verrà confermata la spedizione e comunicata al Punto di Ritiro per permettergli di gestire il ritiro e la consegna.

Le performance di generazione dell’etichetta dipendono direttamente dallo stato dei sistemi delle Reti relative.

Parametri

Endpoint gel-api-server/api/merchant/shipment/generateLabel
Metodo POST

Request

Nome Tipo Obbl. Default Descrizione
orderReferenceCode string Si Codice di riferimento dell’ordine
{
  "orderReferenceCode": "4a48926aarv76430e776e3w11pomuua2",
}

Response

Nome Tipo Descrizione
success boolean Esito della richiesta
message string Messaggio di risposta
data LabelInfo Dati restituiti

LabelInfo

Nome Tipo Descrizione
customer LabelCustomer Dati dell’utente associato all’ordine
order LabelOrder Dati dell’ordine
pickupPoint LabelPickupPoint Dati del Punto di Ritiro associato all’ordine
network LabelNetwork Dati della Rete associata all’ordine
warehouse LabelWarehouse Dati del magazzino associato all’ordine
label LabelData Dati dell’evento verificato
metadata LabelMetadata Metadata associati all’ordine

LabelCustomer

Nome Tipo Descrizione
name string Nome dell’utente associato all’ordine
email string Email dell’utente associato all’ordine
phone string Telefono dell’utente associato all’ordine

LabelOrder

Nome Tipo Descrizione
orderReferenceCode string Codice di riferimento univoco dell’ordine
orderNumber string Numero dell’ordine
orderDate string Data dell’ordine in formato dd/MM/yyyy
serviceCode ServiceCode Codice del servizio

LabelPickupPoint

Nome Tipo Descrizione
code string Codice del Punto di Ritiro associato all’ordine
name string Nome del Punto di Ritiro associato all’ordine
address string Indirizzo del Punto di Ritiro associato all’ordine
city string Città del Punto di Ritiro associato all’ordine
zipcode string CAP del Punto di Ritiro associato all’ordine
department string Provincia del Punto di Ritiro associato all’ordine
country string Nazione del Punto di Ritiro associato all’ordine

LabelNetwork

Nome Tipo Descrizione
code NetworkCode Codice della Rete associata all’ordine
name string Nome della Rete associata all’ordine

LabelWarehouse

Nome Tipo Descrizione
code string Codice del magazzino associato all’ordine
name string Nome del magazzino associato all’ordine
address string Indirizzo del magazzino associato all’ordine
city string Città del magazzino associato all’ordine
zipcode string CAP del magazzino associato all’ordine
department string Provincia del magazzino associato all’ordine
country string Nazione del magazzino associato all’ordine

LabelData

</tr

Nome Tipo Descrizione
format string Formato dell’etichetta
trackingNumber string Numero di tracking dell’etichetta
data string Dati dell’etichetta in formato base64

LabelMetadata

Nome Tipo Descrizione
parcelId string Codice parcelId restituito dalla Rete (solo per spedizioni aventi come Rete “BRT Fermopoint”)
{
  "success": true,
  "message": "Operazione completata",
  "data": {
    "customer": {
      "name": "Mario Rossi",
      "email": "mario.rossi@email.com",
      "phone": "3331535985",
    },
    "order": {
      "orderReferenceCode": "4a48926aarv76430e776e3w11pomuua2",
      "orderNumber": "19664",
      "orderDate": "01/01/2022",
      "serviceCode": "001",
    },
    "pickupPoint": {
      "code": "PUP_325389",
      "name": "TNT Point",
      "address": "Via Rossi 10",
      "city": "Milano",
      "zipcode": "20019",
      "department": "Milano",
      "country": "IT",
    },
    "network": {
      "code": "NET_000042",
      "name": "TNT Point",
    },
    "warehouse": {
      "code": "PIN_543881",
      "description": "Magazzino principale",
      "address": "Via Rossi 10",
      "city": "Milano",
      "zipcode": "20019",
      "department": "Milano",
      "country": "IT",
    },
    "label": {
      "trackingNumber": "056010930020137843",
      "format": "PDF",
      "data": "...",
    },
    "metadata": {
      "parcelId": "155321943321451115"
    }
  }
}

Permette il ottenere l’etichetta associata ad un ordine di spedizione.

Questo metodo funziona solo se l’etichetta è già stata precedentemente generata dalla piattaforma GEL Proximity. Per maggiori informazioni sul funzionamento visitare la sezione Caratteristiche di Sistema.

In caso la chiamata vada a buon fine verrà restituito il PDF dell’etichetta sotto forma di File.

Parametri

Endpoint gel-api-server/api/merchant/shipment/downloadLabel
Metodo GET

Request

Nome Tipo Obbl. Default Descrizione
orderReferenceCode string Si Codice di riferimento dell’ordine
https://platform.gelproximity.com/gel-api-server/api/merchant/shipment/downloadLabel?
&orderReferenceCode=4a48926aarv76430e776e3w11pomuua2

Response

Nome Tipo Descrizione
success boolean Esito della richiesta
message string Messaggio di risposta
{
  "success": true,
  "message": "Operazione completata"
}

Permette il ricevere lo stato di uno o più ordini di spedizione.

Parametri

Endpoint gel-api-server/api/merchant/shipment/status
Metodo POST

Request

Nome Tipo Obbl. Default Descrizione
request OrderIdentifier[] Si Lista di identificativi dell’ordine

OrderIdentifier

Nome Tipo Obbl. Default Descrizione
orderReferenceCode string Si Codice di riferimento dell’ordine
orderNumber string Si Numero dell’ordine

Almeno uno tra i parametri orderReferenceCode e orderNumber deve essere valorizzato nella request.

{
  "request": [
    {
      "orderReferenceCode": "4a48926aarv76430e776e3w11pomuua2"
    },
    ...
  ]
}

Response

Nome Tipo Descrizione
success boolean Esito della request
message string Messaggio di risposta
total number Numero di record restituiti
items OrderInfo[] Dati restituiti

OrderInfo

Nome Tipo Descrizione
success string Esito della richiesta
message string Messaggio di risposta
order OrderDetails Dettagli dell’ordine inviati in fase di creazione
tracking OrderTracking Dettagli ricevuti del tracking dell’ordine
metadata OrderMetadata Metadata associati all’ordine

OrderDetails

Nome Tipo Descrizione
orderReferenceCode string Codice di riferimento univoco dell’ordine
orderNumber string Numero dell’ordine
orderDate string Data dell’ordine in formato dd/MM/yyyy
reference string Riferimento univoco dell’ordine

OrderTracking

Nome Tipo Descrizione
number string Numero di tracking
status number Codice dello stato di tracking
externalStatusCode string Codice di stato personalizzato
externalStatusDescription string Descrizione di stato personalizzata
lastUpdateDate string Data di aggiornamento del tracking in formato dd/MM/YYYY
lastUpdateTime string Orario di aggiornamento del tracking in formato HH:mm
deliveryDate string Data di consegna in formato dd/MM/YYYY
deliveryTime string Orario di consegna in formato HH:mm

OrderMetadata

Nome Tipo Descrizione
parcelId string Codice parcelId restituito dalla Rete (solo per spedizioni aventi come Rete “BRT Fermopoint”)
{
  "success": true,
  "message": "Operazione completata",
  "total": 1,
  "items": [
    {
      "success": true,
      "message": "Ordine estratto"
      "order": {
        "orderReferenceCode": "4a48926aarv76430e776e3w11pomuua2",
        "orderNumber": "19664",
        "orderDate": "20221201",
        "reference": "orderReference-19664",
      },
      "tracking": {
        "number": "056010930020137843",
        "status": "ST0006",
        "statusDescription": "Errore: verificare tracking",
        "externalStatusCode": "RECIPIENT_MISSING",
        "externalStatusDescription": "Il destinatario era assente",
        "lastUpdateDate": "01/01/2022",
        "lastUpdateTime": "15:30",
        "deliveryDate": null,
        "deliveryTime": null,
      },
      "metadata": {
        "parcelId": "155321943321451115"
      }
    },
    ...
  ]
}

Permette di aggiornare lo stato del tracking di un ordine di spedizione.

In caso di spedizione diretta ad un Punto di Ritiro che richiede un codice di verifica per effettuare la consegna all’utente finale, se si intende aggiornare lo stato con statusCode ST_0007, il parametro verificationCode risulterà obbligatorio.

Parametri

Endpoint gel-api-server/api/merchant/shipment/updateTracking
Metodo POST

Request

Nome Tipo Obbl. Default Descrizione
orderReferenceCode string Si Codice di riferimento dell’ordine
statusCode ShipmentStatusCode Si Codice GEL dello stato spedizione
statusDescription string Si Descrizione del cambio di stato
lastUpdateDate string No Data di aggiornamento dello stato in formato dd/MM/yyyy
lastUpdateTime string No Data di aggiornamento dello stato in formato hh:mm
networkStatusCode string No Codice di stato della Rete
networkStatusReason string No Descrizione di stato della Rete
trackingCode string No Codice tracking del corriere incaricato per la spedizione
verificationCode string No Codice PIN di conferma ritiro inviato all’utente finale
{
  "orderReferenceCode": "4a48926aarv76430e776e3w11pomuua2",
  "statusCode": "ST_0001",
  "statusDescription": "Descrizione del cambio di stato"
}

Response

Nome Tipo Descrizione
success boolean Esito della richiesta
message string Messaggio di risposta
{
  "success": true,
  "message": "Tracking aggiornato",
}

Permette di inviare il codice di verifica richiesto dai Punti di Ritiro per consegnare il pacco all’utente finale.

Il codice di verifica verrà inviato via email all’indirizzo email associato alla spedizione

Parametri

Endpoint gel-api-server/api/merchant/shipment/sendVerificationCode
Metodo POST

Request

Nome Tipo Obbl. Default Descrizione
orderReferenceCode string Si Codice di riferimento dell’ordine
{
  "orderReferenceCode": "4a48926aarv76430e776e3w11pomuua2"
}

Response

Nome Tipo Descrizione
success boolean Esito della richiesta
message string Messaggio di risposta
{
  "success": true,
  "message": "Codice inviato correttamente",
}