Hubspot Deal API - Make update without Hubspot ID?

run a request on/crm/v3/objects/deals/search

And use filter on your custom field :

{
 "filterGroups": [
 {
 "filters": [
 {
 "value": "<YOUR SPHOFIY ID>",
 "propertyName": "<YOUR SHOPIFY_ID FIELD>",
 "operator": "EQ"
 }
 ]
 }
 ]
}

This will return:

{
 "total": 0,
 "results": [
 {
 "id": "512",
 "properties": {
 "amount": "1500.00",
 "closedate": "2019-12-07T16:50:06.678Z",
 "createdate": "2019-10-30T03:30:17.883Z",
 "dealname": "Custom data integrations",
 "dealstage": "presentation scheduled",
 "hs_lastmodifieddate": "2019-12-07T16:50:06.678Z",
 "hubspot_owner_id": "910901",
 "pipeline": "default"
 },
 "createdAt": "2019-10-30T03:30:17.883Z",
 "updatedAt": "2019-12-07T16:50:06.678Z",
 "archived": false
 }
 ]
}

And then with the ID you fetched with the Search:

PUT /crm/v3/objects/deals/512

{
 "properties": {
 "shipping_status": "prepairing"
 }
}