Shipment Update
This webhook will trigger whenever an order gets fulfilled from shipping.shiphero.com as single order or using bulkship, or when it gets fulfilled from the API.
You will notice several fields like shipping_carrier and shipping_method exist both inside and outside the packages array. Those inside the packages array were added last, to better reflect the differences packages can have, and are the most accurate. The other ones are considered legacy fields and will eventually be deprecated
Merged Orders: when a shipment belongs to an order created through Merge Orders, this webhook fires once for each order in the merge group (the master and every sub-order), not just once for the master.
Every call shares the same shipment_id and tracking_number, since they all point to the same physical shipment. What changes per call is order_number, partner_order_id, order_uuid, and line_items, each one scoped to that specific order, not mixed with the others.
If you only see one call for a merged shipment, check your endpoint logs for the other order_number values before assuming ShipHero only sent one.
Webhook Body:
{
"test": "0",
"webhook_type": "Shipment Update",
"fulfillment": {
"shipment_id": 315518042,
"shipment_uuid": "U2hpcG1lbnQ6MzE1NTE4MDQy",
"warehouse": "Primary",
"warehouse_id": 76733,
"warehouse_uuid": "V2FyZWhvdXNlOjc2NzMz",
"webhook_type": "Shipment Update",
"partner_order_id": "test-track-url",
"order_number": "test-track-url",
"tracking_number": "15619819718",
"line_items": [
{
"id": "test-track-url-363346570",
"shiphero_id": 828656700,
"quantity": 1,
"sku": "FU2314R",
"serial_numbers": [],
"customs_description": "",
"package": "Package #1",
"lot_id": null,
"lot_name": null,
"lot_expiration": null
},
{
"id": "test-track-url-363343850",
"shiphero_id": 828656701,
"quantity": 1,
"sku": "FU3314R",
"serial_numbers": [],
"customs_description": null,
"package": "Package #2",
"lot_id": null,
"lot_name": null,
"lot_expiration": null
}
],
"custom_tracking_url": "",
"package_number": 1,
"total_packages": 2,
"shipping_method": "Super Shipping",
"shipping_carrier": "API - TomasFD",
"shipping_address": {
"name": "Tomas Two",
"address1": "1308 DREXEL AVE",
"address2": "APT 208",
"address_city": "MIAMI BEACH",
"address_zip": "33139-8126",
"address_state": "FL",
"address_country": "US"
},
"package": {
"length": 0.39,
"width": 0.39,
"height": 0.39,
"weight": 13.12
},
"completed": true,
"created_at": "2022-12-26 15:29:26",
"order_uuid": "T3JkZXI6MzI0ODcxNzI5",
"order_gift_note": ""
},
"total_packages": 2,
"packages": [
{
"name": "Package #1",
"weight_in_oz": 13.12,
"width": 0.39,
"length": 0.39,
"height": 0.39,
"line_items": [
{
"line_item_id": 828656700,
"partner_line_item_id": "test-track-url-363346570",
"sku": "FU2314R",
"product_name": "FUJIFILM XF 23mm f/1.4 R LM WR Lens",
"customs_description": "",
"tariff_code": "0",
"price": 899,
"quantity": 1,
"weight": 13.12,
"customs_value": 0,
"ignore_on_customs": false,
"country_of_manufacture": "",
"lot_id": null,
"lot_name": null,
"lot_expiration": ""
}
],
"shipping_label": {
"shipping_carrier": "API - TomasFD",
"shipping_method": "Super Shipping",
"shipping_name": "Manual Order Shipping Method",
"cost": 100,
"tracking_number": "15619819718",
"tracking_url": "https://trackingurl.com/15619819718"
},
"shipping_address": {
"name": "Tomas Two",
"address1": "1308 DREXEL AVE",
"address2": "APT 208",
"address_city": "MIAMI BEACH",
"address_zip": "33139-8126",
"address_state": "FL",
"address_country": "US"
},
"box_code": "02",
"box_id": 16651,
"box_name": "12x7x7"
},
{
"name": "Package #2",
"weight_in_oz": 12.7,
"width": 0.39,
"length": 0.39,
"height": 0.39,
"line_items": [
{
"line_item_id": 828656701,
"partner_line_item_id": "test-track-url-363343850",
"sku": "FU3314R",
"product_name": "FUJIFILM XF 33mm f/1.4 R LM WR Lens ",
"customs_description": null,
"tariff_code": "0",
"price": 799,
"quantity": 1,
"weight": 12.7,
"customs_value": 0,
"ignore_on_customs": false,
"country_of_manufacture": "",
"lot_id": null,
"lot_name": null,
"lot_expiration": ""
}
],
"shipping_label": {
"shipping_carrier": "API - TomasFD",
"shipping_method": "Mega Shipping",
"shipping_name": "Manual Order Shipping Method",
"cost": 100,
"tracking_number": "63721453534",
"tracking_url": "https://trackingurl.com/63721453534"
},
"shipping_address": {
"name": "Tomas Two",
"address1": "1308 DREXEL AVE",
"address2": "APT 208",
"address_city": "MIAMI BEACH",
"address_zip": "33139-8126",
"address_state": "FL",
"address_country": "US"
},
"box_code": "02",
"box_id": 16651,
"box_name": "12x7x7"
}
]
}Response:
{
"code": "200",
"Message": "Success"
}