API Documentation
Italiano
Search…
⌃K

Shipment

Gestione delle spedizioni

Shipment - GET

Questo endpoint permette di gestire la creazione, recupero e la cancellazione delle spedizioni su Gsped.
get
https://api.gsped.it
/[ISTANZA]/Shipment
Shipment -GET

Snippets codice di esempio

PHP
PYTHON
GO
C#
cURL
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.gsped.it/sandbox/Shipment?id=70059765",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_POSTFIELDS => "",
CURLOPT_HTTPHEADER => [
"x-api-key: YOUR-API-KEY"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
import http.client
conn = http.client.HTTPSConnection("api.gsped.it")
payload = ""
headers = { 'x-api-key': "YOUR-API-KEY" }
conn.request("GET", "/sandbox/Shipment?id=70059765", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "https://api.gsped.it/sandbox/Shipment?id=70059765"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "YOUR-API-KEY")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
// Some codevar client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("https://api.gsped.it/sandbox/Shipment?id=70059765"),
Headers =
{
{ "x-api-key", "YOUR-API-KEY" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}
curl --request GET \
--url 'https://api.gsped.it/sandbox/Shipment?id=70059765' \
--header 'x-api-key: YOUR-API-KEY'

Shipment - POST

La chiamata Shipment Post permette di creare la spedizione.
Se l’operazione ha esito positivo, restituisce i dati della spedizione insieme alle relative etichette nei formati disponibili.
La creazione di una spedizione non necessariamente va sempre a buon fine, sia Gsped che i sistemi del corriere eseguono una serie di controlli sulla correttezza dei dati ricevuti, bisogna assicurarsi di gestire correttamente i possibili errori!
La​ ​logica​ ​da​ ​implementare​ ​per controllare l'esito delle ​chiamate​ ​è​ ​la​ ​seguente:​ ​
sulla​ ​risposta​ ​delle API​ ​sulla​ ​POST​ ​di​ ​creazione​ ​spedizione​ ​va​ ​innanzitutto controllato​ ​il​ ​codice​ ​di​ ​risposta​ ​HTTP,​ ​se​ ​è​ ​400​ ​i dati​ ​passati​ ​non​ ​hanno​ ​passato​ ​la​ ​prima​ ​serie​ ​di​ ​controlli​ ​sui​ ​dati,​ ​in​ ​quel​ ​caso​ ​il​ ​campo​ ​error contiene​ ​indicazioni​ ​sul​ ​problema​ ​riscontrato​ ​(ad​ ​esempio​ ​campi​ ​obbligatori​ ​mancanti).
Se​ ​il codice di risposta ​è​ ​200​ ​i​ ​dati​ ​hanno​ ​passato​ ​il primo livello di validazione ​ed​ ​è​ ​stata​ ​avviata​ ​la generazione​ ​della​ ​lettera​ ​di​ ​vettura.​ ​Andrà quindi verificato il valore del campo​ ​status,​ ​se contiene​ ​0​ ​la​ ​lettera​ ​di​ ​vettura​ ​è​ ​stata​ ​generata​ ​correttamente​ ​e​ ​potrà​ ​essere​ ​recuperata​ ​dai campi​ ​preposti​ ​nella​ ​risposta.​ ​Se​ ​invece​ ​il campo status​ ​è​ ​uguale​ ​a​ ​0.6​ ​la​ ​generazione​ ​della​ ​lettera​ ​di vettura​ ​è​ ​fallita​ ​e​ ​il​ ​campo​ ​error​ ​conterrà​ ​la​ ​descrizione​ ​dell’errore.​ ​Questo​ ​tipo​ ​di​ ​errori​ ​si può​ ​verificare​ ​per​ ​situazioni​ ​tipo​ ​cap​ ​e​ ​località​ ​non​ ​coerenti,​ ​indirizzo​ ​non​ ​accettato​ ​dai sistemi​ ​del​ ​corriere,​ ​servizio​ ​richiesto​ ​non​ ​disponibile​ ​per​ ​la​ ​località​ ​di​ ​destinazione​ ​et cetera
post
https://api.gsped.it
/[ISTANZA]/Shipment
Shipment POST

Snippets codice di esempio

PHP
PYTHON
GO
C#
cURL
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.gsped.it/sandbox/shipment",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => "{\n \"client_id\": 390,\n \"colli\": 2,\n \"contrassegno\": 0,\n \"corriere\": 104,\n \"ddt_alpha\": \"TEST_GSPED\",\n \"ddt_num\": 12346,\n \"origine\": \"IT\",\n\t\"dropshipping\" : 0,\n \"peso\": 2.4,\n \"rcpt_addr\": \"115 E Endfield Rd\",\n \"rcpt_cap\": \"19053\",\n \"rcpt_city\": \"Feasterville Trevose\",\n \"rcpt_contact\": \"Tester\",\n \"rcpt_country_code\": \"US\",\n \"rcpt_email\": \"[email protected]\",\n \"rcpt_name\": \"TEST DESTINATARIO\",\n \"rcpt_phone\": \"2159005458\",\n \"rcpt_prov\": \"PA\",\n \"servizio\": 9,\n \"valore\": 0,\n \"valore_doganale\": 37.50,\n \"valuta\": \"EUR\",\n \"volume\": 0.0972,\n\t\"daticolli\": [\n {\n \"altezza\": 39,\n \"larghezza\": 29,\n \"lunghezza\": 43,\n \"volume\": 0.048633,\n \"peso\": 1.2\n },\n\t\t{\n \"altezza\": 39,\n \"larghezza\": 29,\n \"lunghezza\": 43,\n \"volume\": 0.048633,\n \"peso\": 1.2\n }\n ],\n \"dettagli_ordine\" : [\n {\n \"sku\" : \"PBK1\",\n \"description\": \"Cosa blu\",\n \"qty\": \"1\",\n \"barcode_riga\": \"12345464\",\n \"hs_code\": \"123456454\",\n \"prezzo_singolo\": \"12.50\",\n \"peso_riga\": \"1\"\n },{\n \"sku\" : \"PBK12\",\n \"description\": \"Cosa blu e rossa\",\n \"qty\": \"1\",\n \"barcode_riga\": \"12345465\",\n \"hs_code\": \"123456454\",\n \"prezzo_singolo\": \"25.00\",\n \"peso_riga\": \"1\"\n }\n ]\n}",
CURLOPT_HTTPHEADER => [
"x-api-key: YOUR-API-KEY"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
import http.client
conn = http.client.HTTPSConnection("api.gsped.it")
payload = json.dumps({
"client_id": 390,
"colli": 2,
"contrassegno": 0,
"corriere": 104,
"ddt_alpha": "TEST_GSPED",
"ddt_num": 12346,
"origine": "IT",
"dropshipping": 0,
"peso": 2.4,
"rcpt_addr": "115 E Endfield Rd",
"rcpt_cap": "19053",
"rcpt_city": "Feasterville Trevose",
"rcpt_contact": "Tester",
"rcpt_country_code": "US",
"rcpt_email": "[email protected]",
"rcpt_name": "TEST DESTINATARIO",
"rcpt_phone": "2159005458",
"rcpt_prov": "PA",
"servizio": 9,
"valore": 0,
"valore_doganale": 37.50,
"valuta": "EUR",
"volume": 0.0972,
"daticolli": [
{
"altezza": 39,
"larghezza": 29,
"lunghezza": 43,
"volume": 0.048633,
"peso": 1.2
},
{
"altezza": 39,
"larghezza": 29,
"lunghezza": 43,
"volume": 0.048633,
"peso": 1.2
}
],
"dettagli_ordine": [
{
"sku": "PBK1",
"description": "Cosa blu",
"qty": "1",
"barcode_riga": "12345464",
"hs_code": "123456454",
"prezzo_singolo": "12.50",
"peso_riga": "1"
},
{
"sku": "PBK12",
"description": "Cosa blu e rossa",
"qty": "1",
"barcode_riga": "12345465",
"hs_code": "123456454",
"prezzo_singolo": "25.00",
"peso_riga": "1"
}
]
})
headers = { 'x-api-key': "YOUR-API-KEY" }
conn.request("POST", "/sandbox/shipment", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "https://api.gsped.it/sandbox/shipment"
payload := strings.NewReader("{\n \"client_id\": 390,\n \"colli\": 2,\n \"contrassegno\": 0,\n \"corriere\": 104,\n \"ddt_alpha\": \"TEST_GSPED\",\n \"ddt_num\": 12346,\n \"origine\": \"IT\",\n\t\"dropshipping\" : 0,\n \"peso\": 2.4,\n \"rcpt_addr\": \"115 E Endfield Rd\",\n \"rcpt_cap\": \"19053\",\n \"rcpt_city\": \"Feasterville Trevose\",\n \"rcpt_contact\": \"Tester\",\n \"rcpt_country_code\": \"US\",\n \"rcpt_email\": \"[email protected]\",\n \"rcpt_name\": \"TEST DESTINATARIO\",\n \"rcpt_phone\": \"2159005458\",\n \"rcpt_prov\": \"PA\",\n \"servizio\": 9,\n \"valore\": 0,\n \"valore_doganale\": 37.50,\n \"valuta\": \"EUR\",\n \"volume\": 0.0972,\n\t\"daticolli\": [\n {\n \"altezza\": 39,\n \"larghezza\": 29,\n \"lunghezza\": 43,\n \"volume\": 0.048633,\n \"peso\": 1.2\n },\n\t\t{\n \"altezza\": 39,\n \"larghezza\": 29,\n \"lunghezza\": 43,\n \"volume\": 0.048633,\n \"peso\": 1.2\n }\n ],\n \"dettagli_ordine\" : [\n {\n \"sku\" : \"PBK1\",\n \"description\": \"Cosa blu\",\n \"qty\": \"1\",\n \"barcode_riga\": \"12345464\",\n \"hs_code\": \"123456454\",\n \"prezzo_singolo\": \"12.50\",\n \"peso_riga\": \"1\"\n },{\n \"sku\" : \"PBK12\",\n \"description\": \"Cosa blu e rossa\",\n \"qty\": \"1\",\n \"barcode_riga\": \"12345465\",\n \"hs_code\": \"123456454\",\n \"prezzo_singolo\": \"25.00\",\n \"peso_riga\": \"1\"\n }\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-api-key", "YOUR-API-KEY")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Post,
RequestUri = new Uri("https://api.gsped.it/sandbox/shipment"),
Headers =
{
{ "x-api-key", "YOUR-API-KEY" },
},
Content = new StringContent("{\n \"client_id\": 390,\n \"colli\": 2,\n \"contrassegno\": 0,\n \"corriere\": 104,\n \"ddt_alpha\": \"TEST_GSPED\",\n \"ddt_num\": 12346,\n \"origine\": \"IT\",\n\t\"dropshipping\" : 0,\n \"peso\": 2.4,\n \"rcpt_addr\": \"115 E Endfield Rd\",\n \"rcpt_cap\": \"19053\",\n \"rcpt_city\": \"Feasterville Trevose\",\n \"rcpt_contact\": \"Tester\",\n \"rcpt_country_code\": \"US\",\n \"rcpt_email\": \"[email protected]\",\n \"rcpt_name\": \"TEST DESTINATARIO\",\n \"rcpt_phone\": \"2159005458\",\n \"rcpt_prov\": \"PA\",\n \"servizio\": 9,\n \"valore\": 0,\n \"valore_doganale\": 37.50,\n \"valuta\": \"EUR\",\n \"volume\": 0.0972,\n\t\"daticolli\": [\n {\n \"altezza\": 39,\n \"larghezza\": 29,\n \"lunghezza\": 43,\n \"volume\": 0.048633,\n \"peso\": 1.2\n },\n\t\t{\n \"altezza\": 39,\n \"larghezza\": 29,\n \"lunghezza\": 43,\n \"volume\": 0.048633,\n \"peso\": 1.2\n }\n ],\n \"dettagli_ordine\" : [\n {\n \"sku\" : \"PBK1\",\n \"description\": \"Cosa blu\",\n \"qty\": \"1\",\n \"barcode_riga\": \"12345464\",\n \"hs_code\": \"123456454\",\n \"prezzo_singolo\": \"12.50\",\n \"peso_riga\": \"1\"\n },{\n \"sku\" : \"PBK12\",\n \"description\": \"Cosa blu e rossa\",\n \"qty\": \"1\",\n \"barcode_riga\": \"12345465\",\n \"hs_code\": \"123456454\",\n \"prezzo_singolo\": \"25.00\",\n \"peso_riga\": \"1\"\n }\n ]\n}")
{
Headers =
{
ContentType = new MediaTypeHeaderValue("application/json")
}
}
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}
curl --request POST \
--url https://api.gsped.it/sandbox/shipment \
--header 'x-api-key: YOUR-API-KEY' \
--data '{
"client_id": 390,
"colli": 2,
"contrassegno": 0,
"corriere": 104,
"ddt_alpha": "TEST_GSPED",
"ddt_num": 12346,
"origine": "IT",
"dropshipping" : 0,
"peso": 2.4,
"rcpt_addr": "115 E Endfield Rd",
"rcpt_cap": "19053",
"rcpt_city": "Feasterville Trevose",
"rcpt_contact": "Tester",
"rcpt_country_code": "US",
"rcpt_email": "[email protected]",
"rcpt_name": "TEST DESTINATARIO",
"rcpt_phone": "2159005458",
"rcpt_prov": "PA",
"servizio": 9,
"valore": 0,
"valore_doganale": 37.50,
"valuta": "EUR",
"volume": 0.0972,
"daticolli": [
{
"altezza": 39,
"larghezza": 29,
"lunghezza": 43,
"volume": 0.048633,
"peso": 1.2
},
{
"altezza": 39,
"larghezza": 29,
"lunghezza": 43,
"volume": 0.048633,
"peso": 1.2
}
],
"dettagli_ordine" : [
{
"sku" : "PBK1",
"description": "Cosa blu",
"qty": "1",
"barcode_riga": "12345464",
"hs_code": "123456454",
"prezzo_singolo": "12.50",
"peso_riga": "1"
},{
"sku" : "PBK12",
"description": "Cosa blu e rossa",
"qty": "1",
"barcode_riga": "12345465",
"hs_code": "123456454",
"prezzo_singolo": "25.00",
"peso_riga": "1"
}
]
}'

Shipment - DELETE

Questo endpoint consente di cancellare spedizioni create in precedenza solo se non sono ancora state confermate.
Quando si cancella una spedizione le etichette restituite dalla POST NON sono più valide e devono essere eliminate!
delete
https://api.gsped.it
/[ISTANZA]/Shipment
Shipment DELETE

Snippets codice di esempio

PHP
PYTHON
GO
C#
cURL
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "http://apistaging.aws.gsped.it/sandbox/Shipment?id=53",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_POSTFIELDS => "",
CURLOPT_HTTPHEADER => [
"x-api-key: YOUR-API-KEY"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
import http.client
conn = http.client.HTTPConnection("apistaging.aws.gsped.it")
payload = ""
headers = {
'x-api-key': "YOUR-API-KEY"
}
conn.request("DELETE", "/sandbox/Shipment?id=53", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
package main
import (
"fmt"
"net/http"
"io/ioutil"
)
func main() {
url := "http://apistaging.aws.gsped.it/sandbox/Shipment?id=53"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("x-api-key", "YOUR-API-KEY")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := ioutil.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
// Some codevar clientHandler = new HttpClientHandler
{
UseCookies = false,
};
var client = new HttpClient(clientHandler);
var request = new HttpRequestMessage
{
Method = HttpMethod.Delete,
RequestUri = new Uri("http://apistaging.aws.gsped.it/sandbox/Shipment?id=53"),
Headers =
{
{ "x-api-key", "YOUR-API-KEY" },
},
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}
curl --request DELETE \
--url 'http://apistaging.aws.gsped.it/sandbox/Shipment?id=53' \
--header 'x-api-key: YOUR-API-KEY'