Delhivery Warehouse ID Mapping in eShipz & Pickup Location Configuration

Delhivery Warehouse ID Mapping in eShipz & Pickup Location Configuration

Audience: Delivery/Warehouse Ops team, Integration/CS team.
Related incident: Pickup failure caused by pickup address mapped to the wrong warehouse code on the Delhivery/eShipz side (Pyrops thread).
1. Why this matters:
Delhivery identifies where a shipment should be picked up using a warehouse code, not the raw pickup address text. If the pickup address sent in the API request is correct, but the warehouse code behind that pickup location is mismatched or missing, Delhivery will not be able to schedule the pickup correctly — even though the address itself is valid.
This was exactly the root cause in the recent Pyrops case:
      • The pickup address passed in the API request was correct.
      • But the pickup location on the Delivery (Delhivery) platform was mapped to a different warehouse code than the one eShipz had stored for that same pickup location.
      • Result: pickup failure, even though nothing was wrong with the address string itself.
To prevent this from recurring, everyone creating or maintaining pickup locations needs to understand how eShipz maps pickup addresses to Delhivery warehouse codes.
2. Where this is configured:
eShipz Dashboard → Carrier Settings → Delhivery On this page there is a field: Warehouse ID — the Delhivery warehouse code for a given pickup address. This field is what ties a pickup address in eShipz to the correct warehouse record on Delhivery's system.
Two ways to populate it, depending on the situation:
Option A — Delhivery has already issued a Warehouse ID for this pickup address If the Delhivery team has already created and shared a warehouse code for a specific pickup address:
  1.  Go to Carrier Settings → Delhivery.
  2.  Locate (or add) the pickup address.
  3.  Enter the exact Warehouse ID given by Delhivery in the Warehouse ID field.
  4.  Save. This ensures eShipz sends shipments under the same warehouse code Delhivery already has on file — avoiding the "mapped to a different warehouse code" mismatch seen in the incident above.
Option B — No Warehouse ID has been issued yet / new pickup addresses will be added regularly If Delhivery has not given a warehouse code yet, or if the business regularly adds new pickup addresses (new stores, new warehouses, new franchise locations, etc.)
  1. Go to Carrier Settings → Delhivery.
  2.  Enable the "Allow Multiple Pickup Location" toggle.
  3. With this enabled, whenever a new pickup address is passed in a shipment request that eShipz hasn't seen before, eShipz will automatically create a new warehouse for that address and register the same warehouse on Delhivery's system.
  4. This new warehouse code is then stored against that pickup address for all future shipments from that location.
3. Decision guide
Situation 1: What to do Delhivery has issued a specific Warehouse ID for a pickup address
Steps to do: Manually enter it in Carrier Settings → Delhivery → Warehouse ID.
Situation 2: No Warehouse ID issued yet, or new pickup addresses get added frequently
Steps to do:Enable "Allow Multiple Pickup Location" so eShipz auto-creates and maps the warehouse
Situation 3: A pickup address already has a Warehouse ID mapped, but pickups are failing
Steps to do: Do not re-create the address — verify the mapped Warehouse ID matches what Delhivery has on file (this was the exact issue in the Pyrops case).

4. SOP for adding a new pickup / warehouse location (to prevent recurrence)
  1. Whenever a new warehouse/pickup location is being set up, the Delivery team should follow this sequence before live shipment processing begins:
  2. Confirm with Delhivery whether a Warehouse ID has been assigned for the new address.
  3. If yes → manually configure it in eShipz Carrier Settings (Option A above). Do not rely on auto-creation for addresses that already have an assigned code — this causes the mismatch we just saw.
  4. If no → ensure "Allow Multiple Pickup Location" is enabled so eShipz can auto-create and sync the new warehouse on first shipment.
  5. Create a test order using the new pickup address.
  6. Verify in the eShipz dashboard that: • The correct pickup address is reflected on the shipment. • The Warehouse ID attached to that shipment matches what Delhivery expects.
  7. Only after this test order is confirmed successful should regular shipment processing begin from that pickup location.
5. Quick troubleshooting checklist (pickup failures)
  1. Is the pickup address in the API request correct? (Usually yes — this is rarely the actual cause) 
  2. Does the pickup address have a Warehouse ID configured in Carrier Settings → Delhivery? 
  3. Does that Warehouse ID match the one Delhivery has on record for this address? (mismatches here are the most common root cause)
  4. If this is a brand-new address, is "Allow Multiple Pickup Location" enabled, or was a Warehouse ID manually entered?
  5. Was a test order run and confirmed successful after any warehouse mapping change?
6. Key takeaway
The pickup address text itself is rarely the problem. Pickup failures almost always trace back to the warehouse code mapping behind that address being wrong, missing, or mismatched between eShipz and Delhivery. Always verify the Warehouse ID mapping first when troubleshooting a pickup issue.