Shipping guides · 2 min read
Service Point Delivery
Book shipments for delivery to a carrier service point.
This guide shows how to book shipments that should be delivered to a carrier service point (e.g. DHL Service Point). The flow consists of four API calls: create a shipment → get rates (with service-point products) → pick a service point & book.
Prerequisites
- Finish the Getting Started Guide – you need a valid
X-API-KEY. - Create a shipment – you will need its
shipment_id. - The shipment's receiver address must be complete and must be a private individual.
- Rates request must include
"include_service_point_rates": true.
1. Create the shipment
Create a shipment with a receiver is a private individual.
Example request:
curl -X POST https://app.dev.sendify.se/external/v1/shipments \
-H "X-API-KEY: $YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"reference_id": "ORDER-12345",
"to": {
"name": "Jane Doe",
"address": {
"address_line_1": "Erik Dahlbergsgatan 60",
"postal_code": "41260",
"city": "Göteborg",
"country_code": "SE"
},
"contact": {
"name": "Jane Doe",
"phone": "+46709998877",
"email": "jane@example.com"
},
"is_private_individual": true
},
"packages": [{
"description": "Shoes",
"type": "PACKAGE",
"quantity": 1,
"depth_cm": 30,
"width_cm": 20,
"height_cm": 10,
"weight_kg": 1.2,
"stackable": true
}]
}'Example response:
{
"id": "YOUR_SHIPMENT_ID",
"reference_id": "ORDER-12345"
}Copy the id – we'll use it in the next call.
2. Get rates that require a service point
Set include_service_point_rates to true. Rates that need a service point return the flag "require_delivery_service_point": true.
Without this flag, the API will not return service point rates. We recommend always setting this flag to true for all shipments, as it was added for backward compatibility.
curl -X POST https://app.dev.sendify.se/external/v1/shipments/rates \
-H "X-API-KEY: $YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"shipment_id": "YOUR_SHIPMENT_ID",
"requested_pickup_time": "2025-04-10T09:00:00+02:00",
"include_service_point_rates": true
}'Example response:
{
"rates": [
{
"price_rank": 1,
"shipment_id": "YOUR_SHIPMENT_ID",
"booking_token": "YOUR_BOOKING_TOKEN", // <── Save this
"carrier_name": "DHL Freight",
"product_name": "DHL Service Point",
"price": "91",
"currency": "SEK",
"require_delivery_service_point": true, // <--- Service Point Rate
"expires_at": "2025-04-09T13:27:18Z"
}
],
"warnings": [] // Carriers excluded due to field validation issues, if any
}Save the booking_token; it is valid for 30 minutes.
3. Pick a service point & book the shipment
3.1 List nearby service points
Send the receiver address to /locations/servicepoints to get available locations:
curl -X POST https://app.dev.sendify.se/external/v1/locations/servicepoints \
-H "X-API-KEY: $YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"address_line": "Erik Dahlbergsgatan 60",
"postal_code": "41260",
"city": "Göteborg",
"country_code": "SE"
}'Example response:
{
"locations": [
{
"carrier": "dhl_freight_sweden",
"service_point_token": "YOUR_SERVICE_POINT_TOKEN", // <── Save this
"service_point_name": "LANDALA GODIS O TOBAK",
"address_line": "ERIK DAHLBERGSGATAN 60",
"postal_code": "41260",
"city": "GÖTEBORG",
"country_code": "SE",
"distance_by_road": "610",
"distance_great_circle": "380"
}
]
}Pick the service_point_token corresponding to the user's choice.
3.2 Book the shipment
Provide both the booking_token and the chosen service_point_token:
curl -X POST https://app.dev.sendify.se/external/v1/shipments/book \
-H "X-API-KEY: $YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"booking_token": "YOUR_BOOKING_TOKEN",
"delivery_service_point_token": "YOUR_SERVICE_POINT_TOKEN"
}'Successful response:
{
"shipment_id": "YOUR_SHIPMENT_ID",
"main_tracking_id": "SE11XXXXXXX0"
}4. Quick recap
- Create a shipment (or use an existing one).
- Call
POST /shipments/rateswithinclude_service_point_rates: true→ copybooking_token. - Call
POST /locations/servicepoints→ selectservice_point_token. - Call
POST /shipments/bookwith both tokens. - Profit – shipment booked to the selected service point!
Need help? Contact api@sendify.com and include the X-Sendify-Request-ID header from the relevant request if available.