The Manual Bulk Pickup Workflow separates shipment creation from pickup execution, allowing to accumulate shipments in batches and then execute pickup requests at optimal times with full control over the timing and coordination process.
The two distinct phases are:
Accumulation phase: multiple shipments (ShipmentRequest) are created and associated with a specific pickup batch identifier, without immediate pickup request submission
Pickup execution phase: a separate API call (CourierPickupClosureRequest) processes all accumulated shipments and submits a consolidated pickup request to the courier
This batch-centric management entails that:
Each batch is identified by a unique PickupBatchId
All shipments within a batch must share the same PickupAddressID
For this reason, the ShipmentRequest API call is now enhanced to include a specific Pickup container, with the following fields:
PickupBatchId: each shipment belonging to the desired batch will be tagged with the same Batch ID. The Batch ID can be alphanumeric and must be defined independently by the requester. The same Batch ID cannot be used by another MOL user
PickupAddressId: this field requires the HUB ID of the pickup address registered in the master data for the MOL user (or it can be an address belonging to the customer if the MOL user configuration has the flag “Show shipments with same customer ID” set to true by the Store on HUB). For further details, please refer to the Core Data Management API section
MolDefaultPickupTime: in this scenario, always set this field as FALSE
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="http://www.onlinembe.eu/ws/">
<SOAP-ENV:Body>
<ns2:ShipmentRequest xmlns:ns2="http://www.onlinembe.eu/ws/">
<RequestContainer>
<s>IT</s>
<Credentials>
<Username>your_username</Username>
<Passphrase>your_password</Passphrase>
</Credentials>
<InternalReferenceID>OR1536</InternalReferenceID>
<!-- Note: No Sender Container!! - Automatically populated from PickupAddressId below -->
<Recipient>
<n>Recipient Contact Name</n>
<CompanyName>Recipient Company Name</CompanyName>
<Address>Recipient street address</Address>
<Phone>3331112222</Phone>
<ZipCode>20158</ZipCode>
<City>MILANO</City>
<State>MI</State>
<Country>IT</Country>
<Email>recipient@email.com</Email>
</Recipient>
<Shipment>
<ShipperType>MBE</ShipperType>
<Description>ECOMMERCE SHOP PURCHASE</Description>
<Service>2</Service>
<PackageType>GENERIC</PackageType>
<GoodType>ART</GoodType>
<Items>
<Item>
<Weight>0.3</Weight>
<Dimensions>
<Lenght>15</Lenght>
<Height>15</Height>
<Width>25</Width>
</Dimensions>
</Item>
</Items>
<Referring>REFERENCE CODE</Referring>
</Shipment>
<!-- Required: Manual Bulk Pickup Configuration -->
<Pickup>
<PickupBatchId>284374324324</PickupBatchId>
<PickupAddressId>491810</PickupAddressId>
<MolDefaultPickupTime>false</MolDefaultPickupTime>
</Pickup>
</RequestContainer>
</ns2:ShipmentRequest>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
If the request is formally correct and the MOL user is allowed to execute pickup requests for the selected courier and the courier accepts the pickup request, the shipment will be created.
However, the CourierPickupClosureRequest call must be performed in order to perform a massive pickup request to the courier for the batch.