Sample code for 30+ languages & platforms
Perl

Shippo Generate a Return Label

See more Shippo Examples

Demonstrates how to generate a pay-on-use return label.

Chilkat Perl Downloads

Perl
use chilkat();

$success = 0;

# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.

$http = chilkat::CkHttp->new();

# Implements the following CURL command:

# curl https://api.goshippo.com/shipments/ \
#     -H "Authorization: ShippoToken <API_Token>" \
#     -d address_from="d799c2679e644279b59fe661ac8fa488" \
#     -d address_to="42236bcf36214f62bcc6d7f12f02a849" \
#     -d parcels=["7df2ecf8b4224763ab7c71fae7ec8274"] \
#     -d shipment_date="2013-12-03T12:00:00.000Z" \
#     -d extra='{ "is_return": true}' \
#     -d async=false

$req = chilkat::CkHttpRequest->new();
$req->put_HttpVerb("POST");
$req->put_Path("/shipments/");
$req->put_ContentType("application/x-www-form-urlencoded");
$req->AddParam("address_from","d799c2679e644279b59fe661ac8fa488");
$req->AddParam("address_to","42236bcf36214f62bcc6d7f12f02a849");
$req->AddParam("parcels","[\"7df2ecf8b4224763ab7c71fae7ec8274\"]");
$req->AddParam("shipment_date","2013-12-03T12:00:00.000Z");
$req->AddParam("extra","'{ \"is_return\": true}'");
$req->AddParam("async","false");

$req->AddHeader("Authorization","ShippoToken <API_Token>");

$resp = chilkat::CkHttpResponse->new();
$success = $http->HttpReq("https://api.goshippo.com/shipments/",$req,$resp);
if ($success == 0) {
    print $http->lastErrorText() . "\r\n";
    exit;
}

$sbResponseBody = chilkat::CkStringBuilder->new();
$resp->GetBodySb($sbResponseBody);
$jResp = chilkat::CkJsonObject->new();
$jResp->LoadSb($sbResponseBody);
$jResp->put_EmitCompact(0);

print "Response Body:" . "\r\n";
print $jResp->emit() . "\r\n";

$respStatusCode = $resp->get_StatusCode();
print "Response Status Code = " . $respStatusCode . "\r\n";
if ($respStatusCode >= 400) {
    print "Response Header:" . "\r\n";
    print $resp->header() . "\r\n";
    print "Failed." . "\r\n";
    exit;
}

# Sample JSON response:
# (Sample code for parsing the JSON response is shown below)

# {}

# Sample code for parsing the JSON response...
# Use the following online tool to generate parsing code from sample JSON:
# Generate Parsing Code from JSON