ShipHero: Shipment Webhooks Land On The Right Fulfillment
ShipHero shipment webhooks now match up to the correct fulfillment even when ShipHero has truncated the identifier it echoes back to us. Before, the handler only looked up fulfillments by that echoed value, so a truncated identifier meant the webhook was accepted but the shipment never got recorded — the fulfillment sat waiting despite ShipHero having sent the update. The handler now falls back to the ShipHero order id (the same one the manual "get external shipment" path already uses) when the primary lookup misses, and it tries both forms ShipHero can send that value in. Cross-integration protection is preserved: fulfillments still only resolve within their own integration.