Dashboard
Il sistema Easy Parcel API consente di accedere attraverso apposite chiamate al motore di calcolo preventivi di spedizione e successivamente all'eventuale finalizzazione dell'ordine.
Tutti gli esempi di codice sono scritti in linguaggio PHP, ma potete sviluppare le chiamate in qualsiasi linguaggio e ambiente (per Windows potete consultare la seguente pagina: https://stackoverflow.com/questions/4015324/how-to-make-http-post-web-request).
Ultima versione: 1.1.20
Versioni
Questa sezione contiene l'elenco delle versioni delle chiamate API al sistema 
Tabella versioni
Versione | Data | Descrizione |
---|---|---|
2024-06-14 | Applicate migliorie alla chiamata API quotation per la restituzione della modalità di disponibilità del servizio contrassegno nel campo servizi . La lettera C significa CONTANTI mentre la lettera A significa ASSEGNO BANCARIO AL MITTENTE.Applicate le medesime migliorie anche alla chiamata API order che consente di specificare la modalità del servizio contrassegno richiesta nell'apposito campo contrassegno_modalita indicando C per CONTANTI oppure A per ASSEGNO BANCARIO AL MITTENTE. È previsto un controllo sul valore indicato, se compatibile con il risultato della quotation. | |
2024-06-12 | Aggiornata la chiamata API order-fast che ora restituisce il PDF globale multipagina in base64 e anche per ogni singolo collo il numero della lettera di vettura e il relativo singolo PDF codificato in base64. | |
2024-06-07 | Aggiornata la chiamata API getwaybill con l'aggiunta del campo single_waybills nella chiamata. Se impostato a Y restituisce per ogni collo il numero della lettera di vettura e il relativo singolo PDF codificato in base64. | |
2024-05-17 | Aggiornata la chiamata API tracking con l'aggiunta nella risposta del campo firma che contiene il nominativo della persona che ha fisicamente ricevuto e confermato la spedizione. | |
2024-04-12 | Aggiornata la chiamata API order con l'aggiunta del campo destinatario->codicefiscale richiesto per le spedizioni estere. | |
2024-01-25 | Aggiunta la nuova chiamata API order-fast che, con una unica chiamata, effettua una "quotation", a seguire una "order" e successivamente una "getwaybill", restituendo direttamente la lettera di vettura prodotta, anche in formato Base64.Aggiunta anche la nuova chiamata API getwaybill che restituisce la lettera di vettura, anche in Base64, di uno specifico ordine. | |
2023-10-20 | Aggiornata la chiamata API quotation che ora restituisce anche la modalità di disponibilità del servizio contrassegno nel nuovo campo servizi . La lettera C significa CONTANTI mentre la lettera A significa ASSEGNO BANCARIO AL MITTENTE.Aggiornata anche la chiamata API order che ora consente di specificare la modalità del servizio contrassegno richiesta nell'apposito nuovo campo contrassegno_modalita indicando C per CONTANTI oppure A per ASSEGNO BANCARIO AL MITTENTE. E' previsto un controllo sul valore indicato, se compatibile con il risoltato della quotation. | |
2023-10-17 | Aggiornata la risposta alla chiamata getorder con l'aggiunta del campo contrassegno_modalita che riporta "C" per contanti e "A" per assegno. | |
2023-02-08 | Aggiornata la risposta alla chiamata getorder con l'aggiunta del campo url_bordero che riporta l'URL dove scaricare il borderò da consegnare all'autista che ritira la spedizione. | |
2022-08-31 | Aggiornata la risposta alla chiamata order con l'aggiunta del campo id_ordine che riporta l'ID numerico del nuovo ordine creato. | |
2022-07-14 | Aggiornata la chiamata listorder con l'aggiunta della paginazione. E' possibile ora passare 2 nuovi dati: paginazione che definisce la dimesione della lista restituita (default 10, max. 100) e pagina che identifica la pagina da visualizzare (default 1). E' stato anche invertito l'ordine di visualizzazione, dall'ordine più recente al più vecchio.Nella risposta vengono restituiti rispettivamente il numero globale di ordini, il valore della paginazione e la pagina restituita. | |
2022-06-29 | Aggiornata la chiamata listorder con l'aggiunta del nuovo campo di filtro idcustomer che consente di ottenere la lista degli ordini del singolo utente. Nella risposta sono stati aggiunti anche i dettagli dei colli, con misure e pesi. | |
2022-05-13 | Aggiunto errore 132 nella chiamata order per vettori non acquistabili via API. | |
2022-04-14 | Aggiornata la spiegazione della chiamata newcustom con una più corretta descrizione dei campi obbligatori e/o opzionali. | |
2021-09-16 | Aggiornata la chiamata quotation con l'aggiunta del tipo_spedizione = I (import) e del cosa_spedire = P (pallets).Aggiornata la chiamata order che ora accetta il parametro coupon per applicare sconti previsti in apposite campagne.Aggiornata la chiamata tracking che ora accetta come parametro anche il numero di lettera di vettura (ldv).Aggiunta la nuova chiamata checkcoupon che consente di verificare la correttezza e la validità del coupon. | |
2021-02-18 | Aggiornata la chiamata quotation con l'aggiunta del limite massimo per contrassegno e assicurazione. | |
2021-02-17 | Aggiornata la chiamata order con l'aggiunta dei campi di richiesta ritiro spedizione.Aggiornata la risposta della chiamata getorder con l'aggiunta del campo di codice_ritiro spedizione se richiesto. | |
2021-01-25 | Aggiunte le seguenti nuove chiamate: newcustomer , addfund e balance . | |
2020-05-25 | Aggiornata la risposta della chiamata getorder con l'aggiunta dei campi nome_vettore e logo_vettore che contengono rispettivamente il nome del vettore e il suo logo. | |
2020-05-21 | Aggiornata la risposta della chiamata tracking con l'aggiunta del campo codice_prenotazione che sarà compilato solo in caso di richiesta ritiro e solo quando verrà effettivamente lanciato dai sistema automatici. | |
2020-04-23 | Aggiornata la risposta della chiamata quotation per uniformarla alle altre. E' stato aggiunto il campo opzionale version per forzare una risposta in una determinata versione. In caso di assenza, verrà fornita la risposta in base alla versione della APIKEY attivata. Per richiedere un aggiornamento della versione dell'APIKEY, contattateci. | |
2020-03-31 | Aggiunte le nuove chiamate GetOrder , ListOrder e Tracking . | |
2019-12-01 | Prima uscita sistema API. |
ApiKeyInfo
La chiamata apikeyinfo
consente di ottenere alcune informazioni relative alla propria ApiKey e quindi al proprio contratto con Easy Parcel API.
Esempio di chiamata apikeyinfo
in PHP:
$ch = curl_init("https://api.easyparcel.it/apikeyinfo/c2fbbf11fdb3b18a20d543eeebdb057232c9c20b9ce850d60ce74ec36b0a8a77"); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonRequest); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array ( 'Content-Type: application/json', 'Content-Length: ' . strlen($jsonRequest) ) ); $jsonResult = curl_exec($ch);
Richiesta JSON
{ "call":"apikeyinfo" }
Requisiti della richiesta JSON
Livello 1 | Tipo | Valore | Obbligatorio | Descrizione |
---|---|---|---|---|
call | string | apikeyinfo |
S | Inserire "apikeyinfo" |
Risposta JSON
{ "response":{ "azienda":"easyparcel.it", "logo":"http://www.easyparcel.it/logo.jpg", "system":"API", "call":"apikeyinfo", "dettagli":{ "apikey":"c2fbbf11fdb3b18a20d543eeebdb057232c9c20b9ce850d60ce74ec36b0a8a77", "cliente":"EasyParcel Demo", "attivazione":"2025-01-01", "scadenza":"2025-12-31", "ip_access":"Unlimited", "limite_giornaliero":"Unlimited", "fast_quote":"false", "credito_prepagato":125.00, "live":"true", "email_ordine_mittente":"true", "ldv_api":"" }, "timestamp":"2025-04-26 07:17:06", "version":"1.1.20" } }
Note sulla risposta JSON:
La risposta JSON contiene la data di attivazione del servizio e la data della prossima scadenza della licenza d'uso del sistema Easy Parcel API. Contiene anche due parametri di configurazione del pacchetto acquistato che prevedono il blocco del sistema su specifici indirizzi IP dei server dove è installato il sistema del cliente e l'eventuale limite giornaliero di chiamate di tipo "quotation". Contiene anche il credito residuo prepagato che consente di poter procedere con la chiamata API "order" per finalizzare l'acquisto della spedizione, con addebito sul prepagato.
N.B.
Il valore del campo
Il campo
N.B.
Il valore del campo
live
identifica la modalità operativa; in caso sia "false" le chiamate di tipo "order" non perfezionano alcun vero ordine e quindi non decurtano il credito.Il campo
ldv_api
può contenere opzionalmente l'indirizzo di un web service del cliente al quale inviare i dati relativi al link del tracking e al link della LDV (lettera di vettura). Sarà a cura del cliente l'operazione di memorizzazione di queste informazioni sul proprio gestionale. La risposta sarà di tipo JSON e conterrà i seguenti campi:
{ "result": "OK", "errorcode": "0", "errormessage": "WEBHOOK OK", "codice_offerta": "6513ffbc66222", "custom": "4102000000001348000003333002", "lettera_vettura": "288364I031083", "url_ldv": "https://api.easyparcel.it/ldv/LDV_demo.pdf", "url_tracking": "https://www.poste.it/cerca/index.html#/risultati-spedizioni/288364I031083" }La chiamata verrà effettuata al momento della generazione della LDV (nel giro di un paio di minuti dall'ordine).
Quotation
La chiamata quotation
consente di ottenere il preventivo di costo relativo ad una spedizione, secondo precisi parametri che vengono specificati. In pratica, necessitano alcuni dati relativi al luogo di partenza, al luogo di destinatazione e al tipo di spedizione (nazionale/internazionale, specifiche dei colli, ecc).
Il sistema Easy Parcel API calcolerà, se possibile, il costo di spedizione in base ai vettori standard del sistema oppure in base a quelli specificamente abilitati al cliente (ed agganciati alla sua ApiKey). Le risposte dettagliano il vettore utilizzato e gli eventuali servizi opzionali abilitabili (con i relativi costi).
Esempio di chiamata quotation
in PHP:
$ch = curl_init("https://api.easyparcel.it/quotation/c2fbbf11fdb3b18a20d543eeebdb057232c9c20b9ce850d60ce74ec36b0a8a77"); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonRequest); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json', 'Content-Length: ' . strlen($jsonRequest)) ); $jsonResult = curl_exec($ch);
Richiesta JSON
{ "call":"quotation", "dettagli":{ "tipo_spedizione":"N", "cosa_spedire":"M", "contenuto":"BISCOTTI", "accessori":{ "contrassegno_importo":500 } }, "colli":[ { "peso":3.000, "larghezza":30, "profondita":20, "altezza":15, "nr_colli":1 } ], "mittente":{ "cap":"00175", "localita":"ROMA", "provincia":"RM", "nazione":"IT" }, "destinatario":{ "cap":"20121", "localita":"MILANO", "provincia":"MI", "nazione":"IT" } }
Requisiti della richiesta JSON
Livello 1 | Livello 2 | Livello 3 | Tipo | Esempio | Obbligatorio | Descrizione |
---|---|---|---|---|---|---|
call | string | quotation |
S | Inserire quotation |
||
dettagli | idcustomer | numeric | 12345 |
optional | In questo campo può essere indicato l'id del cliente del proprio network sul cui listino calcolare il preventivo. | |
tipo_spedizione | string | N |
S | N = nazionaleE = esteroI = import |
||
cosa_spedire | string | M |
S | D = documentiM = merce/pacchiP = pallets |
||
contenuto | string | BISCOTTI |
S | Inserire la descrizione del contenuto | ||
accessori | contrassegno_importo | decimal | 250.00 |
optional | Indicare l'importo del contrassegno Il servizio potrebbe non essere previsto per alcuni vettori |
|
assicurazione_importo | decimal | 350.00 |
optional | Indicare l'importo dell'assicurazione Il servizio potrebbe non essere previsto per alcuni vettori |
||
consegnaalpiano | string | S |
optional | S = acquistareN = non acquistareIl servizio potrebbe non essere previsto per alcuni vettori |
||
consegnasuappuntamento | string | S |
optional | S = acquistareN = non acquistareIl servizio potrebbe non essere previsto per alcuni vettori |
||
priornotice | string | S |
optional | S = acquistareN = non acquistareIl servizio "Prior Notice" è acquistabile solo per spedizioni estere dirette negli USA |
||
colli | peso | decimal | 3.000 |
S | Peso complessivo di questa serie di colli, in kg | |
larghezza | integer | 30 |
S | Larghezza del singolo collo di questa serie di colli (in cm) | ||
profondita | integer | 20 |
S | Profondità del singolo collo di questa serie di colli (in cm) | ||
altezza | integer | 15 |
S | Altezza del singolo collo di questa serie di colli (in cm) | ||
nr_colli | integer | 1 |
S | Numero di colli con stesse dimensioni di questa serie di colli | ||
mittente | cap | string | 00175 |
S | CAP del mittente | |
localita | string | ROMA |
S | Località del mittente | ||
provincia | string | RM |
S | Provincia del mittente | ||
nazione | string | IT |
S | Inserire IT |
||
destinatario | cap | string | 20121 |
S | CAP del destinatario | |
localita | string | MILANO |
S | Località del destinatario | ||
provincia | string | MI |
S | Provincia del destinatario, se spedizione internazionale inserire -- |
||
country | string | IT |
Obbligatorio solo su internazionale verso USA e Canada | Country del destinatario, da valorizzare solo per USA (link) e Canada (link) | ||
nazione | string | IT |
S | Nazione del destinatario, usare il codice ISO 3166-1 Alpha-2 (link) |
Risposta JSON
{ "result":"OK", "errorcode":0, "errormessage":"QUOTATION OK", "quotation":[ { "codice_offerta":"5dcc4a53b00fc", "vettore":"SDAM", "nome_vettore":"SDA", "logo_vettore":"https://www.easyparcel.it/api/loghi/logo_sda.png", "consegna":"E", "tempiconsegna":"24/48 ore", "messaggio_tariffa":null, "importo_tariffa":"10.62", "totale_dovuto":"6.90", "peso_volumetrico":3, "flag_scontonazionale":null, "flag_localitadisagiata":false, "flag_localitaperiferica":false, "flag_timecritical":false, "percentualeiva":"22.00", "serviziopzionali":{ "contrassegno":{ "attivabile":"S", "importo":"5.00", "limite_massimo":"1999.99", "servizi":"C-A" }, "assicurazione":{ "attivabile":"S", "importo":"7.70", "limite_massimo":"3000.00", "valore_simulato":500 }, "consegnaalpiano":{ "attivabile":"S", "importo":"4.00" }, "consegnasuappuntamento":{ "attivabile":"S", "importo":"6.00" }, "trackingavanzato":{ "attivabile":"S", "importo":"0.15" }, "ritiro":{ "attivabile":"S", "importo":"0.00" } } }, { "codice_offerta":"5dcc4a53ae412", "vettore":"CROM", "nome_vettore":"CRONO", "logo_vettore":"https://www.easyparcel.it/api/loghi/logo_cro.png", "consegna":"E", "tempiconsegna":"48 ore", "messaggio_tariffa":null, "importo_tariffa":"11.32", "totale_dovuto":"7.36", "peso_volumetrico":3, "flag_scontonazionale":null, "flag_localitadisagiata":false, "flag_localitaperiferica":false, "flag_timecritical":false, "percentualeiva":"22.00", "serviziopzionali":{ "contrassegno":{ "attivabile":"N" }, "assicurazione":{ "attivabile":"N" }, "consegnaalpiano":{ "attivabile":"S", "importo":"4.00" }, "consegnasuappuntamento":{ "attivabile":"S", "importo":"6.00" }, "trackingavanzato":{ "attivabile":"S", "importo":"0.15" }, "ritiro":{ "attivabile":"S", "importo":"0.00" } } }, { "codice_offerta":"5dcc4a53af494", "vettore":"PCE", "nome_vettore":"PACCO CELERE", "logo_vettore":"https://www.easyparcel.it/api/loghi/logo_pce.png", "consegna":"E", "tempiconsegna":"48 ore", "messaggio_tariffa":null, "importo_tariffa":"14.14", "totale_dovuto":"9.33", "peso_volumetrico":3, "flag_scontonazionale":null, "flag_localitadisagiata":false, "flag_localitaperiferica":false, "flag_timecritical":false, "percentualeiva":"22.00", "serviziopzionali":{ "contrassegno":{ "attivabile":"N" }, "assicurazione":{ "attivabile":"S", "importo":"6.00", "limite_massimo":"3000.00", "valore_simulato":500 }, "consegnaalpiano":{ "attivabile":"N" }, "consegnasuappuntamento":{ "attivabile":"N" }, "trackingavanzato":{ "attivabile":"S", "importo":"0.15" }, "ritiro":{ "attivabile":"S", "importo":"0.00" } } } ], "timestamp":"2025-04-26 07:17:06", "version":"1.1.20" }
Note sulla risposta JSON:
La risposta JSON contiene un array di quotazioni offerte dai vari Vettori collegati al sistema Easy Parcel API. Ogni offerta viene identificata da un
codice_offerta
che dev'essere successivamente utilizzata nella chiamata di tipo "order" per identificare il preventivo da acquistare la spedizione. Per ogni offerta viene restituito il vettore di riferimento, il suo logo, l'importo dovuto e anche una serie di informazioni aggiuntive relative ad eventuali servizi opzionali che possono essere richiesti.
Order
La chiamata order
concretizza l'ordine di una spedizione, secondo le specifiche di un precedente preventivo (quotation) che dev'essere indicato come codice_offerta
di riferimento.
Per poter perfezionare l'ordine è necessario specificare ulteriori dati obbligatori relativi ai nominativi di mittente e destinatario e alla specifica degli eventuali servizi opzionali richiesti, le cui offerte sono contenute nella richiamata "quotation".
Il sistema Easy Parcel API rielaborerà il tutto, verificando preventivamente la capienza economica del credito prepagato. Il caso di esito positivo, i costi verranno addebitati sul credito prepagato e viene generato l'ordine che verrà trasmesso al centro di elaborazione per le successive fasi di gestione (invio email di conferma, generazione lettera di vettura, ecc).
Esempio di chiamata order
in PHP:
$ch = curl_init("https://api.easyparcel.it/order/c2fbbf11fdb3b18a20d543eeebdb057232c9c20b9ce850d60ce74ec36b0a8a77"); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonRequest); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json', 'Content-Length: ' . strlen($jsonRequest)) ); $jsonResult = curl_exec($ch);
Richiesta JSON
{ "call":"order", "dettagli":{ "codice_offerta":"5dcc4a53b00fc", "note_cliente":"ACQUISTO DI TEST", "custom":"XYZ123456", "accessori":{ "trackingavanzato":"S" } }, "mittente":{ "nominativo":"Rossi Mario", "indirizzo":"Via del Colosseo, 1", "email":"mario@rossi.it", "telefono":"", "cellulare":"3471111111", "contatto":"Rossi Mario", "codicefiscale":"RSSMRA80A01H501U" }, "destinatario":{ "nominativo":"Verdi Giuseppe", "indirizzo":"Piazza Duomo, 1", "email":"giuseppe@verdi.it", "telefono":"", "cellulare":"3472222222", "contatto":"Verdi Giuseppe" }, "ritiro":{ "prenotazione":"S", "dettagli":{ "ritirodove":"M", "disponibile_dal":"2025-04-26", "disponibile_ora":"08:00", "ritiro_mattina_dalle":"08:00", "ritiro_mattina_alle":"12:00", "ritiro_pomeriggio_dalle":"14:00", "ritiro_pomeriggio_alle":"18:00" } } }
Requisiti della richiesta JSON
Livello 1 | Livello 2 | Livello 3 | Tipo | Esempio | Obbligatorio | Descrizione |
---|---|---|---|---|---|---|
call | string | order |
S | Inserire order |
||
dettagli | codice_offerta | string | 5dcc4a53b00fc |
S | Inserire un codice_offerta fra quelli ricevuti in risposta alla precedente chiamata "quotation" | |
note_cliente | string | ACQUISTO DI TEST |
optional | Inserire un testo di descrizione dell'acquisto | ||
custom | string | XYZ123456 |
optional | Campo custom a testo libero per eventuale ricerca ordine | ||
coupon | string | ILOVEUSA21 |
optional | Inserire il codice di un eventuale coupon di sconto.N.B. Il coupon dovrebbe prima essere verificato con la chiamata CheckCoupon . |
||
accessori | contrassegno | string | S |
optional | S = acquistareN = non acquistareIl servizio potrebbe non essere previsto per alcuni vettori |
|
contrassegno_modalita | string | C |
optional | C = contantiA = assegno bancario al mittenteLa modalità accettata è specificata nella quotation e potrebbe non essere prevista per alcuni vettori. Se questo campo non viene passato, viene assunto con C = contanti. |
||
assicurazione | string | S |
optional | S = acquistareN = non acquistareIl servizio potrebbe non essere previsto per alcuni vettori |
||
consegnaalpiano | string | S |
optional | S = acquistareN = non acquistareIl servizio potrebbe non essere previsto per alcuni vettori |
||
consegnasuappuntamento | string | S |
optional | S = acquistareN = non acquistareIl servizio potrebbe non essere previsto per alcuni vettori |
||
trackingavanzato | string | S |
optional | S = acquistareN = non acquistare |
||
priornotice | string | S |
optional | S = acquistareN = non acquistareIl servizio "Prior Notice" è acquistabile solo per spedizioni estere dirette negli USA |
||
mittente | nominativo | string | Rossi Mario |
S | Nominativo del mittente | |
indirizzo | string | Via del Colosseo, 1 |
S | Indirizzo del mittente | ||
string | mario@rossi.it |
S | Indirizzo email del mittente | |||
telefono | string | 0611111111 |
optional | Telefono fisso del mittente | ||
cellulare | string | 3471111111 |
S | Cellulare del mittente | ||
contatto | string | Rossi Mario |
S | Contatto del mittente | ||
codicefiscale | string | RSSMRA80A01H501U |
S | Codice fiscale del mittente | ||
destinatario | nominativo | string | Verdi Giuseppe |
S | Nominativo del destinatario | |
indirizzo | string | Piazza Duomo, 1 |
S | Indirizzo del destinatario | ||
string | giuseppe@verdi.it |
S | Indirizzo email del destinatario | |||
telefono | string | 0222222222 |
optional | Telefono fisso del destinatario | ||
cellulare | string | 34722222222 |
S | Cellulare del destinatario | ||
contatto | string | Verdi Giuseppe |
S | Contatto del destinatario | ||
codicefiscale | string | VRDGPP80A01H501U |
optional | Codice fiscale del mittente | ||
ritiro | prenotazione | string | S |
optional | S = richiestoN = non richiestoIl servizio consiste nel ritiro della spedizione presso il mittente. |
|
dettagli | ritirodove | string | M |
S | M = presso l'indirizzo del MittenteP = presso l'indirizzo del Point, indicato nel campo idcustomer della chiamata quotation . |
|
disponibile_dal | date | 2025-04-26 |
S | Data (nel formato AAAA-MM-DD) che identifica da quando la spedizione è disponibile per essere ritirata. | ||
disponibile_ora | time | 08:00 |
S | Orario (nel formato HH:MM) che identifica da quando la spedizione è disponibile per essere ritirata. | ||
ritiro_mattina_dalle | time | 08:00 |
S | Orario (nel formato HH:MM) che identifica da quando la spedizione è disponibile per essere ritirata. | ||
ritiro_mattina_alle | time | 12:00 |
S | Orario (nel formato HH:MM) che identifica da quando la spedizione è disponibile per essere ritirata. | ||
ritiro_pomeriggio_dalle | time | 14:00 |
S | Orario (nel formato HH:MM) che identifica da quando la spedizione è disponibile per essere ritirata. | ||
ritiro_pomeriggio_alle | time | 18:00 |
S | Orario (nel formato HH:MM) che identifica da quando la spedizione è disponibile per essere ritirata. |
Risposta JSON
{ "result":"OK", "errorcode":"0", "errormessage":"ACQUISTO OK", "codice_offerta":"5dcc4a53b00fc", "custom":"XYZ123456", "ordine":"EAS-5dcc4a53b00fc", "id_ordine":"1234567", "importo":"6.90", "timestamp":"2025-04-26 07:17:06", "version":"1.1.20"}
OrderFast
La chiamata order-fast
consente di effettuare - con una unica chiamata - il preventivo (QUOTATION) del costo relativo ad una spedizione, secondo precisi parametri che vengono trasmessi, la conseguente conferma dell'ordine (ORDER) e la successiva nuova chiamata GETWAYBILL per ottenere i dati relativi alla lettera di vettura prodotta. In pratica, necessitano tutti i dati relativi al mittente, al destinatario e al tipo di spedizione (nazionale/internazionale, specifiche dei colli, eventuali servizi accessori, ecc) e il sistema Easy Parcel API restituirà l'ID dell'ordine prodotto, il suo costo e la lettera di vettura, sia in formato URL che BASE64.
Esempio di chiamata order-fast
in PHP:
$ch = curl_init("https://api.easyparcel.it/order-fast/c2fbbf11fdb3b18a20d543eeebdb057232c9c20b9ce850d60ce74ec36b0a8a77"); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonRequest); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json', 'Content-Length: ' . strlen($jsonRequest)) ); $jsonResult = curl_exec($ch);
Richiesta JSON
{ "call":"order-fast", "dettagli":{ "note_cliente":"TEST-SPEDIZIONE", "note_contenuto":"TEST-CONTENUTO", "file_ldv":true, "idcustomer":12345, "vettore":"SDAM", "cosa_spedire":"M", "custom":"TEST-CUSTOM", "accessori":{ "contrassegno_importo":1000, "assicurazione_importo":500 }, "tipo_spedizione":"N" }, "colli":[ { "peso":3.000, "larghezza":30, "profondita":20, "altezza":15, "nr_colli":1 } ], "mittente":{ "nominativo":"ROSSI MARIO", "indirizzo":"VIA COLOSSEO, 1", "cap":"00175", "localita":"ROMA", "provincia":"RM", "nazione":"IT", "email":"mario@rossi.it", "telefono":"", "cellulare":"3471111111", "contatto":"ROSSI MARIO", "codicefiscale":"RSSMRA80A01H501U" }, "destinatario":{ "nominativo":"VERDI GIUSEPPE", "indirizzo":"PIAZZA DUOMO, 1", "cap":"20121", "localita":"MILANO", "provincia":"MI", "nazione":"IT", "email":"giuseppe@verdi.it", "telefono":"", "cellulare":"3472222222", "contatto":"VERDI GIUSEPPE", "codicefiscale":"" }, "ritiro":{ "prenotazione":"S", "dettagli":{ "ritirodove":"M", "disponibile_dal":"2024-05-21", "disponibile_ora":"08:00", "ritiro_mattina_dalle":"08:00", "ritiro_mattina_alle":"12:00", "ritiro_pomeriggio_dalle":"14:00", "ritiro_pomeriggio_alle":"18:00" } } }
Requisiti della richiesta JSON
Livello 1 | Livello 2 | Livello 3 | Tipo | Esempio | Obbligatorio | Descrizione |
---|---|---|---|---|---|---|
call | string | order-fast |
Sì | Inserire order-fast |
||
dettagli | note_cliente | string | TEST-SPEDIZIONE |
Opzionale | Note interne del cliente | |
note_contenuto | string | TEST-CONTENUTO |
Sì | Descrizione del contenuto | ||
file_ldv | boolean | true |
Opzionale | Richiedere il file LDV in base64 | ||
idcustomer | integer | 12345 |
Opzionale | ID cliente sul cui listino calcolare il preventivo | ||
vettore | string | SDAM |
Sì | Codice vettore codificato sulla piattaforma | ||
cosa_spedire | string | M |
Sì |
D = documentiM = merce/pacchiP = pallet
|
||
custom | string | TEST-CUSTOM |
Opzionale | Campo personalizzato del cliente | ||
accessori | contrassegno_importo | decimal | 1000 |
Opzionale | Importo del contrassegno | |
assicurazione_importo | decimal | 500 |
Opzionale | Importo dell'assicurazione | ||
tipo_spedizione | string | N |
Sì |
N = nazionaleE = esteroI = import
|
||
colli | peso | decimal | 3.000 |
Sì | Peso del collo in kg | |
larghezza | integer | 30 |
Sì | Larghezza in cm | ||
profondita | integer | 20 |
Sì | Profondità in cm | ||
altezza | integer | 15 |
Sì | Altezza in cm | ||
nr_colli | integer | 1 |
Sì | Numero di colli | ||
mittente | nominativo | string | ROSSI MARIO |
Sì | Nominativo del mittente | |
indirizzo | string | VIA COLOSSEO, 1 |
Sì | Indirizzo del mittente | ||
cap | string | 00175 |
Sì | CAP del mittente | ||
localita | string | ROMA |
Sì | Località del mittente | ||
provincia | string | RM |
Sì | Provincia del mittente | ||
nazione | string | IT |
Sì | Nazione del mittente | ||
string | mario@rossi.it |
Sì | Email del mittente | |||
telefono | string | 0612345678 |
Opzionale | Telefono del mittente | ||
cellulare | string | 3471111111 |
Sì | Cellulare del mittente | ||
contatto | string | ROSSI MARIO |
Sì | Contatto del mittente | ||
codicefiscale | string | RSSMRA80A01H501U |
Opzionale | Codice fiscale del mittente | ||
destinatario | nominativo | string | VERDI GIUSEPPE |
Sì | Nominativo del destinatario | |
indirizzo | string | PIAZZA DUOMO, 1 |
Sì | Indirizzo del destinatario | ||
cap | string | 20121 |
Sì | CAP del destinatario | ||
localita | string | MILANO |
Sì | Località del destinatario | ||
provincia | string | MI |
Sì | Provincia del destinatario | ||
nazione | string | IT |
Sì | Nazione del destinatario | ||
string | giuseppe@verdi.it |
Sì | Email del destinatario | |||
telefono | string | 0287654321 |
Opzionale | Telefono del destinatario | ||
cellulare | string | 3472222222 |
Sì | Cellulare del destinatario | ||
contatto | string | VERDI GIUSEPPE |
Sì | Contatto del destinatario | ||
codicefiscale | string |
|
Opzionale | Codice fiscale del destinatario | ||
ritiro | prenotazione | string | S |
Sì |
S = prenotare il ritiroN = non prenotare il ritiro
|
|
dettagli | ritirodove | string | M |
Sì |
M = mittenteD = destinatario
|
|
disponibile_dal | date | 2024-05-21 |
Sì | Data di ritiro disponibile dal | ||
disponibile_ora | time | 08:00 |
Sì | Ora di ritiro disponibile da | ||
ritiro_mattina_dalle | time | 08:00 |
Opzionale | Fascia oraria mattina: dalle | ||
ritiro_mattina_alle | time | 12:00 |
Opzionale | Fascia oraria mattina: alle | ||
ritiro_pomeriggio_dalle | time | 14:00 |
Opzionale | Fascia oraria pomeriggio: dalle | ||
ritiro_pomeriggio_alle | time | 18:00 |
Opzionale | Fascia oraria pomeriggio: alle |
Risposta JSON
{ "result":"OK", "errorcode":"0", "errormessage":"ACQUISTO OK", "codice_offerta":"65b259a08b51b", "custom":"TEST-CUSTOM", "ordine":"EAS-65b259a08b51b", "id_ordine":4711427, "importo":"6.27", "lettera_vettura":"388648I650008", "url_ldv":"https://api.easyparcel.it/ldv/4711427_65b259ae98035.pdf", "codice_ritiro":null, "url_bordero":"https://api.easyparcel.it/tmp/15_bordero_20240125125306.pdf", "ldv_base64":"JVBERi0xLjQKJeLjz9MKNCAwIG9iago8PC...", "single_waybills" : [ { "ldv_base64" : "JVBERi0xLjQKJeLjz9MKNCAwIG9iago8PC...", "lettera_vettura" : "388648I650008" } ], "timestamp":"2025-04-26 07:17:06", "version":"1.1.20" }
GetWaybill
La chiamata GetWaybill
consente di ottenere informazioni relative alla WAYBILL (AWB o lettera di vettura) di uno specifico ordine.
Esempio di chiamata getwaybill
in PHP:
$ch = curl_init("https://api.easyparcel.it/getwaybill/c2fbbf11fdb3b18a20d543eeebdb057232c9c20b9ce850d60ce74ec36b0a8a77"); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonRequest); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array ( 'Content-Type: application/json', 'Content-Length: ' . strlen($jsonRequest) ) ); $jsonResult = curl_exec($ch);
Richiesta JSON
{ "call":"getwaybill", "details": { "order_id":1234567, "waybill_base64":"Y" "single_waybills":"Y" } }
Requisiti della richiesta JSON
Livello 1 | Livello 2 | Tipo | Valore | Obbligatorio | Descrizione |
---|---|---|---|---|---|
call | string | getwaybill |
S | Inserire "getwaybill" | |
details | order_id | numeric | 1234567 |
S | In questo campo dev'essere indicato l'ID dell'ordine per il quale richiedere la lettera di vettura (waybill). |
waybill_base64 | string | N |
optional | Y = restituisce il contenuto del file della waybill codificato in base64N = non restituisce il contenuto del file della waybillN.B. Di default se non passato, questo valore viene assunto come N. |
|
single_waybills | string | N |
optional | Y = restituisce dentro "single_waybills" il contenuto delle singole waybills codificato in base64N = non restituisce le singole waybillsN.B. Di default se non passato, questo valore viene assunto come N. |
Risposta JSON
{ "result":"OK", "error_code":0, "error_message":"GETWAYBILL OK", "order_id":"1234567", "custom":"ORD.123", "waybill_number":"288988I018728", "waybill_url":"https://api.easyparcel.it/ldv/5188175_66620f9322512.pdf", "pickup_code":"CP95599292", "bordero_url":"https://api.easyparcel.it/tmp/202_bordero_20240607000033.pdf", "waybill_base64":"JVBERi0xLjQKJeLjz9MKNCAwIG9iago8PC9Db2xvclNwYWNv3r4rLCxCTVPiwIHj/wdBQUGjhw3...NDEzNTY2CiUlRU9GCg==", "single_waybills":[ { "waybill_number":"288988I018728", "waybill_base64":"JVBERi0xLjQKJeLjz9MKMyAwIG9iago8PC9UeXBlIC9QYWdlCi9QYXJlbnQgMSAwIFIKL01lZGl...ZgoyMDUwNDMKJSVFT0Y=" }, { "waybill_number":"988IMFVYK288988I018728", "waybill_base64":"JVBERi0xLjQKJeLjz9MKMyAwIG9iago8PC9UeXBlIC9QYWdlCi9QYXJlbnQgMSAwIFIKL01lZGl...ZgoyMTAxNDAKJSVFT0Y=" } ], "timestamp":"2025-04-26 07:17:06", "version":"1.1.20" }
Note sulla risposta JSON:
La risposta JSON contiene tutti i dati, se presenti, relativi alla Waybill (lettera di vettura), comprensivi del suo numero e della URL dove poter scaricarla. Se nella chiamata è stato inserito il parametro
waybill_base64
con il valore Y, allora nella risposta sarà presente anche il campo waybill_base64
che conterrà il contenuto del file della waybill codificato nello standard "base64" che potrà essere salvato e reso disponibile ai clienti. Inoltre, se il parametro single_waybills
è impostato su Y, la risposta includerà anche il campo single_waybills
contenente le singole waybills codificate in base64.
GetOrder
La chiamata getorder
consente di visualizzare tutte le informazioni relative ad un ordine di una spedizione e può essere ricercato per codice_offerta
oppure per custom
.
Esempio di chiamata getorder
in PHP:
$ch = curl_init("https://api.easyparcel.it/getorder/c2fbbf11fdb3b18a20d543eeebdb057232c9c20b9ce850d60ce74ec36b0a8a77"); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonRequest); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json', 'Content-Length: ' . strlen($jsonRequest)) ); $jsonResult = curl_exec($ch);
Richiesta JSON
{ "call":"getorder", "dettagli":{ "codice_offerta":"5dcc4a53b00fc", "custom":"XYZ123456" } }
Requisiti della richiesta JSON
Livello 1 | Livello 2 | Tipo | Esempio | Obbligatorio | Descrizione |
---|---|---|---|---|---|
call | string | getorder |
S | Inserire getorder |
|
dettagli | codice_offerta | string | 5dcc4a53b00fc |
optional | Inserire un codice_offerta fra quelli ricevuti in risposta ad una precedente chiamata "order".N.B. Se non inserito, diventa obbligatorio il campo custom. |
custom | string | XYZ123456 |
optional | Inserire un custom fra quelli indicati in una precedente chiamata "order".N.B. Se non inserito, diventa obbligatorio il campo codice_offerta. |
Risposta JSON
{ "result":"OK", "errorcode":0, "errormessage":"GETORDER OK", "order":{ "codice_offerta":"5dcc4a53b00fc", "data":"2025-01-03 10:41:08", "utente":"0", "ragionesociale":"ROSSI MARIO", "indirizzo":"VIA DEL COLOSSEO, 1", "cap":"00175", "localita":"ROMA", "provincia":"RM", "codicefiscale":"RSSMRA80A01H501U", "partitaiva":"", "telefono":"", "cellulare":"3471111111", "email":"mario@rossi.it", "cosa":"MERCE", "peso_totale":"1.000", "tipo_spedizione":"N", "vettore":"SDAM", "nome_vettore":"SDA", "logo_vettore":"https://www.easyparcel.it/api/loghi/logo_sda.png", "mittente_nominativo":"ROSSI MARIO", "mittente_indirizzo":"VIA DEL COLOSSEO, 1", "mittente_localita":"ROMA", "mittente_provincia":"RM", "mittente_cap":"00175", "mittente_email":"mario@rossi.it", "mittente_telefono":"", "mittente_cellulare":"3471111111", "mittente_contatto":"ROSSI MARIO", "mittente_cf":"RSSMRA80A01H501U", "destinatario_nominativo":"VERDI GIUSEPPE", "destinatario_indirizzo":"PIAZZA DUOMO, 1", "destinatario_localita":"MILANO", "destinatario_cap":"20121", "destinatario_provincia":"MI", "destinatario_nazione":"IT", "destinatario_esterocap":null, "destinatario_country":null, "destinatario_email":"giuseppe@verdi.it", "destinatario_telefono":"", "destinatario_cellulare":"3472222222", "destinatario_contatto":"VERDI GIUSEPPE", "consegna":"E", "totale_dovuto":"6.90", "percentualeiva":"22", "importo_tariffa":"10.62", "peso_volumetrico":"1.000", "contrassegno":"N", "contrassegno_importo":"0.00", "contrassegno_modalita":"C", "assicurazione":"N", "assicurazione_importo":"0.00", "consegnaalpiano":"N", "appuntamento":"N", "priornotice":"N", "ritiro":"N", "ritiro_dove":null, "ritiro_disp_data":null, "ritiro_disp_ora":null, "ritiro_matt_da":null, "ritiro_matt_a":null, "ritiro_pom_da":null, "ritiro_pom_a":null, "note_cliente":"ACQUISTO DI TEST", "note_contenuto":"BISCOTTI", "custom":"XYZ123456", "lettera_vettura":null, "url_ldv":null, "codice_ritiro":null, "live":"0", "idordine":1234567, "url_bordero":"https://api.easyparcel.it/tmp/1234_bordero_20230208160810.pdf" }, "dettagli":[ { "peso":"3.000", "larghezza":"30", "profondita":"20", "altezza":"15", "nr_colli":"1" } ], "timestamp":"2025-04-26 07:17:06", "version":"1.1.20" }
Note sulla risposta JSON:
La risposta JSON contiene tutti i dati relativi alla memorizzazione dell'ordine
ListOrder
La chiamata listorder
consente di ottenere una lista di spedizioni filtrate per il periodo scelto e/o id utente.
Esempio di chiamata listorder
in PHP:
$ch = curl_init("https://api.easyparcel.it/listorder/c2fbbf11fdb3b18a20d543eeebdb057232c9c20b9ce850d60ce74ec36b0a8a77"); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonRequest); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json', 'Content-Length: ' . strlen($jsonRequest)) ); $jsonResult = curl_exec($ch);
Richiesta JSON
{ "call":"listorder", "dettagli":{ "data_inizio":"2024-01-01", "data_fine":"2024-01-15", "idcustomer":"12345", "paginazione":25, "pagina":3 } }
Requisiti della richiesta JSON
Livello 1 | Livello 2 | Tipo | Esempio | Obbligatorio | Descrizione |
---|---|---|---|---|---|
call | string | listorder |
S | Inserire listorder |
|
dettagli | data_inizio | string | 2024-01-01 |
optional | Inserire una data di inizio periodo nel formato AAAA-MM-GG.N.B. Se non inserita, viene considerata la data odierna. |
data_fine | string | 2024-01-15 |
optional | Inserire una data di fine periodo nel formato AAAA-MM-GG.N.B. Se non inserita, viene considerata la data odierna. |
|
idcustomer | numeric | 12345 |
optional | Inserire l'ID di un utente sotto la propria rete.N.B. Se non inserito, viene mostrata la lista di tutti gli ordini. |
|
paginazione | numeric | 25 |
optional | Inserire la dimensione della paginazione ossia il numero di ordini che verranno restituiti dalla chiamata.N.B. Se non inserito, viene mostrata la lista dei primi 10 ordini; la massima paginazione è di 100 ordini. |
|
pagina | numeric | 2 |
optional | Inserire il numero della pagina da visualizzare.N.B. Se non inserito, viene mostrata la prima pagina della lista degli ordini. |
Risposta JSON
{ "result":"OK", "errorcode":0, "errormessage":"LISTORDER OK", "nrordini":38, "paginazione":25, "pagina":2, "orders":[ { "codice_offerta":"5dcc4a53b00fc", "data":"2020-04-14 18:41:08", "cosa":"MERCE", "peso_totale":"1.000", "tipo_spedizione":"N", "vettore":"SDAM", "nome_vettore":"SDA", "logo_vettore":"https://www.easyparcel.it/api/loghi/logo_sdam.png", "mittente_nominativo":"Rossi Mario", "mittente_localita":"ROMA", "mittente_provincia":"RM", "mittente_cap":"00175", "destinatario_nominativo":"Verdi Giuseppe", "destinatario_localita":"MILANO", "destinatario_cap":"20121", "destinatario_provincia":"MI", "destinatario_nazione":"IT", "destinatario_esterocap":null, "destinatario_country":null, "consegna":"E", "totale_dovuto":"6.90", "peso_volumetrico":"1.000", "note_cliente":"ACQUISTO DI TEST", "note_contenuto":"BISCOTTI", "custom":"XYZ123456", "lettera_vettura":null, "idcustomer":"12345", "live":"0", "colli":[ { "nr_colli":"1", "lunghezza":"10", "larghezza":"20", "altezza":"30", "peso":"3.500" } ] }, { "codice_offerta":"5dcc4a53b00fg", "data":"2020-04-14 18:55:32", "cosa":"MERCE", "peso_totale":"3.000", "tipo_spedizione":"N", "vettore":"SDAM", "nome_vettore":"SDA", "logo_vettore":"https://www.easyparcel.it/api/loghi/logo_sdam.png", "mittente_nominativo":"Rossi Maria", "mittente_localita":"ROMA", "mittente_provincia":"RM", "mittente_cap":"00178", "destinatario_nominativo":"Verdi Giuseppina", "destinatario_localita":"MILANO", "destinatario_cap":"20128", "destinatario_provincia":"MI", "destinatario_nazione":"IT", "destinatario_esterocap":null, "destinatario_country":null, "consegna":"E", "totale_dovuto":"8.20", "peso_volumetrico":"3.000", "note_cliente":"ACQUISTO DI TEST", "note_contenuto":"VESTITI", "custom":"XYZ123457", "lettera_vettura":null, "idcustomer":"12345", "live":"0", "colli":[ { "nr_colli":"1", "lunghezza":"18", "larghezza":"28", "altezza":"3", "peso":"0.454" } ] } ], "timestamp":"2024-01-19 09:31:59" }
Note sulla risposta JSON:
La risposta JSON contiene la lista paginata degli ordini del periodo scelto ed eventualmente per l'utente selezionato, con alcuni dati identificativi di ogni ordine.
Tracking
La chiamata tracking
permette di ottenere il link per consultare il tracking di una spedizione, che può essere ricercata per codice_offerta
, per custom
oppure tramite ldv
.
Esempio di chiamata tracking
in PHP:
$ch = curl_init("https://api.easyparcel.it/tracking/c2fbbf11fdb3b18a20d543eeebdb057232c9c20b9ce850d60ce74ec36b0a8a77"); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonRequest); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json', 'Content-Length: ' . strlen($jsonRequest)) ); $jsonResult = curl_exec($ch);
Richiesta JSON
{ "call":"tracking", "dettagli":{ "codice_offerta":"5dcc4a53b00fc", "custom":"XYZ123456" } }
Requisiti della richiesta JSON
Livello 1 | Livello 2 | Tipo | Esempio | Obbligatorio | Descrizione |
---|---|---|---|---|---|
call | string | tracking |
S | Inserire tracking |
|
dettagli | codice_offerta | string | 5dcc4a53b00fc |
optional | Inserire un codice_offerta fra quelli ricevuti in risposta ad una precedente chiamata "order".N.B. E' obbligatorio indicare un codice_offerta, un custom oppure una ldv. |
custom | string | XYZ123456 |
optional | Inserire un custom fra quelli indicati in una precedente chiamata "order".N.B. E' obbligatorio indicare un codice_offerta, un custom oppure una ldv. |
|
ldv | string | 288016E049120 |
optional | Inserire una ldv da ricercare.N.B. E' obbligatorio indicare un codice_offerta, un custom oppure una ldv. |
Risposta JSON
{ "result":"OK", "errorcode":0, "errormessage":"TRACKING OK", "tracking":{ "codice_offerta":"5e95d42de07a6", "custom":"XYZ123456", "lettera_vettura":"288016E049120", "url_tracking":"https://www.poste.it/cerca/index.html#/risultati-spedizioni/288364I031083", "codice_prenotazione":"CP1234567890" }, "dettagli":[ { "id": 1, "data":"2020-04-15", "ora":"12:41:00", "status":"RIT", "descrizione":"RITIRATA", "note":"LA SPEDIZIONE E' STATA RITIRATA PRESSO IL MITTENTE", "filiale":"Catanzaro" }, { "id": 2, "data":"2020-04-15", "ora":"16:10:02", "status":"PPP", "descrizione":"PARTITA", "note":"LA SPEDIZIONE E' PARTITA", "filiale":"Catanzaro" }, { "id": 3, "data":"2020-04-16", "ora":"10:54:00", "status":"PPP", "descrizione":"PARTITA", "note":"LA SPEDIZIONE E' PARTITA", "filiale":"Roma Hub Espresso" }, { "id": 4, "data":"2020-04-16", "ora":"10:55:00", "status":"THE", "descrizione":"SMISTATO HUB ED INOLTRATO", "note":"IN TRANSITO", "filiale":"Roma Hub Espresso" }, { "id": 5, "data":"2020-04-17", "ora":"04:18:00", "status":"PPP", "descrizione":"PARTITA", "note":"LA SPEDIZIONE E' PARTITA", "filiale":"Hub Espresso Piacenza" }, { "id": 6, "data":"2020-04-17", "ora":"04:18:00", "status":"THE", "descrizione":"SMISTATO HUB ED INOLTRATO", "note":"IN TRANSITO", "filiale":"Hub Espresso Piacenza" }, { "id": 7, "data":"2020-04-17", "ora":"12:25:00", "status":"000", "descrizione":"LA SPEDIZIONE E' STATA CONSEGNATA", "note":"LA SPEDIZIONE E' STATA CONSEGNATA", "filiale":"Hub Espresso Piacenza", "firma":"Rossi Mario" } ], "timestamp":"2024-01-19 09:31:59" }
Note sulla risposta JSON:
La risposta JSON contiene tutti i dati relativi al tracking della spedizione e per il vettore SDA è disponibile anche tutto il dettaglio nell'apposito campo.
NewCustomer
La chiamata newcustomer
permette di creare un nuovo utente del proprio network.
Esempio di chiamata newcustomer
in PHP:
$ch = curl_init("https://api.easyparcel.it/newcustomer/c2fbbf11fdb3b18a20d543eeebdb057232c9c20b9ce850d60ce74ec36b0a8a77"); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonRequest); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json', 'Content-Length: ' . strlen($jsonRequest)) ); $jsonResult = curl_exec($ch);
Richiesta JSON
{ "call":"newcustomer", "dettagli":{ "cognome":"ROSSI", "nome":"MARIO", "indirizzo":"PIAZZA DUOMO, 1", "cap":"20121", "localita":"MILANO", "provincia":"MI", "nazione":"IT", "email":"mariorossi@gmail.com", "telefono":"0212345678", "cellulare":"3470123456", "ragionesociale":"ROSSI MARIO SLRS", "codicefiscale":"RSSMRA11A11A111A", "partitaiva":"01234567890", "fe_pec":"rossimario@pec.it", "fe_sdi":"0000000", "banca":null, "iban":null, "intestazioneconto":null, "username":"mariorossi", "password":"12345678" } }
Requisiti della richiesta JSON
Livello 1 | Livello 2 | Tipo | Esempio | Obbligatorio | Descrizione |
---|---|---|---|---|---|
call | string | newcustomer |
S | Inserire newcustomer |
|
dettagli | cognome | string | ROSSI |
S | Inserire il cognome del cliente. |
nome | string | MARIO |
S | Inserire il nome del cliente. | |
indirizzo | string | PIAZZA DUOMO, 1 |
S | Inserire l'indirizzo del cliente. | |
cap | string | 20121 |
S | Inserire il cap del cliente. | |
localita | string | MILANO |
S | Inserire la località del cliente. | |
provincia | string | MI |
S | Inserire la sigla della provincia italiana del cliente.N.B. In caso di cliente estero, compilare questo campo come segue: -- |
|
nazione | string | IT |
S | Inserire la sigla della nazione del cliente, usando il codice ISO 3166-1 Alpha-2 (link). | |
string | mariorossi@gmail.com |
S | Inserire l'email del cliente. | ||
telefono | string | 0212345678 |
optional | Inserire il numero di telefono del cliente. | |
cellulare | string | 3470123456 |
optional | Inserire il numero di cellulare del cliente. | |
ragionesociale | string | ROSSI MARIO SLRS |
optional | Inserire l'eventuale ragione sociale del cliente. | |
codicefiscale | string | RSSMRA11A11A111A |
S | Inserire il codice fiscale del cliente. | |
partitaiva | string | 01234567890 |
optional | Inserire l'eventuale partita Iva del cliente.N.B. Campo obbligatorio se compilato il campo ragionesociale . |
|
fe_pec | string | marirossi@pec.it |
optional | Inserire l'eventuale PEC del cliente.N.B. Campo obbligatorio se compilato il campo ragionesociale (non obbligatorio per cliente estero). |
|
fe_sdi | string | 0000000 |
S | Inserire l'eventuale SDI del cliente (inserire 0000000 per privato). | |
banca | string | CREDITO EMILIANO SPA |
optional | Inserire il nome della banca del cliente. | |
iban | string | IT1A12341234123412341234123 |
optional | Inserire l'eventuale IBAN del cliente.N.B. Campo necessario per rimessa contrassegni. |
|
intestazioneconto | string | ROSSI MARIO |
optional | Inserire il nome esatto dell'intestazione del conto bancario del cliente. | |
username | string | mariorossi |
S | Inserire la username di accesso del cliente. | |
password | string | 12345678 |
S | Inserire la password di accesso del cliente. |
Risposta JSON
{ "result":"OK", "errorcode":0, "errormessage":"NEWCUSTOMER OK", "id_dva":3723, "timestamp":"2024-01-19 09:31:59" "version":"1.1.20"}
Note sulla risposta JSON:
La risposta JSON contiene il campo
id_dva
che è il nuovo ID del cliente creato, da utilizzare per successive chiamate.
AddFund
La chiamata addfund
permette di trasferire del credito prepagato dal conto master del capofila a quello del cliente.
Esempio di chiamata addfund
in PHP:
$ch = curl_init("https://api.easyparcel.it/addfund/c2fbbf11fdb3b18a20d543eeebdb057232c9c20b9ce850d60ce74ec36b0a8a77"); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonRequest); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json', 'Content-Length: ' . strlen($jsonRequest)) ); $jsonResult = curl_exec($ch);
Richiesta JSON
{ "call":"addfund", "dettagli":{ "idcustomer":3723, "amount":100.00 } }
Requisiti della richiesta JSON
Livello 1 | Livello 2 | Tipo | Esempio | Obbligatorio | Descrizione |
---|---|---|---|---|---|
call | string | addfund |
S | Inserire addfund |
|
dettagli | idcustomer | numeric | 3723 |
S | Inserire l'ID del cliente al quale girare i fondi. |
amount | decimal | 100.00 |
S | Inserire l'importo da girare al cliente. Il credito master del capofila deve essere maggiore o uguale all'importo da girare al cliente. In caso di importo decimale, utilizzare il PUNTO e non la VIRGOLA come separatore decimale. |
Risposta JSON
{ "result":"OK", "errorcode":0, "errormessage":"ADDFUND OK", "timestamp":"2024-01-19 09:31:59", "version":1.1.14}
Balance
La chiamata balance
permette di ottenere il valore del credito residuo del conto master ed eventualmente del cliente indicato nella chiamata.
Esempio di chiamata balance
in PHP:
$ch = curl_init("https://api.easyparcel.it/balance/c2fbbf11fdb3b18a20d543eeebdb057232c9c20b9ce850d60ce74ec36b0a8a77"); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonRequest); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json', 'Content-Length: ' . strlen($jsonRequest)) ); $jsonResult = curl_exec($ch);
Richiesta JSON
{ "call":"balance", "dettagli":{ "idcustomer":3723 } }
Requisiti della richiesta JSON
Livello 1 | Livello 2 | Tipo | Esempio | Obbligatorio | Descrizione |
---|---|---|---|---|---|
call | string | balance |
S | Inserire balance |
|
dettagli | idcustomer | numeric | 3723 |
optional | Inserire eventualmente l'ID del cliente del quale si vuole conoscere il credito residuo. |
Risposta JSON
{ "result":"OK", "errorcode":0, "errormessage":"BALANCE OK", "balance_master":245.90, "balance_customer":23.75, "timestamp":"2024-01-19 09:31:59", "version":1.1.14}
Note sulla risposta JSON:
La risposta JSON contiene sempre il campo
balance_master
che è il credito residuo del capofila e contiene il campo balance_customer
solo se nella richiesta è stato indicato il campo dettagli->idcustomer
.
CheckCoupon
La chiamata checkcoupon
consente di verificare la corretta applicabilità del coupon sconto ad una spedizione.
Esempio di chiamata checkcoupon
in PHP:
$ch = curl_init("https://api.easyparcel.it/checkcoupon/c2fbbf11fdb3b18a20d543eeebdb057232c9c20b9ce850d60ce74ec36b0a8a77"); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonRequest); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json', 'Content-Length: ' . strlen($jsonRequest)) ); $jsonResult = curl_exec($ch);
Richiesta JSON
{ "call":"checkcoupon", "dettagli":{ "idcustomer":3723, "vettore":"UPS21S", "peso_totale":8.00, "tipo_spedizione":"E", "cosa_spedire":"M", "provincia":"RM", "nazione":"US", "coupon" => "ILOVEUSA21" } }
Requisiti della richiesta JSON
Livello 1 | Livello 2 | Tipo | Esempio | Obbligatorio | Descrizione |
---|---|---|---|---|---|
call | string | checkcoupon |
S | Inserire checkcoupon |
|
dettagli | idcustomer | numeric | 3723 |
S | Inserire l'ID del cliente proprietario del coupon. |
vettore | string | UPS21S |
S | Inserire il codice del vettore. | |
peso_totale | string | 8.00 |
S | Inserire il peso complessivo della spedizione. | |
tipo_spedizione | string | N |
S | N = nazionaleE = esteroI = import |
|
cosa_spedire | string | M |
S | D = documentiM = merce/pacchiP = pallets |
|
provincia | string | RM |
S | Inserire la sigla della provincia italiana di partenza della spedizione.N.B. In caso di import indicare la provincia italiana di destinazione. |
|
nazione | string | US |
S | Inserire la sigla della nazione di destinazione della spedizione.N.B. In caso di import indicare la nazione di partenza. |
|
coupon | string | ILOVEUSA21 |
S | Inserire il codice del coupon da applicare alla spedizione. |
Risposta JSON
{ "result":"OK", "errorcode":0, "errormessage":"CHECKCOUPON OK", "errordetails":"Previsto sconto del 5%", "timestamp":"2024-01-19 09:31:59", "version":"1.1.20"}
Note sulla risposta JSON:
La risposta JSON contiene sempre il campo
errorcode
che indica se il coupon è valido o meno, mentre il campo errodetails
riporta il valore del coupon oppure il tipo di errore.
Errori
Questa sezione contiene l'elenco e il significato di tutti gli eventuali errori che le chiamate API al sistema
restituiscono.
Esempio di risposta JSON di errore
{ "result" => "KO", "errorcode" => "110", "errormessage" => "JSON - Errore sui campi", "errordetails" => "Campo 'mittente->cap' mancante o non corretto", "timestamp":"2024-01-19 09:31:59" }
Note sulla risposta JSON:
Il sistema
risponde con un HTTP_RESPONSE_CODE attraverso la funzione PHP
In caso di errore, la funzione API restituisce un JSON che contiene i dettagli dell'errore, in modo che sia possibile identificarli e porvi rimedio.

http_response_code
. La risposta 200
identifica una risposta positiva, mentre una risposta 400
identifica l'individuazione di un errore.In caso di errore, la funzione API restituisce un JSON che contiene i dettagli dell'errore, in modo che sia possibile identificarli e porvi rimedio.
Tabella dei codici di errore
ErrorCode | ErrorMessage | Descrizione |
---|---|---|
NESSUN ERRORE | L'operazione è stata eseguita correttamente. | |
APIKEY - Non valida | Il codice APIKEY utilizzato nella chiamata non risulta una chiave valida. | |
APIKEY - Chiave scaduta | Il codice APIKEY utilizzato nella chiamata è scaduto e necessita del rinnovo per poter continuare a funzionare. | |
APIKEY - Servizio non disponibile per questo indirizzo IP | La chiamata proviene da un indirizzo IP non autorizzato per questo codice APIKEY. | |
APIKEY - Limite giornaliero chiamate superato | La chiamata ha superato il limite giornaliero per questo codice APIKEY. | |
JSON - Manca il file | Manca il file JSON che dev'essere passato alla funzione via POST. | |
JSON - Errore sui campi | Il file JSON passato non rispetta i requisiti per la chiamata. Nel campo errordetails sono dettagliati i valori errati o mancanti. |
|
USER Credito esaurito | Il credito residuo non consente di perfezionare l'acquisto. | |
ORDER Già memorizzato | Il codice offerta è già stato elaborato e quindi l'acquisto non è duplicabile. Acquisto non perfezionato. | |
ORDER Errore in fase di memorizzazione | La memorizzazione dell'acquisto non è andata a buon fine. Acquisto non perfezionato. Contattare l'assistenza. | |
ORDER Errore in fase di memorizzazione (2) | La memorizzazione dell'acquisto non è andata a buon fine perché è stato selezionato un vettore che al momento non consente un acquisto via API. Acquisto non perfezionato. | |
NEWCUSTOMER Funzione non disponibile | Funzione non disponibile per questo account. | |
NEWCUSTOMER Errore in fase di memorizzazione | La memorizzazione del nuovo cliente non è andata a buon fine. Contattare l'assistenza. | |
ADDFUND Funzione non disponibile | Funzione non disponibile per questo account. | |
ADDFUND Credito non sufficiente | L'account master non ha credito sufficiente per ricaricare il cliente. | |
ADDFUND Cliente non corretto | Il cliente indicato non esiste o non fa parte del network. | |
BALANCE Funzione non disponibile | Funzione non disponibile per questo account. | |
BALANCE Cliente non corretto | Il cliente indicato non esiste o non fa parte del network. |