Select a pickup location
Find a GLS parcel shop and use its ID in price and shipment requests.
For GLS SHOP_DELIVERY, select a parcel shop before you preview a price or create a draft. Use the receiver’s delivery address for the search.
Find shops for the receiver
- Authenticate with a Customer API key that has
SHIPMENTS_READ. - Send
GET /pickup-locationswithstreet1,city,zip, andcountryas query parameters. Addstreet2orregionwhen needed. This request does not require an idempotency key. - Let the receiver select an item from
data.pickupLocations.
The pickup-location reference contains the parameters, examples, and response schema. The search requests 20 nearest GLS shops. If that search returns none, the fallback can return all shops in the receiver country. An empty array means no shops were found.
Results are ordered nearest first by distanceKm, the straight-line distance from the receiver address in kilometres. This value is not driving distance. Coordinates and structured opening hours can help you display the choices.
If lookup fails or receiver coordinates cannot be obtained, the API returns 503 PICKUP_LOCATIONS_UNAVAILABLE. Retry later. For shared authentication, access, and rate-limit errors, see Troubleshooting.
Use the selected shop ID
Include the selected shop’s externalLocationId in your price preview, shipment creation, or draft update:
{
"pickupLocation": {
"externalLocationId": "95002"
}
}
Use the ID returned by the lookup. pickupLocation accepts only externalLocationId. Bookogsend retrieves the shop’s name, address, and opening hours. Keep the shipment’s receiver address as the delivery address.
The selected shop must exist in the receiver’s country. An invalid ID returns 400 INVALID_PICKUP_LOCATION with a field error for pickupLocation.externalLocationId. If lookup cannot complete, the API returns 503 PICKUP_LOCATIONS_UNAVAILABLE. Retry later with the same idempotency key for shipment writes.
Booking revalidates the stored shop ID and refreshes its details before accepting the shipment. You do not send the shop ID again in the booking request.
Use SHOP_DELIVERY and its package type only when service discovery returns them for your account. Complete the remaining sender, receiver, package, contact, and pickup-date fields as required by the endpoint. Continue with the shipment lifecycle after you select the shop.