DPD Eesti API Documentation
Complete API reference for DPD Eesti shipping integration. Access booking, freight rates, label generation and tracking through Cargoson's unified transport management API.
Get Your API KeyDPD Eesti API Overview
This API provides programmatic access to DPD Eesti shipping services through Cargoson's unified transport management platform. Integrate DPD Eesti capabilities including shipment booking, racking, rate quotes, and label generation into your applications.
API Capabilities
- Create and manage DPD Eesti shipment bookings
- Shipment tracking and status updates
- Get freight rate quotes and transit times
- Generate shipping labels in multiple formats (PDF, PNG, ZPL)
- Create return labels for reverse logistics
- Query parcel machine and pickup point locations
- List available carrier services
- Automated courier pickup requests
Base URL & Authentication
Base URL
https://www.cargoson.com/api/v1
Authentication
All requests must include your API key and the correct Accept header:
Authorization: Bearer YOUR_API_KEY
Accept: application/vnd.api.v1
DPD Eesti Booking API
Direct Carrier APICreate DPD Eesti shipments and retrieve shipping labels using the Queries endpoint. Bookings are send to the carrier's system in real-time and labels are generated immediately.
Query vs Direct Booking
The Queries endpoint supports two booking methods:
- Query mode - Create a transport request without specifying a carrier (yet). This allows you to manually compare carrier prices and delivery times, request new spot prices, make adjustments/updates to the shipment, and delegate carrier selection to others, before you make the final carrier selection in Cargoson.
- Direct booking - Specify a carrier service ID (from the Rate or Services API) to book directly with DPD Eesti. This ensures your shipment uses the exact service you selected.
To book directly to DPD Eesti, always define the direct_booking_service_id.
/queries
Create a shipment query or direct booking for DPD Eesti. Include direct_booking_service_id to create an immediate booking.
Request Parameters
collection_date
string
required
Pickup date in YYYY-MM-DD format
collection_country
string
required
Pickup country code (ISO 3166-1 alpha-2)
collection_postcode
string
required
Pickup postal code
collection_address_row_1
string
required
Pickup street address
collection_city
string
required
Pickup city
collection_company_name
string
required
Sender company name
collection_contact_name
string
required
Sender contact person
collection_contact_phone
string
required
Sender phone number
delivery_country
string
required
Delivery country code
delivery_postcode
string
required
Delivery postal code
delivery_address_row_1
string
required
Delivery street address
delivery_city
string
required
Delivery city
delivery_company_name
string
required
Recipient company name
delivery_contact_name
string
required
Recipient contact person
delivery_contact_phone
string
required
Recipient phone number
rows_attributes
array
required
Array of packages/pallets with quantity, package_type, weight, and description
options[direct_booking_service_id]
integer
DPD Eesti service ID for direct booking
Example: Direct Booking Request
{
"collection_date": "2026-02-15",
"collection_country": "DE",
"collection_postcode": "10115",
"collection_address_row_1": "Hauptstraße 123",
"collection_city": "Berlin",
"collection_company_name": "Demo GmbH",
"collection_contact_name": "Max Mustermann",
"collection_contact_phone": "+4930123456",
"delivery_country": "SE",
"delivery_postcode": "11122",
"delivery_address_row_1": "Drottninggatan 45",
"delivery_city": "Stockholm",
"delivery_company_name": "Demo Sweden AB",
"delivery_contact_name": "Erik Andersson",
"delivery_contact_phone": "+46812345678",
"rows_attributes": [
{
"quantity": 1,
"package_type": "EUR",
"weight": 100.0,
"description": "Goods on EUR pallet"
}
],
"options": {
"direct_booking_service_id": 1234
}
}
Example Response
{
"id": 12345,
"reference": "CG12345",
"status": "booked",
"latest_status": "confirmed",
"tracking_reference": "ABC1234567890",
"tracking_url": "https://tracking.carrier.com/ABC1234567890",
"label_url": "https://www.cargoson.com/labels/abc123.pdf",
"confirmed_at": "2026-02-15T10:30:00Z"
}
Label Generation
DPD Eesti shipping labels are automatically generated when you create a booking. Labels are available in multiple formats to support different printer types.
Supported Label Formats
a4 - A4 PDF format for desktop printers (4 labels per page)label_printer - 4x6in (~10x15cm) PDF format for thermal printers
Labels are included in the booking response via the label_url field. Download and print the label from the provided URL after booking.
DPD Eesti Rate API (Freight Pricing)
Cargoson EngineDPD Eesti doesn't provide a native rate API. Cargoson's freight rate engine calculates prices using your uploaded price agreements, providing you the same API experience as carriers with native rate APIs. You can upload carrier rates in any format (Excel, PDF, even handwritten price lists) and we'll digitize them.
Get real-time DPD Eesti freight rates before booking. The Rate API returns available services, prices, and estimated delivery times.
/freightPrices/list
Get freight rate quotes from DPD Eesti and other activated carriers on your account.
Request Parameters
collection_date
string
required
Pickup date in YYYY-MM-DD format
collection_country
string
required
Pickup country code (ISO 3166-1 alpha-2)
collection_postcode
string
required
Pickup postal code
delivery_country
string
required
Delivery country code
delivery_postcode
string
required
Delivery postal code
rows_attributes
array
required
Array of packages/pallets with quantity, package_type, weight, and description
Example Request
{
"collection_date": "2026-02-15",
"collection_postcode": "10115",
"collection_country": "DE",
"collection_with_tail_lift": true,
"collection_prenotification": true,
"delivery_postcode": "11122",
"delivery_country": "SE",
"delivery_with_tail_lift": true,
"delivery_prenotification": true,
"delivery_return_document": true,
"delivery_to_private_person": true,
"frigo": true,
"adr": false,
"rows_attributes": [
{
"quantity": 1,
"package_type": "EUR",
"weight": 100.0,
"description": "Goods on EUR pallet"
},
{
"quantity": 2,
"package_type": "FIN",
"weight": 300.0,
"description": "Goods on two FIN pallets"
}
],
"request_external_partners": false
}
Example Response
{
"status": 200,
"object": {
"prices": [
{
"carrier": "DPD Eesti AS",
"reg_no": "10092256",
"id": 102,
"service": "Main",
"service_id": 85,
"price": "19.13",
"unit": "payable_weight",
"type": "price_list"
},
{
"carrier": "DPD Eesti AS",
"reg_no": "10092256",
"id": 102,
"service": "Express Service",
"service_id": 123,
"price": "32.50",
"unit": "real_weight",
"type": "online"
},
{
"carrier": "Demo Logistics GmbH",
"reg_no": "87654321",
"id": 456,
"service": "Main",
"service_id": 555,
"price": "20.00",
"unit": "payable_weight",
"type": "price_list"
}
]
}
}
DPD Eesti Tracking API
Direct Carrier APITrack DPD Eesti shipments using the Cargoson reference number. Get current status, location updates, and estimated delivery time.
/bookings/{reference}
Retrieve tracking details for a DPD Eesti shipment using the Cargoson booking reference.
Example Response
{
"reference": "CG12345",
"status": "in_transit",
"latest_status": "collected",
"tracking_reference": "ABC1234567890",
"tracking_url": "https://tracking.carrier.com/ABC1234567890",
"confirmed_at": "2026-02-15T10:30:00Z",
"collected_at": "2026-02-15T14:20:00Z",
"estimated_delivery": "2026-02-18T16:00:00Z"
}
DPD Eesti Return Labels API
Direct Carrier APIGenerate return shipping labels for DPD Eesti shipments. Return labels allow customers to send items back using pre-paid shipping.
/bookings/{reference}/return_labels
Create a return label for an existing DPD Eesti shipment.
Request Parameters
label_format
string
Label format: a4 or label_printer (default: a4)
Example Request
{
"label_format": "a4"
}
Example Response
{
"return_label_url": "https://www.cargoson.com/labels/return_abc123.pdf",
"tracking_reference": "RETURN9876543210",
"tracking_url": "https://tracking.carrier.com/RETURN9876543210"
}
Return Label Features
- Pre-paid return shipping labels
- Same format options as outbound labels (A4, thermal)
- Separate tracking reference for returns
- Seamless integration with DPD Eesti return services
DPD Eesti Courier Requests
Direct Carrier APICargoson automates courier pickup requests for DPD Eesti shipments, which makes it one less task you will need to think about.
How Cargoson Handles Courier Requests
Many shipping carriers require you to create labels separately and then manually request courier pickup. Others do not have a separate label plus courier call system, and each shipment is a complete, separate shipment. We believe that there should be a single standard of carrier APIs, but currently, each carrier creates their own unique system, which makes it difficult for their users to remember each one's quirks and intricacies. Cargoson simplifies your courier calls by treating every shipment holistically: courier requests are automatically managed as part of the booking process.
Smart Pickup Optimization
Cargoson optimizes courier calls to reduce costs and improve efficiency.
- 1. Batch consolidation - Multiple shipments from the same location are grouped into a single pickup request
- 2. Carrier-specific handling - Some carriers include pickup in the booking, others require separate requests. Cargoson handles both variants automatically for you
- 3. Regular pickup schedules - Configure prescheduled pickups at specific intervals (e.g., daily to my main warehouse at 3 PM) and Cargoson will skip individual courier calls entirely
Benefits
- No need to track which carriers require separate courier requests
- Automatic optimization prevents unnecessary pickup calls
- Support for regular pickup schedules
- Simplified shipping workflow - just create the booking
Configuration
Courier pickup automation is enabled by default for all DPD Eesti shipments. To configure regular pickup schedules or custom pickup optimization rules, contact [email protected].
DPD Eesti Parcel Machines API
Direct Carrier APIQuery available DPD Eesti parcel locker and pickup point locations. Use this endpoint to show customers a list of nearby parcel machines during checkout.
/parcelMachines
Search for DPD Eesti parcel machines and pickup points by location or postal code.
Request Parameters
country
string
required
Country code (ISO 3166-1 alpha-2)
postcode
string
Filter by postal code
carrier_id
integer
Filter by specific carrier
reference
string
Find specific parcel machine by reference
Example Response
{
"parcel_machines": [
{
"id": 123,
"reference": "PM12345",
"name": "Parcel Locker - Hauptstraße",
"carrier_id": 102,
"carrier_name": "DPD Eesti AS",
"address_row_1": "Hauptstraße 123",
"city": "Berlin",
"postcode": "10115",
"country": "DE",
"latitude": 52.52,
"longitude": 13.405
}
]
}
DPD Eesti Services API
Cargoson EngineThe Services API is a Cargoson-provided feature that returns a unified list of all available services from DPD Eesti and other carriers in your network. This allows you to dynamically display shipping options to your customers without hardcoding service IDs.
Retrieve a list of available DPD Eesti shipping services. Use service IDs when making direct bookings to ensure you get the exact service you want.
/services/list
Return list of DPD Eesti services available on your company account.
Example Response
{
"services": [
{
"carrier": {
"id": 102,
"name": "DPD Eesti AS",
"short_name": "DPD Eesti",
"reg_no": "10092256"
},
"id": 85,
"name": "Main",
"service_type": "road_freight"
},
{
"carrier": {
"id": 102,
"name": "DPD Eesti AS",
"short_name": "DPD Eesti",
"reg_no": "10092256"
},
"id": 123,
"name": "Express Service",
"service_type": "express"
}
]
}
Using Service IDs
Service IDs from this endpoint can be used with the direct_booking_service_id parameter when creating bookings to select the right service and send the shipment to the DPD Eesti system.
Complete Code Examples
Below are complete working examples showing the full workflow: get rates, select a service, book shipment, and extract tracking information.
# Define the service ID you want to use
CARRIER_SERVICE_ID=85
# Step 1: Get freight prices for DPD Eesti
curl -X POST https://www.cargoson.com/api/v1/freightPrices/list \
-H "Content-Type: application/json" \
-H "Accept: application/vnd.api.v1" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"collection_date": "2026-02-15",
"collection_country": "DE",
"collection_postcode": "10115",
"delivery_country": "SE",
"delivery_postcode": "11122",
"rows_attributes": [{
"quantity": 1,
"package_type": "EUR",
"weight": 100.0,
"description": "Goods on EUR pallet"
}]
}'
# Extract the price for your service from response:
# transport_price=$(echo "$response" | jq '.object.prices[] | select(.service_id==85) | .price')
# Step 2: Book shipment using the service_id
curl -X POST https://www.cargoson.com/api/v1/queries \
-H "Content-Type: application/json" \
-H "Accept: application/vnd.api.v1" \
-H "Authorization: Bearer YOUR_API_KEY" \
-d '{
"collection_date": "2026-02-15",
"collection_country": "DE",
"collection_postcode": "10115",
"collection_address_row_1": "Hauptstraße 123",
"collection_city": "Berlin",
"collection_company_name": "Demo GmbH",
"collection_contact_name": "Max Mustermann",
"collection_contact_phone": "+4930123456",
"delivery_country": "SE",
"delivery_postcode": "11122",
"delivery_address_row_1": "Drottninggatan 45",
"delivery_city": "Stockholm",
"delivery_company_name": "Demo Sweden AB",
"delivery_contact_name": "Erik Andersson",
"delivery_contact_phone": "+46812345678",
"rows_attributes": [{
"quantity": 1,
"package_type": "EUR",
"weight": 100.0,
"description": "Goods on EUR pallet"
}],
"options": {
"direct_booking_service_id": '$CARRIER_SERVICE_ID'
}
}'
# Response contains:
# - reference: "CG12345"
# - tracking_url: "https://tracking.carrier.com/..."
# - label_url: "https://www.cargoson.com/labels/abc123.pdf"
const axios = require('axios');
const API_KEY = 'YOUR_API_KEY';
const BASE_URL = 'https://www.cargoson.com/api/v1';
const CARRIER_SERVICE_ID = 85;
async function bookToDPDEesti() {
try {
// Step 1: Get freight prices
const pricesResponse = await axios.post(`${BASE_URL}/freightPrices/list`, {
collection_date: '2026-02-15',
collection_country: 'DE',
collection_postcode: '10115',
delivery_country: 'SE',
delivery_postcode: '11122',
rows_attributes: [{
quantity: 1,
package_type: 'EUR',
weight: 100.0,
description: 'Goods on EUR pallet'
}]
}, {
headers: {
'Content-Type': 'application/json',
'Accept': 'application/vnd.api.v1',
'Authorization': `Bearer ${API_KEY}`
}
});
// Step 2: Find service by ID and extract price
const prices = pricesResponse.data.object.prices;
const selectedService = prices.find(p => p.service_id === CARRIER_SERVICE_ID);
if (!selectedService) {
throw new Error(`Service ID ${CARRIER_SERVICE_ID} not found in prices`);
}
const transportPrice = selectedService.price;
console.log(`Selected service price: €${transportPrice}`);
// Step 3: Book shipment using the service_id
const bookingResponse = await axios.post(`${BASE_URL}/queries`, {
collection_date: '2026-02-15',
collection_country: 'DE',
collection_postcode: '10115',
collection_address_row_1: 'Hauptstraße 123',
collection_city: 'Berlin',
collection_company_name: 'Demo GmbH',
collection_contact_name: 'Max Mustermann',
collection_contact_phone: '+4930123456',
delivery_country: 'SE',
delivery_postcode: '11122',
delivery_address_row_1: 'Drottninggatan 45',
delivery_city: 'Stockholm',
delivery_company_name: 'Demo Sweden AB',
delivery_contact_name: 'Erik Andersson',
delivery_contact_phone: '+46812345678',
rows_attributes: [{
quantity: 1,
package_type: 'EUR',
weight: 100.0,
description: 'Goods on EUR pallet'
}],
options: {
direct_booking_service_id: CARRIER_SERVICE_ID
}
}, {
headers: {
'Content-Type': 'application/json',
'Accept': 'application/vnd.api.v1',
'Authorization': `Bearer ${API_KEY}`
}
});
// Extract important fields
const reference = bookingResponse.data.reference;
const trackingUrl = bookingResponse.data.tracking_url;
const labelUrl = bookingResponse.data.label_url;
console.log('Shipment booked successfully!');
console.log(`Reference: ${reference}`);
console.log(`Tracking: ${trackingUrl}`);
console.log(`Label: ${labelUrl}`);
return { reference, trackingUrl, labelUrl };
} catch (error) {
console.error('Error:', error.response?.data || error.message);
}
}
// Usage
bookToDPDEesti();
import requests
API_KEY = 'YOUR_API_KEY'
BASE_URL = 'https://www.cargoson.com/api/v1'
CARRIER_SERVICE_ID = 85
def book_to_dpd_eesti():
headers = {
'Content-Type': 'application/json',
'Accept': 'application/vnd.api.v1',
'Authorization': f'Bearer {API_KEY}'
}
# Step 1: Get freight prices
prices_data = {
'collection_date': '2026-02-15',
'collection_country': 'DE',
'collection_postcode': '10115',
'delivery_country': 'SE',
'delivery_postcode': '11122',
'rows_attributes': [{
'quantity': 1,
'package_type': 'EUR',
'weight': 100.0,
'description': 'Goods on EUR pallet'
}]
}
prices_response = requests.post(
f'{BASE_URL}/freightPrices/list',
headers=headers,
json=prices_data
)
prices_response.raise_for_status()
# Step 2: Find service by ID and extract price
prices = prices_response.json()['object']['prices']
selected_service = next(
(p for p in prices if p['service_id'] == CARRIER_SERVICE_ID),
None
)
if not selected_service:
raise ValueError(f'Service ID {CARRIER_SERVICE_ID} not found in prices')
transport_price = selected_service['price']
print(f'Selected service price: €{transport_price}')
# Step 3: Book shipment using the service_id
booking_data = {
'collection_date': '2026-02-15',
'collection_country': 'DE',
'collection_postcode': '10115',
'collection_address_row_1': 'Hauptstraße 123',
'collection_city': 'Berlin',
'collection_company_name': 'Demo GmbH',
'collection_contact_name': 'Max Mustermann',
'collection_contact_phone': '+4930123456',
'delivery_country': 'SE',
'delivery_postcode': '11122',
'delivery_address_row_1': 'Drottninggatan 45',
'delivery_city': 'Stockholm',
'delivery_company_name': 'Demo Sweden AB',
'delivery_contact_name': 'Erik Andersson',
'delivery_contact_phone': '+46812345678',
'rows_attributes': [{
'quantity': 1,
'package_type': 'EUR',
'weight': 100.0,
'description': 'Goods on EUR pallet'
}],
'options': {
'direct_booking_service_id': CARRIER_SERVICE_ID
}
}
booking_response = requests.post(
f'{BASE_URL}/queries',
headers=headers,
json=booking_data
)
booking_response.raise_for_status()
booking = booking_response.json()
# Extract important fields
reference = booking['reference']
tracking_url = booking['tracking_url']
label_url = booking['label_url']
print('Shipment booked successfully!')
print(f'Reference: {reference}')
print(f'Tracking: {tracking_url}')
print(f'Label: {label_url}')
return {
'reference': reference,
'tracking_url': tracking_url,
'label_url': label_url
}
# Usage
if __name__ == '__main__':
book_to_dpd_eesti()
<?php
$apiKey = 'YOUR_API_KEY';
$baseUrl = 'https://www.cargoson.com/api/v1';
define('CARRIER_SERVICE_ID', 85);
function bookToDPDEesti($apiKey, $baseUrl) {
$headers = [
'Content-Type: application/json',
'Accept: application/vnd.api.v1',
'Authorization: Bearer ' . $apiKey
];
// Step 1: Get freight prices
$pricesData = [
'collection_date' => '2026-02-15',
'collection_country' => 'DE',
'collection_postcode' => '10115',
'delivery_country' => 'SE',
'delivery_postcode' => '11122',
'rows_attributes' => [[
'quantity' => 1,
'package_type' => 'EUR',
'weight' => 100.0,
'description' => 'Goods on EUR pallet'
]]
];
$ch = curl_init($baseUrl . '/freightPrices/list');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($pricesData));
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$pricesResponse = curl_exec($ch);
curl_close($ch);
$prices = json_decode($pricesResponse, true)['object']['prices'];
// Step 2: Find service by ID and extract price
$selectedService = null;
foreach ($prices as $price) {
if ($price['service_id'] === CARRIER_SERVICE_ID) {
$selectedService = $price;
break;
}
}
if (!$selectedService) {
throw new Exception('Service ID ' . CARRIER_SERVICE_ID . ' not found in prices');
}
$transportPrice = $selectedService['price'];
echo "Selected service price: €$transportPrice
";
// Step 3: Book shipment using the service_id
$bookingData = [
'collection_date' => '2026-02-15',
'collection_country' => 'DE',
'collection_postcode' => '10115',
'collection_address_row_1' => 'Hauptstraße 123',
'collection_city' => 'Berlin',
'collection_company_name' => 'Demo GmbH',
'collection_contact_name' => 'Max Mustermann',
'collection_contact_phone' => '+4930123456',
'delivery_country' => 'SE',
'delivery_postcode' => '11122',
'delivery_address_row_1' => 'Drottninggatan 45',
'delivery_city' => 'Stockholm',
'delivery_company_name' => 'Demo Sweden AB',
'delivery_contact_name' => 'Erik Andersson',
'delivery_contact_phone' => '+46812345678',
'rows_attributes' => [[
'quantity' => 1,
'package_type' => 'EUR',
'weight' => 100.0,
'description' => 'Goods on EUR pallet'
]],
'options' => [
'direct_booking_service_id' => CARRIER_SERVICE_ID
]
];
$ch = curl_init($baseUrl . '/queries');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($bookingData));
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$bookingResponse = curl_exec($ch);
curl_close($ch);
$booking = json_decode($bookingResponse, true);
// Extract important fields
$reference = $booking['reference'];
$trackingUrl = $booking['tracking_url'];
$labelUrl = $booking['label_url'];
echo "Shipment booked successfully!
";
echo "Reference: $reference
";
echo "Tracking: $trackingUrl
";
echo "Label: $labelUrl
";
return [
'reference' => $reference,
'tracking_url' => $trackingUrl,
'label_url' => $labelUrl
];
}
// Usage
bookToDPDEesti($apiKey, $baseUrl);
?>
require 'net/http'
require 'json'
API_KEY = 'YOUR_API_KEY'
BASE_URL = 'https://www.cargoson.com/api/v1'
CARRIER_SERVICE_ID = 85
def book_to_dpd_eesti
headers = {
'Content-Type' => 'application/json',
'Accept' => 'application/vnd.api.v1',
'Authorization' => "Bearer #{API_KEY}"
}
# Step 1: Get freight prices
prices_uri = URI("#{BASE_URL}/freightPrices/list")
prices_data = {
collection_date: '2026-02-15',
collection_country: 'DE',
collection_postcode: '10115',
delivery_country: 'SE',
delivery_postcode: '11122',
rows_attributes: [{
quantity: 1,
package_type: 'EUR',
weight: 100.0,
description: 'Goods on EUR pallet'
}]
}
http = Net::HTTP.new(prices_uri.host, prices_uri.port)
http.use_ssl = true
prices_request = Net::HTTP::Post.new(prices_uri)
headers.each { |k, v| prices_request[k] = v }
prices_request.body = prices_data.to_json
prices_response = http.request(prices_request)
prices = JSON.parse(prices_response.body)['object']['prices']
# Step 2: Find service by ID and extract price
selected_service = prices.find { |p| p['service_id'] == CARRIER_SERVICE_ID }
raise "Service ID #{CARRIER_SERVICE_ID} not found in prices" unless selected_service
transport_price = selected_service['price']
puts "Selected service price: €#{transport_price}"
# Step 3: Book shipment using the service_id
booking_uri = URI("#{BASE_URL}/queries")
booking_data = {
collection_date: '2026-02-15',
collection_country: 'DE',
collection_postcode: '10115',
collection_address_row_1: 'Hauptstraße 123',
collection_city: 'Berlin',
collection_company_name: 'Demo GmbH',
collection_contact_name: 'Max Mustermann',
collection_contact_phone: '+4930123456',
delivery_country: 'SE',
delivery_postcode: '11122',
delivery_address_row_1: 'Drottninggatan 45',
delivery_city: 'Stockholm',
delivery_company_name: 'Demo Sweden AB',
delivery_contact_name: 'Erik Andersson',
delivery_contact_phone: '+46812345678',
rows_attributes: [{
quantity: 1,
package_type: 'EUR',
weight: 100.0,
description: 'Goods on EUR pallet'
}],
options: {
direct_booking_service_id: CARRIER_SERVICE_ID
}
}
booking_request = Net::HTTP::Post.new(booking_uri)
headers.each { |k, v| booking_request[k] = v }
booking_request.body = booking_data.to_json
booking_response = http.request(booking_request)
booking = JSON.parse(booking_response.body)
# Extract important fields
reference = booking['reference']
tracking_url = booking['tracking_url']
label_url = booking['label_url']
puts 'Shipment booked successfully!'
puts "Reference: #{reference}"
puts "Tracking: #{tracking_url}"
puts "Label: #{label_url}"
{
reference: reference,
tracking_url: tracking_url,
label_url: label_url
}
end
# Usage
book_to_dpd_eesti
Why use Cargoson API for DPD Eesti integration
Integrating directly with DPD Eesti's native API means wrestling with carrier-specific documentation, handling unique data formats, and maintaining separate code for each provider. Cargoson offers a single unified RESTful API that supports DPD Eesti and 2,000+ carriers across European and North American markets, with new integrations added weekly. We reduce development time from months to days, handle carrier updates automatically, and manage regional exceptions. With Cargoson, you focus on growing your business instead of managing carrier technical complexities.
Benefits of integrating DPD Eesti via Cargoson API
One API for all carriers
Replace dozens of separate carrier integrations with one connection to DPD Eesti and 2,000+ other providers via Cargoson API. No more maintaining multiple authentication systems, handling different data formats, or updating code when carriers change their endpoints.
Clear documentation and support
Access straightforward API documentation with working code examples, detailed parameter descriptions, and clearly-defined endpoints. Our support team knows the logistics industry and can help you solve integration challenges quickly.
Code examples in multiple languages
Get started immediately with ready-to-use code examples in cURL, JavaScript, Python, PHP, and Ruby. Copy, paste, and adapt them to your stack, no need to figure out authentication, request formatting, or error handling from scratch.
Real support from logistics experts
Get help from people who understand shipping, not just APIs. Whether you're troubleshooting an integration issue or need advice on the best way to handle international shipments, our team is here to help.
World's most advanced freight pricing engine
Cargoson's freight pricing API goes far beyond simple rate lookups. Our engine can read, analyze, and digitize any carrier pricelist regardless of format or structure, making it the most powerful freight rate management solution in the logistics industry.
Universal format support
Our freight pricing engine handles any format: structured Excel files, complex PDFs, free text, or even handwritten pricelists. Upload your carrier contracts in any format, and our freight rate engine will parse the pricing rules, surcharges, and conditions automatically.
Direct carrier API integration
For carriers with modern systems (typically global parcel carriers and tech-forward freight companies), we pull rates directly from their APIs in real-time. This ensures you always get the most current pricing without manual updates.
Public online prices
Don't have a contract with a carrier yet? No problem. Cargoson can pull public online prices from carriers, allowing you to compare options even before establishing formal agreements.
Spot rate requests
For complex shipments or special cases, request spot rates where carriers review your specific requirements and provide a custom quote. All managed through the same unified API.
DPD Eesti shipping API: Simplified logistics automation
Automate your fulfillment process by integrating Cargoson's Shipping API with DPD Eesti and 2,000+ carriers worldwide. Create shipping labels, book pickups, and manage all your carriers from one platform while keeping your negotiated rates with each provider.
Automated label generation
Generate carrier-approved shipping labels in a single API request. Support for multiple label formats (A4, thermal printer) and automatic customs documentation for international shipments means less manual work and fewer shipping errors.
Real-time rate comparison
Compare live rates across DPD Eesti and your other activated carriers to choose the best option based on cost, speed, and service level.
Keep your negotiated rates
Connect your existing DPD Eesti account to retain your negotiated shipping rates. Cargoson simply provides the technical integration: you keep your direct carrier relationships and custom pricing agreements.
Enterprise-grade security for DPD Eesti API integration
Cargoson's API infrastructure meets European compliance standards, which ensure secure, audit-ready DPD Eesti integration for your business:
- GDPR compliant data handling and storage across Europe
- ISO 27001 certified information security management
- End-to-end encryption for all API communications
Ready to integrate DPD Eesti shipping into your platform?
Book a demo to see how Cargoson's unified API can simplify your logistics operations
Book a DemoTable of Contents
Frequently Asked Questions
Start Using the DPD Eesti API
Get your API credentials to begin integration