Documentation Index
Fetch the complete documentation index at: https://docs.goshippo.com/llms.txt
Use this file to discover all available pages before exploring further.
The final step is to purchase the shipment. This will generate your shipping label.
There are two ways to purchase a shipment.
- You can purchase the shipment object you created in the last step
- You can purchase a label without a shipment object in a single call
HTTP Method
POST
URL
https://api.goshippo.com/transactions/
Purchase from created Shipment
This is a flow where we first create a shipment object (and get rates for a given shipment). Then, we purchase a label for the provided rate.
Request Payload
| Parameter | Description |
|---|
| rate* | object_id of the rate object we get in the create shipments call response. |
| label_file_type* | Allowed values: PDF, PDF_A4, PDF_A6, PDF_4x6, PDF_4x8, PDF_SINGLE_8X11, PDF_2.3x7.5, PNG, PNG_2.3x7.5, ZPLII |
| |
Note: Parameters with an * are mandatory
Example
Request Sample
curl --location --request POST 'https://api.goshippo.com/transactions' \
--header 'Authorization: ShippoToken <API_TOKEN>’ \
--header 'Content-Type: application/json' \
--data-raw '{
"rate": "4af61f01e2a44ecbb6c278a1d573f1ff",
"async": false,
"label_file_type": "PDF"
}’
Response Sample
{
"object_state": "VALID",
"status": "SUCCESS",
"object_created": "2023-02-01T09:38:24.238Z",
"object_updated": "2023-02-01T09:38:27.042Z",
"object_id": "48ee2ce651894bf3bb37f1af0612bd6a",
"object_owner": "expn-prod-test@shippo.com",
"test": true,
"rate": "4af61f01e2a44ecbb6c278a1d573f1ff",
"tracking_number": "BTS_001807L4NVV",
"tracking_status": "UNKNOWN",
"eta": null,
"tracking_url_provider": "https://tracking.bettertrucks.com/Tracking?ShipmentId=jhfBTS_001807L4NVV",
"label_url": "https://dev-qa-deliver.shippodev.com/48ee2ce651894bf3bb37f1af0612bd6a.pdf?Expires=1706780306&Signature=OFKPm1PuMuFJKVEnVXAkfw-gJ2SsJmUN1VzeZ66VCUj5r~rmOp5ze~XvEhQTGKR8YjWTjv0dVg3Mo1h9sgQBQmVdPZ0tXIgr1g1NVcGrSYf6duqvv~IczKvdtA2aI2lkMvT-Q4Kb1KvdW37dnJTzCGB2jJBNnz-N44n2j4JEpuNc-Iq6jJlJXPAJHKJPLVAxoI77klfthSSzRN0reCfItSCybDs1a~F2PQ1rKl-wf~60en419OI4JR0C0E-aUjaz~EvBh8e2gBvAU-rmxsB13yJiAI3WtTayCIlATAJ5svdiLvZiKAn6oWkOtwQ6rnX3OcOPVJh1mCUCymvTxdGAgg__&Key-Pair-Id=APKAJKRDBHOMWKB2OAVQ",
"commercial_invoice_url": null,
"messages": [],
"order": null,
"metadata": "",
"parcel": "ea911c30d3904d9881ebbe698c6d0cca",
"billing": {
"payments": []
},
"qr_code_url": null
}
This is an example of the label that is created.
Purchase label in one call
This is a flow where we create a shipment object from the request payload and return label for it in one call
Request Payload
| Parameter | Description |
|---|
| shipment* | Refer to the Shipment object. |
| carrier_account* | object_id of the carrier account to be used for purchasing this label. This carrier account object_id is available when an account is created. |
| servicelevel_token* | Name of the service level to use. For now, only better_trucks_next_day is supported. This are case sensitive. |
| label_file_type* | Allowed values: PDF, PDF_A4, PDF_A6, PDF_4x6, PDF_4x8, PDF_SINGLE_8X11, PDF_2.3x7.5, PNG, PNG_2.3x7.5, ZPLII |
Shipment
Examples
Request sample for a shipment in one call
curl --location --request POST 'https://api.goshippo.com/transactions' \
--header 'Authorization: ShippoToken <API_TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
{
"shipment": {
"address_from": {
"name": "Mr. Hippo",
"company": "Shippo & Son",
"street1": "1901 W Madison Street",
"street2": "Press Box 23",
"city": "Chicago",
"state": "IL",
"zip": "60612",
"country": "US",
"phone": "+1 555 341 9393",
"email": "support@shippo.com"
},
"address_to": {
"name": "Mrs. Hippo",
"company": "Shippo & Co",
"street1": "100 STOCKYARD",
"city": "Nashville",
"state": "TN",
"zip": "37201",
"country": "US",
"metadata": "Customer ID 123456"
},
"parcels": [
{
"weight": "8",
"length": "9",
"width": "9",
"height": "8",
"distance_unit": "in",
"mass_unit": "lb"
}
],
"extra": {
"signature_confirmation": true,
"alcohol": {
"contains_alcohol": false
}
}
},
"carrier_account": "{{BETTER_TRUCKS_ACC}}",
"async": false,
"servicelevel_token": "better_trucks_next_day",
"label_file_type": "PDF_4x6"
}'
Response sample for a shipment in one call
{
"object_state": "VALID",
"status": "SUCCESS",
"object_created": "2023-01-26T09:52:08.935Z",
"object_updated": "2023-01-26T09:52:11.715Z",
"object_id": "09ae917f995e494fa3644d2681c4dbc7",
"object_owner": "nataliya_eng@shippo.com",
"test": false,
"rate": {
"object_id": "7df6b9381e424b21a682c49aea8c9614",
"amount": "6.02",
"currency": "USD",
"amount_local": "6.02",
"currency_local": "USD",
"provider": "Better Trucks",
"servicelevel_name": "Next Day",
"servicelevel_token": "better_trucks_next_day",
"carrier_account": "a00414e75df144b596673979108bbab5"
},
"tracking_number": "BTS_0018FQYZ3H5",
"tracking_status": "UNKNOWN",
"eta": null,
"tracking_url_provider": "https://tracking.bettertrucks.com/Tracking?ShipmentId=jhfBTS_0018FQYZ3H5",
"label_url": "https://dev-qa-deliver.shippodev.com/09ae917f995e494fa3644d2681c4dbc7.pdf?Expires=1706262731&Signature=CtTyLLrL4PB4DD-o7-BTZ9jUB8p2XSCDHmWnZaMoVLFqfSwAsXCfy4MLNRqMceaRfz2uftvWeL5MgsL1TTElKUpuaawgBqaK6nFWj3cxVoWb94skkfiqzqPjqyIL9rsuKg6HxmKEjmQIDfGYjK3r3M2dTBfiauDTB4lueFmKSS41yLdV0JMeJT8y-SY13iBcKTelUMEHNwMiDGQV2D8Cag6nJoTAb-b7Ktw3ogO1xMprqCduv8MuwtvYiYPZfkHzmHdaGZ7YXGNGpH5IkeRvgUFYufzLXRfcYX0e-9d7joRTXmaIOcIRiNrZLdR9TVugg8b87LkciWMjJssCJ7ZW7g__&Key-Pair-Id=APKAJKRDBHOMWKB2OAVQ",
"commercial_invoice_url": null,
"messages": [],
"order": null,
"metadata": "",
"parcel": "e03be392226849a3a4ee380a9aced3e2",
"billing": {
"payments": []
},
"qr_code_url": null
}
This is an example of the label that is created.
Response
A successful response includes all the details about your purchased shipment including tracking details and a link to your shipping label.