Dashboard

IP: 185.56.219.226

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.3


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

Versione 1.1+

{
	"response":{
		"azienda":"easyparcel.it",
		"logo":"http://www.easyparcel.it/logo.jpg",
		"system":"API",
		"lastversion":"1.1.3",
		"call":"apikeyinfo",
		"dettagli":{
			"apikey":"c2fbbf11fdb3b18a20d543eeebdb057232c9c20b9ce850d60ce74ec36b0a8a77",
			"cliente":"EasyParcel Demo",
			"lastversion":"1.0",
			"attivazione":"2019-10-01",
			"scadenza":"2020-09-30",
			"ip_access":"Unlimited",
			"limite_giornaliero":"Unlimited",
			"fast_quote":"false",
			"credito_prepagato":125.00,
			"live":"true",
			"email_ordine_mittente":"true",
			"ldv_api":""
		},
		"timestamp":"2020-10-26 10:16:55"
	}
}

Versione 1.1, 1.0

{
	"response":{
		"azienda":"easyparcel.it",
		"logo":"http://www.easyparcel.it/logo.jpg",
		"system":"API",
		"call":"apikeyinfo",
		"dettagli":{
			"apikey":"c2fbbf11fdb3b18a20d543eeebdb057232c9c20b9ce850d60ce74ec36b0a8a77",
			"cliente":"EasyParcel Demo",
			"attivazione":"2019-10-01",
			"scadenza":"2020-09-30",
			"ip_access":"Unlimited",
			"limite_giornaliero":"Unlimited",
			"fast_quote":"false",
			"credito_prepagato":125.00,
			"live":"true",
			"email_ordine_mittente":"true",
			"ldv_api":""
		},
		"timestamp":"2020-10-26 10:16:55"
	}
}

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 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:
  • codice_offerta (vedi chiamata order)
  • custom (vedi chiamata order)
  • link_ldv
  • link_tracking
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 tipo_spedizione   string N S N = nazionale
E = internazionale
cosa_spedire   string M S D = documenti
M = merce
contenuto   string BISCOTTI S Inserire la descrizione del contenuto
accessori contrassegno_importo integer 500 optional Valore in Euro del contrassegno
  assicurazione_importo integer 300 optional Valore in Euro dell'assicurazione
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 Solo su internazionale 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

Versione 1.1+

{
	"result":"OK",
	"errorcode":0,
	"errormessage":"GETORDER 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"
				},
				"assicurazione":{
					"attivabile":"S",
					"importo":"7.70",
					"valore_simulato":500
				},
				"consegnaalpiano":{
					"attivabile":"S",
					"importo":"4.00"
				},
				"consegnasuappuntamento":{
					"attivabile":"S",
					"importo":"6.00"
				},
				"trackingavanzato":{
					"attivabile":"S",
					"importo":"0.15"
				}
			}
		},
		{
			"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"
				}
			}
		},
		{
			"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",
					"valore_simulato":500
				},
				"consegnaalpiano":{
					"attivabile":"N"
				},
				"consegnasuappuntamento":{
					"attivabile":"N"
				},
				"trackingavanzato":{
					"attivabile":"S",
					"importo":"0.15"
				}
			}
		}
	],
	"timestamp":"2020-10-26 10:16:55",
	"version":"1.1.3"
}

Versione 1.1, 1.0

{
	"response":{
		"azienda":"easyparcel.it",
		"logo":"http://www.easyparcel.it/logo.jpg",
		"system":"API",
		"version":"1.1",
		"call":"quotation",
		"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"
					},
					"assicurazione":{
						"attivabile":"S",
						"importo":"7.70",
						"valore_simulato":500
					},
					"consegnaalpiano":{
						"attivabile":"S",
						"importo":"4.00"
					},
					"consegnasuappuntamento":{
						"attivabile":"S",
						"importo":"6.00"
					},
					"trackingavanzato":{
						"attivabile":"S",
						"importo":"0.15"
					}
				}
			},
			{
				"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"
					}
				}
			},
			{
				"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",
						"valore_simulato":500
					},
					"consegnaalpiano":{
						"attivabile":"N"
					},
					"consegnasuappuntamento":{
						"attivabile":"N"
					},
					"trackingavanzato":{
						"attivabile":"S",
						"importo":"0.15"
					}
				}
			}
		],
		"timestamp":"2020-10-26 10:16:55",
		"version":"1.0"
	}
}

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 ifnromazioni 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"
	}
}

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"
dettagli note_cliente   string ACQUISTO DI TEST S Inserire un testo di descrizione dell'acquisto
dettagli custom   string XYZ123456 optional Campo custom a testo libero per eventuale ricerca ordine
accessori consegnaalpiano string S optional S = acquistare
N = non acquistare
consegnasuappuntamento string S optional S = acquistare
N = non acquistare
trackingavanzato string S optional S = acquistare
N = non acquistare
priornotice string S optional S = acquistare
N = non acquistare
Il 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
email   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
email   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

Risposta JSON

{
	"result":"OK",
	"errorcode":"0",
	"errormessage":"ACQUISTO OK",
	"codice_offerta":"5dcc4a53b00fc",
	"custom":"XYZ123456",
	"ordine":"EAS-5dcc4a53b00fc",
	"importo":"6.90",
	"timestamp":"2020-10-26 10:16:55"
}

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 ifnromazioni aggiuntive relative ad eventuali servizi opzionali che possono essere richiesti.

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 Livello 3 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.
dettagli 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":"2020-04-14 18: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",
		"assicurazione":"N",
		"assicurazione_importo":"0.00",
		"consegnaalpiano":"N",
		"trackingavanzato":"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,
		"live":"0"
	},
	"dettagli":[
		{
			"peso":"3.000",
			"larghezza":"30",
			"profondita":"20",
			"altezza":"15",
			"nr_colli":"1"
		}
	],
	"timestamp":"2020-10-26 10:16:55"
}

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.

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":"2020-04-10",
		"data_fine":"2020-04-15"
	}
}

Requisiti della richiesta JSON

Livello 1 Livello 2 Livello 3 Tipo Esempio Obbligatorio Descrizione
call     string listorder S Inserire listorder
data_inizio     string 2020-04-10 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 2020-04-15 optional Inserire una data di fine periodo nel formato AAAA-MM-GG.
N.B. Se non inserita, viene considerata la data odierna.

Risposta JSON

{
	"result":"OK",
	"errorcode":0,
	"errormessage":"LISTORDER OK",
	"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,
			"live":"0"
		},
		{
			"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,
			"live":"0"
		}
	],
	"timestamp":"2020-10-26 10:16:55"
}

Note sulla risposta JSON:

La risposta JSON contiene la lista di tutti gli ordini del periodo scelto, 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 oppure per custom.

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 Livello 3 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. Se non inserito, diventa obbligatorio il campo custom.
dettagli 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":"TRACKING OK",
	"tracking":{
		"codice_offerta":"5e95d42de07a6",
		"custom":"XYZ123456",
		"lettera_vettura":"288016E049120",
		"url_ldv":"https://api.easyparcel.it/ldv/257737_5e995920a0584.pdf",
		"url_tracking":"http://www.mysda.it/SDAServiziEsterniWeb2/faces/SDADettaglioSpedizione.jsp?user=END331353&ldv=288016E049120",
		"codice_prenotazione":"CP1234567890"
	},
	"dettagli":[
		{
			"data":"2020-04-15",
			"ora":"12:41",
			"rif_spedizione":"255887",
			"status":"RIT",
			"descrizione":"RITIRATA",
			"note":"LA SPEDIZIONE E' STATA RITIRATA PRESSO IL MITTENTE",
			"filiale":"Catanzaro"
		},
		{
			"data":"2020-04-15",
			"ora":"16:10",
			"rif_spedizione":"255887",
			"status":"PPP",
			"descrizione":"PARTITA",
			"note":"LA SPEDIZIONE E' PARTITA",
			"filiale":"Catanzaro"
		},
		{
			"data":"2020-04-16",
			"ora":"10:54",
			"rif_spedizione":"255887",
			"status":"PPP",
			"descrizione":"PARTITA",
			"note":"LA SPEDIZIONE E' PARTITA",
			"filiale":"Roma Hub Espresso"
		},
		{
			"data":"2020-04-16",
			"ora":"10:54",
			"rif_spedizione":"255887",
			"status":"THE",
			"descrizione":"SMISTATO HUB ED INOLTRATO",
			"note":"IN TRANSITO",
			"filiale":"Roma Hub Espresso"
		},
		{
			"data":"2020-04-17",
			"ora":"04:18",
			"rif_spedizione":"255887",
			"status":"PPP",
			"descrizione":"PARTITA",
			"note":"LA SPEDIZIONE E' PARTITA",
			"filiale":"Hub Espresso Piacenza"
		},
		{
			"data":"2020-04-17",
			"ora":"04:18",
			"rif_spedizione":"255887",
			"status":"THE",
			"descrizione":"SMISTATO HUB ED INOLTRATO",
			"note":"IN TRANSITO",
			"filiale":"Hub Espresso Piacenza"
		}
	],
	"timestamp":"2020-10-26 10:16:55"
}

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.

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":"2020-10-26 10:16:55"
}

Note sulla risposta JSON:

Il sistema risponde con un HTTP_RESPONSE_CODE attraverso la funzione PHP 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.

History

Questa sezione contiene l'elenco delle versioni delle chiamate API al sistema

Tabella versioni

Versione Data Descrizione
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.