Add Parcel

Dynamic parcel handling

General information

The function adds parcel allows adding or remove the parcels in full autonomy, with their corresponding labels.

List of enabled couriers

* see notes

The list of enabled couriers is subject to change and modifications.

Notes about couriers
  • BRT --> Only B2 solution

  • TNT --> Only for the same label creation date and before the withdrawal date/time of the same. If necessary to extend this date, consult the Expected Assignment Date section

How the Add Parcel function works

To successfully use the Add Parcel function 3 endpoints must be used:

  1. Shipment POST - For the shipment creation

  2. Parcels POST or DELETE - To add or remove the parcels

  3. ShipmentConfirm POST - For the final shipment confimation. You will no longer be able to change.

PLEASE NOTE: the removal of a parcel in a single-parcel shipment automatically cancels of the shipment.

PLEASE NOTE: the final confirmation blocks the possibility to add or remove one or more parcels from the shipment

Add a single parcel to a shipment

POST https://api.gsped.it/[INSTANCE]/Parcels

Body in JSON.

\

It works in 2 ways: \

1 - Shipment ID + parcel data

\

2 - Recepient data + parcel data

Request Body

{
    "id_collo": 2,
    "id_sped": "123456789",
    "labels": {
        "jpg": "Stringa base64",
        "pdf": "Stringa base64",
        "zpl": "Stringa ZPL"
    },
    "tracking_collo": "JJD01111111111"
}

Parcel object

Example of Payload Parcels POST

{
  "id_sped":"1234567",
  "collo": {
    "peso": "5",
    "volume": "0.01",
    "larghezza": "35",
    "altezza": "15",
    "lunghezza": "10"
  }
}

Example of Snippet Parcel POST

<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://api.gsped.it/sandbox/Parcels",
  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  \"id_sped\":\"1\",\n  \"collo\": {\n    \"peso\": \"5\",\n    \"volume\": \"0.01\",\n    \"larghezza\": \"35\",\n    \"altezza\": \"15\",\n    \"lunghezza\": \"10\"\n  }\n}",
  CURLOPT_HTTPHEADER => [
    "Content-Type: application/json",
    "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;
}

Parcel removal from shipment

DELETE https://api.gsped.it/[INSTANCE]/Parcels

Form Url-Encoded Body

It works in 2 ways: \

1 Shipment ID + parcel data

\

2 Recepient data + parcel data

Request Body

{
    "id": "50000723",
    "num_spedizione": "7004525883",
    "num_collo": 1
}

Example Snippet Parcels DELETE

<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://api.gsped.it/sandbox/Parcels",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "DELETE",
  CURLOPT_POSTFIELDS => "id_sped=69562763",
  CURLOPT_HTTPHEADER => [
    "Content-Type: application/x-www-form-urlencoded",
    "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;
}

Notes

When the customer makes a shipment with AddParcel, it is possible to trace back to the original creation date from the label creation dates, which are visible in the designated bucket on S3.

Last updated