Changelog


v1.5.2
upcoming

Nella versione 1.5.2 è stato introdotto un nuovo stato per la spedizione.

Aggiunte

12 - disponibile presso punto di ritiro. il corriere ha consegnato il collo al locker/punto di ritiro di destinazione. Il collo è in attesa di essere ritirato.


v1.5.1
27/06/2024

Nella versione 1.5.1 è stata introdotta la possibilità di selezionare il formato delle etichette per le spedizioni.

Aggiunte

Aggiunto un nuovo campo opzionale labelFormat nei dettagli della spedizione. Se non specificato, il campo assumerà il valore predefinito del corriere.
I valori predefiniti variano a seconda del corriere e possono essere i seguenti:

  • 0 - PDF, predefinito per i corrieri BRT, SDA e InPost;
  • 1 - GIF, predefinito per il corriere UPS;
  • 2 - ZPL;

v1.5.0
09/05/2024

Nella versione 1.5.0 è stata introdotta la tariffa del corriere UPS per inviare Lettere UPS attraverso il servizio Express Saver, nel caso il vostro account sia abilitato. Questa tariffa è identificata dal codice UPSENVEXPSAVER.
! Questo servizio è dedicato esclusivamente al trasporto di buste contenenti documenti. Non è adatto per merci diverse da semplici fogli (ad esempio, non sono ammessi calendari, riviste o cataloghi).

Aggiunte

Aggiunto un nuovo campo opzionale packagingType all'interno dei dettagli del collo. Di default, questo campo ha il valore 0. Esso può assumere due valori:

  • 0 (Pacco specificato dall'utente): indica che il tipo di pacco utilizzato viene specificato dall'utente tramite i campi altezza, larghezza e profondità;
  • 1 (Lettera UPS): indica che il tipo di pacco utilizzato è una lettera UPS. In questo caso, i dati relativi ai campi altezza, larghezza e profondità vengono ignorati e impostati a valori predefiniti;

In entrambi i casi, il peso del collo deve essere specificato. Nel caso in cui packagingType sia impostato a 1 (Lettera UPS), il peso massimo consentito è di 1 kg.
Le spedizioni con tariffa UPSENVEXPSAVER con destinazione Extra CEE non necessitano dell'upload dei documenti.


v1.4.2
18/03/2024

Nella versione 1.4.2 sono stati riabilitati gli endpoint per l'upload di documenti.
Attualmente, il caricamento dei documenti è da eseguire prima del pagamento della spedizione, esclusivamente per spedizioni Extra CEE con il corriere UPS.
Un'unica eccezione riguarda le Isole Canarie, per UPS è il codice nazione IC, dove sarà necessario caricare i documenti.
Dopo aver creato la spedizione sarà necessario caricare il Documento di libera esportazione. Ne trovi un modello da poter utilizzare qui.
Una copia copia della fattura commerciale o di una fattura proforma. Puoi trovare un modello di fattura proforma da poter utilizzare qui.
I documenti saranno trasferiti direttamente ai servizi di UPS, pertanto SpediamoPro non conserverà alcuna copia sui propri server.

Il caricamento dei documenti supporta file fino a 10 MB, con i seguenti formati accettati:

  • bmp
  • doc
  • gif
  • jpg
  • pdf
  • png
  • rtf
  • tif
  • txt
  • xls
  • docx
  • xlsx

v1.4.1
08/03/2024

Nella versione 1.4.1 è è stato rimosso il campo isBusiness tra i campi della spedizione, se passato verrà ignorato.


v1.4.0
14/02/2024

Nella versione 1.4.0 è stata aggiunta la possibilità di creare spedizioni per le seguenti tariffe:

  • BRT - BRTPUDO: Fermopoint BRT come punto di destinazione
  • InPost - INPOSTSTD: Point to Point InPost standard
Per poterle implementare è stata aggiornata la chiamata per la creazione di una spedizione da una spedizione simulata, più sono stati aggiunti gli endpoint di ricerca punti di ritiro specifici per i corrieri.

Campi oggetto spedizione

Ora tra i campi spedizione è presente:

  • consigneePickupPointId: Campo contenente l'id del punto di ritiro di consegna.

Modifiche Endpoint

POST /api/v1/spedizione/{id}

Aggiunta possibilità di passare un body nella richiesta contenente il campo consigneePickupPointId(type: string, nullable: true) contenente l'id del punto di ritiro di consegna.
Obbligatorio soltanto per spedizioni BRTPUDO e INPOSTSTD.

PUT /api/v1/spedizione/{id}

Aggiunto campo consigneePickupPointId(type: string, nullable: true) contenente l'id del punto di ritiro di consegna.
Obbligatorio soltanto per spedizioni BRTPUDO e INPOSTSTD.

Nuovi endpoint

InPost

  • PATCH /api/v1/inpost/search_points
  • Endpoint per la ricerca di locker/punti ritiro InPost, la ricerca è eseguibile solo via codice postale.
    Tra i dati di risposta l'id da inserire nella spedizione come consigneePickupPointId è il valore presente nel campo name, mentre il campo status deve essere a valore Operating.

  • PATCH /api/v1/inpost/point
  • Endpoint per il recupero dei dettagli di un locker/punti ritiro InPost, l'unico campo necessario è il name.

BRT

  • PATCH /api/v1/brt/pudo_list
  • Endpoint per la ricerca di PUDO (Fermopoint BRT), la ricerca è eseguibile via codice postale, città e opzionalmente un indirizzo.
    Tra i dati di risposta l'id da inserire nella spedizione come consigneePickupPointId è il valore presente nel campo pudoId e il campo available deve essere a true.

  • PATCH /api/v1/brt/pudo
  • Endpoint per il recupero dei dettagli di un PUDO (Fermopoint BRT), l'unico campo necessario è il pudoId.


v1.3.0
02/01/2024

Nella versione 1.3.0 per le spedizioni UPS sarà possibile aggiungere linee di indirizzo aggiuntive sia per l'indirizzo mittente che per l'indirizzo del destinatario.
Questi campi sono ignorati nelle spedizioni degli altri corrieri.
Sempre per UPS, dal 1 Gennaio 2024, per le spedizioni extra cee la documentazione non può più essere consegnata all’autista (pena addebito del surcharge che verrà introdotto dal 1 gen ’24) ma deve essere allegata elettronicamente tramite upload file.
Da questa nuova indicazione sono state esposte 2 nuove chiamate.

Campi indirizzo su richieste e risposte spedizione

Ora nelle richieste i campi indirizzo mittente e indirizzo destinatario sono stati modificati nel seguente modo:

  • Rinominato campo indirizzoMittente in senderAddressLine1
  • Aggiunto campo senderAddressLine2
  • Aggiunto campo senderAddressLine3
  • Rinominato campo indirizzoDestinatario in consigneeAddressLine1
  • Aggiunto campo consigneeAddressLine2
  • Aggiunto campo consigneeAddressLine3

POST /api/v1/document/ups_shipment_document

Chiamata che permette l'upload di file ai servizi UPS, i file da caricare sono 1 - Fattura Commerciale o 2 - Fattura Proforma e 3 - Dichiarazione di libera esportazione.

DELETE /api/v1/document/ups_shipment_document/{shipmentId}/{docId}

Chiamata che permette la rimozione del documento UPS caricato dalla spedizione.


v1.2.2
27/11/2023

Nella versione 1.2.2 delle API è stato rivisto il path di base degli endpoint, eliminando "public/index.php",
pertanto se il login veniva svolto al path: "https://core.spediamopro.com/public/index.php/api/v1/auth/login", ora avverrà al path: "https://core.spediamopro.com/api/v1/auth/login".
Inoltre i nuovi token rilasciati dal login avranno scadenza 1 ora, dopo questo tempo, andranno rinnovati con un nuovo login.
Questo rappresenta il primo passo verso il passaggio ad un modello di token aderente allo standard OAUTH, che sarà ultimato con la versione successiva delle API SpediamoPRO

POST /api/v1/auth/login

Il JWT token che restituisce la chiamata ha una durata di 1 ora, una volta scaduto va rieseguita la chiamata in modo da avere un nuovo JWT token sempre dalla durata di 1 ora.


v1.2.1
31/08/2023

Nella versione 1.2.1 delle API la richiesta ritiro può assumere dei nuovi stati.

Richiesta ritiro

Nuovi stati richieste ritiro:
  • 5 - annullata. La richiesta ritiro è stata annullata. (Nessuna operazione possibile);
  • 6 - annullata dal corriere. La richiesta ritiro è stata annullata dal corriere (Rifiutato dal cliente, già ritirato, già effettuati 2 tentativi, etc..). (Operazioni possibili: Modifica);
  • 7 - ritirata. La merce è stata ritirata dal corriere. (Nessuna operazione possibile);
  • 8 - eccezione. La merce non è stata ritirata, un nuovo tentativo verrà fatto il prima possibile. (Mancanza di tempo, merce non pronta, cliente assente o chiuso, etc..). (Nessuna operazione possibile);

Se la richiesta ritiro è in stato 6 (annullata dal corriere) è possibile modificarla, con una nuova data ritiro, per poi essere rielaborata.


v1.2.0
31/08/2023

Nella versione 1.2.0 delle API per nuove esigenze BRT e futura implementazione del tracking ritiro, i ritiri per le spedizioni del corriere BRT non saranno più cumulativi.
Rimarrà comunque a disposizione la possibilità di creare un ritiro per più spedizioni.
Per quanto riguarda i ritiri dei corrieri SDA e UPS rimarrà tutto invariato.

POST /api/v1/pickup

Per il metodo POST /api/v1/pickup (Creazione richiesta ritiro).
La request body rimane invariata rispetto alla versione precedente.
La response cambia, e da oggetto singolo pickup passa ad essere un oggetto di tipo array di nome pickups con all'interno la lista di pickup creati.

Al momento della scrittura l'unico corriere con cui si avrà più di un pickup con una singola richiesta è BRT.
SDA è bloccato ad avere un solo ritiro per spedizione (array di lunghezza 1).
UPS creerà un solo ritiro per più spedizioni (array di lunghezza 1).

POST /api/v1/pickup

Il metodo POST /api/v1/pickup/elabora/{id} cambia e diventa POST /api/v1/pickup/elabora.

L'url param id scompare e viene sostituito dal'utilizzo del request body che contiene la lista degli id delle richieste ritiro di cui si vuole avviare l'elaborazione.
La response cambia, e da oggetto singolo pickup passa ad essere un oggetto di tipo array di nome pickups con all'interno la lista di pickup elaborati.


v1.1.0
01/08/2023

Modifiche apportate al sistema di selezione e visualizzazione del servizio del corriere di una spedizione

Campi per oggetto spedizione

  • D'ora in poi le spedizioni non avranno più il campo servizio ma avranno il campo tariffCode;
  • Il campo corriere ora é in upper case;
  • Il campo tariffCode specifica la tariffa utilizzata dalla spedizione;
  • Il campo corriere ora specifica il corriere che gestiste la tariffa;
  • Il corriere dpd scompare e diventa una tariffa di BRT;
  • Le modifiche sono principalmente presenti nelle seguenti richieste:
    • POST /api/v1/simulazione;
    • PUT /api/v1/spedizione/{id};
    • POST /api/v1/spedizione/{id};
    • GET /api/v1/spedizione/{id};