DPD Eesti API-Dokumentation

Integriert REST API

Vollständige API-Referenz für die DPD Eesti Versandintegration. Zugriff auf Buchungen, Frachtraten, Etikettenerstellung und Tracking über Cargosons einheitliche Transportmanagement-API.

Holen Sie sich Ihren API-Schlüssel

DPD Eesti API-Übersicht

Diese API bietet programmatischen Zugriff auf DPD Eesti Versanddienstleistungen über Cargosons einheitliche Transportmanagement-Plattform. Integrieren Sie DPD Eesti Funktionen einschließlich Sendungsbuchung, Tracking, Preisangebote und Etikettenerstellung in Ihre Anwendungen.

API-Funktionen

  • DPD Eesti Sendungsbuchungen erstellen und verwalten
  • Sendungsverfolgung und Statusaktualisierungen
  • Frachtraten und Transitzeiten abrufen
  • Versandetiketten in mehreren Formaten generieren (PDF, PNG, ZPL)
  • Retourenetiketten für Rücklogistik erstellen
  • Standorte von Paketautomaten und Abholpunkten abfragen
  • Verfügbare Spediteursdienste auflisten
  • Automatisierte Kurierabholanfragen

Basis-URL & Authentifizierung

Basis-URL

https://www.cargoson.com/api/v1

Authentifizierung

Alle Anfragen müssen Ihren API-Schlüssel und den korrekten Accept-Header enthalten:

Authorization: Bearer IHR_API_SCHLÜSSEL
Accept: application/vnd.api.v1

DPD Eesti Buchungs-API

Direkte Spediteur-API

Erstellen Sie DPD Eesti Sendungen und rufen Sie Versandetiketten über den Queries-Endpunkt ab. Buchungen werden in Echtzeit an das System des Spediteurs gesendet und Etiketten werden sofort generiert.

Query vs. Direktbuchung

Der Queries-Endpunkt unterstützt zwei Buchungsmethoden:

  • Query-Modus - Erstellen Sie eine Transportanfrage ohne (noch) einen Spediteur anzugeben. Dies ermöglicht es Ihnen, Spediteurpreise und Lieferzeiten manuell zu vergleichen, neue Spot-Preise anzufordern, Anpassungen/Aktualisierungen an der Sendung vorzunehmen und die Spediteurauswahl an andere zu delegieren, bevor Sie die endgültige Spediteurauswahl in Cargoson treffen.
  • Direktbuchung - Geben Sie eine Spediteursdienst-ID an (aus der Rate- oder Services-API), um direkt bei DPD Eesti zu buchen. Dies stellt sicher, dass Ihre Sendung genau den von Ihnen ausgewählten Dienst nutzt.

Um direkt bei DPD Eesti zu buchen, definieren Sie immer die direct_booking_service_id.

POST /queries

Erstellen Sie eine Sendungsanfrage oder Direktbuchung für DPD Eesti. Fügen Sie direct_booking_service_id hinzu, um eine sofortige Buchung zu erstellen.

Request Parameters

collection_date string required

Abholdatum im Format JJJJ-MM-TT

collection_country string required

Abholländercode (ISO 3166-1 alpha-2)

collection_postcode string required

Abholpostleitzahl

collection_address_row_1 string required

Abholstraßenadresse

collection_city string required

Abholstadt

collection_company_name string required

Absenderunternehmensname

collection_contact_name string required

Absender-Kontaktperson

collection_contact_phone string required

Absender-Telefonnummer

delivery_country string required

Lieferländercode

delivery_postcode string required

Lieferpostleitzahl

delivery_address_row_1 string required

Lieferstraßenadresse

delivery_city string required

Lieferstadt

delivery_company_name string required

Empfängerunternehmensname

delivery_contact_name string required

Empfänger-Kontaktperson

delivery_contact_phone string required

Empfänger-Telefonnummer

rows_attributes array required

Array von Paketen/Paletten mit Menge, Pakettyp, Gewicht und Beschreibung

options[direct_booking_service_id] integer

DPD Eesti Dienst-ID für Direktbuchung

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"
}

Etikettenerstellung

DPD Eesti Versandetiketten werden automatisch generiert, wenn Sie eine Buchung erstellen. Etiketten sind in mehreren Formaten verfügbar, um verschiedene Druckertypen zu unterstützen.

Unterstützte Etikettenformate

a4 - A4-PDF-Format für Desktop-Drucker (4 Etiketten pro Seite)
label_printer - 4x6in (~10x15cm) PDF-Format für Thermodrucker

Etiketten sind in der Buchungsantwort über das Feld label_url enthalten. Laden Sie das Etikett nach der Buchung über die bereitgestellte URL herunter und drucken Sie es aus.

DPD Eesti Raten-API (Frachtpreise)

Cargoson-Engine
Cargoson-Verbesserung:

DPD Eesti bietet keine native Raten-API. Cargosons Frachtpreisengine berechnet Preise anhand Ihrer hochgeladenen Preisvereinbarungen und bietet Ihnen dieselbe API-Erfahrung wie Spediteure mit nativen Raten-APIs. Sie können Spediteurpreise in jedem Format hochladen (Excel, PDF, sogar handgeschriebene Preislisten) und wir digitalisieren sie.

Erhalten Sie Echtzeit-DPD Eesti Frachtraten vor der Buchung. Die Rate-API gibt verfügbare Dienste, Preise und geschätzte Lieferzeiten zurück.

POST /freightPrices/list

Erhalten Sie Frachtratenangebote von DPD Eesti und anderen aktivierten Spediteuren auf Ihrem Konto.

Request Parameters

collection_date string required

Abholdatum im Format JJJJ-MM-TT

collection_country string required

Abholländercode (ISO 3166-1 alpha-2)

collection_postcode string required

Abholpostleitzahl

delivery_country string required

Lieferländercode

delivery_postcode string required

Lieferpostleitzahl

rows_attributes array required

Array von Paketen/Paletten mit Menge, Pakettyp, Gewicht und Beschreibung

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

Direkte Spediteur-API

Verfolgen Sie DPD Eesti Sendungen mit der Cargoson-Referenznummer. Erhalten Sie aktuellen Status, Standortaktualisierungen und geschätzte Lieferzeit.

GET /bookings/{reference}

Rufen Sie Tracking-Details für eine DPD Eesti Sendung mit der Cargoson-Buchungsreferenz ab.

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 Retourenetiketten-API

Direkte Spediteur-API

Generieren Sie Retourenetiketten für DPD Eesti Sendungen. Retourenetiketten ermöglichen es Kunden, Artikel mit vorausbezahltem Versand zurückzusenden.

POST /bookings/{reference}/return_labels

Erstellen Sie ein Retourenetikett für eine bestehende DPD Eesti Sendung.

Request Parameters

label_format string

Etikettenformat: a4 oder label_printer (Standard: 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"
}

Retourenetikett-Funktionen

  • Vorausbezahlte Retourenetiketten
  • Gleiche Formatoptionen wie ausgehende Etiketten (A4, Thermo)
  • Separate Tracking-Referenz für Retouren
  • Nahtlose Integration mit DPD Eesti Retourendiensten

DPD Eesti Kurieranfragen

Direkte Spediteur-API

Cargoson automatisiert Kurierabholanfragen für DPD Eesti Sendungen, was eine Aufgabe weniger ist, um die Sie sich kümmern müssen.

Wie Cargoson Kurieranfragen handhabt

Viele Versandspediteure verlangen, dass Sie Etiketten separat erstellen und dann manuell eine Kurierabholung anfordern. Andere haben kein separates Etikett-plus-Kurieranruf-System, und jede Sendung ist eine vollständige, separate Sendung. Wir glauben, dass es einen einzigen Standard für Spediteur-APIs geben sollte, aber derzeit erstellt jeder Spediteur sein eigenes einzigartiges System, was es für ihre Benutzer schwierig macht, sich an die Eigenheiten und Feinheiten jedes einzelnen zu erinnern. Cargoson vereinfacht Ihre Kurieranrufe, indem jede Sendung ganzheitlich behandelt wird: Kurieranfragen werden automatisch als Teil des Buchungsprozesses verwaltet.

Intelligente Abholoptimierung

Cargoson optimiert Kurieranrufe, um Kosten zu reduzieren und die Effizienz zu verbessern.

  • 1. Batch-Konsolidierung - Mehrere Sendungen vom selben Standort werden zu einer einzigen Abholanfrage gruppiert
  • 2. Spediteurspezifische Handhabung - Einige Spediteure beinhalten die Abholung in der Buchung, andere erfordern separate Anfragen. Cargoson handhabt beide Varianten automatisch für Sie
  • 3. Regelmäßige Abholpläne - Konfigurieren Sie vorab geplante Abholungen in bestimmten Intervallen (z.B. täglich in meinem Hauptlager um 15 Uhr) und Cargoson überspringt einzelne Kurieranrufe vollständig

Vorteile

  • Keine Notwendigkeit zu verfolgen, welche Spediteure separate Kurieranfragen erfordern
  • Automatische Optimierung verhindert unnötige Abholanrufe
  • Unterstützung für regelmäßige Abholpläne
  • Vereinfachter Versandworkflow - erstellen Sie einfach die Buchung

Konfiguration

Die Kurierabholautomatisierung ist standardmäßig für alle DPD Eesti Sendungen aktiviert. Um regelmäßige Abholpläne oder benutzerdefinierte Abholoptimierungsregeln zu konfigurieren, kontaktieren Sie [email protected].

DPD Eesti Paketautomaten-API

Direkte Spediteur-API

Fragen Sie verfügbare DPD Eesti Paketschließfach- und Abholpunktstandorte ab. Verwenden Sie diesen Endpunkt, um Kunden während des Checkouts eine Liste nahegelegener Paketautomaten anzuzeigen.

GET /parcelMachines

Suchen Sie nach DPD Eesti Paketautomaten und Abholpunkten nach Standort oder Postleitzahl.

Request Parameters

country string required

Ländercode (ISO 3166-1 alpha-2)

postcode string

Nach Postleitzahl filtern

carrier_id integer

Nach bestimmtem Spediteur filtern

reference string

Bestimmten Paketautomaten nach Referenz finden

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 Dienste-API

Cargoson-Engine
Cargoson-Verbesserung:

Die Services-API ist eine von Cargoson bereitgestellte Funktion, die eine einheitliche Liste aller verfügbaren Dienste von DPD Eesti und anderen Spediteuren in Ihrem Netzwerk zurückgibt. Dies ermöglicht es Ihnen, Versandoptionen dynamisch Ihren Kunden anzuzeigen, ohne Dienst-IDs fest zu codieren.

Rufen Sie eine Liste verfügbarer DPD Eesti Versanddienste ab. Verwenden Sie Dienst-IDs bei Direktbuchungen, um sicherzustellen, dass Sie genau den gewünschten Dienst erhalten.

GET /services/list

Gibt eine Liste der auf Ihrem Unternehmenskonto verfügbaren DPD Eesti Dienste zurück.

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"
    }
  ]
}

Verwendung von Dienst-IDs

Dienst-IDs von diesem Endpunkt können mit dem Parameter direct_booking_service_id beim Erstellen von Buchungen verwendet werden, um den richtigen Dienst auszuwählen und die Sendung an das DPD Eesti System zu senden.

Vollständige Codebeispiele

Unten finden Sie vollständige funktionierende Beispiele, die den gesamten Workflow zeigen: Raten abrufen, Dienst auswählen, Sendung buchen und Tracking-Informationen extrahieren.

# 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

Warum Cargoson API für DPD Eesti Integration verwenden

Die direkte Integration mit der nativen API von DPD Eesti bedeutet, sich mit spediteurspezifischer Dokumentation auseinanderzusetzen, einzigartige Datenformate zu handhaben und separaten Code für jeden Anbieter zu pflegen. Cargoson bietet eine einzige einheitliche RESTful-API, die DPD Eesti und 2.000+ Spediteure auf europäischen und nordamerikanischen Märkten unterstützt, wobei wöchentlich neue Integrationen hinzugefügt werden. Wir reduzieren die Entwicklungszeit von Monaten auf Tage, handhaben Spediteuraktualisierungen automatisch und verwalten regionale Ausnahmen. Mit Cargoson konzentrieren Sie sich auf das Wachstum Ihres Unternehmens, anstatt technische Komplexitäten von Spediteuren zu verwalten.

Vorteile der Integration von DPD Eesti über Cargoson API

Eine API für alle Spediteure

Ersetzen Sie Dutzende separater Spediteurintegrationen durch eine Verbindung zu DPD Eesti und 2.000+ anderen Anbietern über die Cargoson API. Keine Pflege mehrerer Authentifizierungssysteme mehr, keine Handhabung unterschiedlicher Datenformate oder Aktualisierung von Code, wenn Spediteure ihre Endpunkte ändern.

Klare Dokumentation und Support

Zugriff auf unkomplizierte API-Dokumentation mit funktionierenden Codebeispielen, detaillierten Parameterbeschreibungen und klar definierten Endpunkten. Unser Support-Team kennt die Logistikbranche und kann Ihnen helfen, Integrationsherausforderungen schnell zu lösen.

Codebeispiele in mehreren Sprachen

Starten Sie sofort mit gebrauchsfertigen Codebeispielen in cURL, JavaScript, Python, PHP und Ruby. Kopieren, einfügen und an Ihren Stack anpassen, keine Notwendigkeit, Authentifizierung, Anforderungsformatierung oder Fehlerbehandlung von Grund auf neu zu entwickeln.

Echter Support von Logistikexperten

Erhalten Sie Hilfe von Personen, die Versand verstehen, nicht nur APIs. Egal, ob Sie ein Integrationsproblem beheben oder Rat zur besten Handhabung internationaler Sendungen benötigen, unser Team ist hier, um zu helfen.

Die weltweit fortschrittlichste Frachtpreisengine

Cargosons Frachtpreis-API geht weit über einfache Ratenabfragen hinaus. Unsere Engine kann jede Spediteurpreisliste unabhängig von Format oder Struktur lesen, analysieren und digitalisieren, was sie zur leistungsstärksten Frachtratenverwaltungslösung in der Logistikbranche macht.

Universelle Formatunterstützung

Unsere Frachtpreisengine verarbeitet jedes Format: strukturierte Excel-Dateien, komplexe PDFs, Freitext oder sogar handgeschriebene Preislisten. Laden Sie Ihre Spediteurverträge in jedem Format hoch, und unsere Frachtpreisengine wird die Preisregeln, Zuschläge und Bedingungen automatisch analysieren.

Direkte Spediteur-API-Integration

Für Spediteure mit modernen Systemen (typischerweise globale Paketspediteure und technikaffine Frachtunternehmen) ziehen wir Raten direkt aus ihren APIs in Echtzeit. Dies stellt sicher, dass Sie immer die aktuellsten Preise ohne manuelle Aktualisierungen erhalten.

Öffentliche Online-Preise

Haben Sie noch keinen Vertrag mit einem Spediteur? Kein Problem. Cargoson kann öffentliche Online-Preise von Spediteuren abrufen, sodass Sie Optionen vergleichen können, noch bevor Sie formelle Vereinbarungen treffen.

Spot-Ratenanfragen

Für komplexe Sendungen oder Sonderfälle fordern Sie Spot-Raten an, bei denen Spediteure Ihre spezifischen Anforderungen prüfen und ein individuelles Angebot erstellen. Alles über dieselbe einheitliche API verwaltet.

DPD Eesti Versand-API: Vereinfachte Logistikautomatisierung

Automatisieren Sie Ihren Fulfillment-Prozess, indem Sie Cargosons Versand-API mit DPD Eesti und 2.000+ Spediteuren weltweit integrieren. Erstellen Sie Versandetiketten, buchen Sie Abholungen und verwalten Sie alle Ihre Spediteure von einer Plattform aus, während Sie Ihre ausgehandelten Raten bei jedem Anbieter behalten.

Automatisierte Etikettenerstellung

Generieren Sie spediteurgenehmigte Versandetiketten in einer einzigen API-Anfrage. Unterstützung für mehrere Etikettenformate (A4, Thermodrucker) und automatische Zolldokumentation für internationale Sendungen bedeutet weniger manuelle Arbeit und weniger Versandfehler.

Echtzeit-Ratenvergleich

Vergleichen Sie Live-Raten über DPD Eesti und Ihre anderen aktivierten Spediteure, um die beste Option basierend auf Kosten, Geschwindigkeit und Servicelevel zu wählen.

Behalten Sie Ihre ausgehandelten Raten

Verbinden Sie Ihr bestehendes DPD Eesti Konto, um Ihre ausgehandelten Versandraten zu behalten. Cargoson bietet einfach die technische Integration: Sie behalten Ihre direkten Spediteurbeziehungen und individuellen Preisvereinbarungen.

Sicherheit auf Unternehmensniveau für DPD Eesti API-Integration

Cargosons API-Infrastruktur erfüllt europäische Compliance-Standards, die eine sichere, prüfungsbereite DPD Eesti Integration für Ihr Unternehmen gewährleisten:

  • DSGVO-konforme Datenverarbeitung und -speicherung in ganz Europa
  • ISO 27001 zertifiziertes Informationssicherheitsmanagement
  • End-to-End-Verschlüsselung für alle API-Kommunikationen

Bereit, DPD Eesti Versand in Ihre Plattform zu integrieren?

Buchen Sie eine Demo, um zu sehen, wie Cargosons einheitliche API Ihre Logistikabläufe vereinfachen kann

Demo buchen

Häufig gestellte Fragen

Cargoson ist ein TMS (Transportmanagement-System) für europäische und nordamerikanische Hersteller. Unsere zentrale Vision ist Einfachheit: Integrieren Sie alle Spediteure und Frachtarten (Straße, Paket, Luft, See, Schiene) in ein Fenster und eine API. Egal, ob Sie Paletten durch Europa oder Container über Ozeane versenden, verwalten Sie alles von einer einzigen Plattform aus.

Der Einstieg ist einfach. Registrieren Sie sich zunächst für ein Cargoson-Konto und erhalten Sie Ihren API-Schlüssel. Verbinden Sie dann Ihr DPD Eesti Konto im Cargoson-Dashboard. Sobald das erledigt ist, können Sie mit unserer Dokumentation und Codebeispielen API-Anfragen stellen. Die gesamte Einrichtung dauert in der Regel weniger als eine Stunde.

Ja, Sie benötigen Ihr eigenes DPD Eesti Konto, um DPD Eesti Dienste über Cargoson zu nutzen. Dies stellt sicher, dass Sie Ihre ausgehandelten Raten behalten und Ihre direkte Beziehung zu DPD Eesti aufrechterhalten. Cargoson bietet einfach die technische Integrationsebene, die es einfacher macht, mit DPD Eesti und anderen Spediteuren über eine einheitliche API zu arbeiten.

Cargoson arbeitet mit einem transparenten monatlichen Abonnementmodell ohne Gebühren pro Sendung oder Provisionen, niemals. Ihr Plan umfasst API-Zugang, Dokumentation, Support und automatische Updates, wenn Spediteure ihre Systeme ändern. Sie zahlen DPD Eesti direkt für den Versand zu Ihren ausgehandelten Raten. Keine versteckten Kosten, keine Überraschungen.

Absolut! Das ist der Hauptvorteil der Verwendung von Cargoson. Sobald Sie unsere API integriert haben, können Sie mit DPD Eesti und 2.000+ anderen Spediteuren mit denselben Endpunkten, Authentifizierung und Datenformaten arbeiten. Fügen Sie neue Spediteure hinzu, ohne neuen Integrationscode zu schreiben, aktivieren Sie sie einfach in Ihrem Cargoson-Dashboard.

Ja! Wir integrieren jeden Spediteur, den Sie benötigen, ohne zusätzliche Kosten. Dies ist in Ihrem Cargoson-Abonnement enthalten. Stellen Sie uns einfach Ihren Spediteurkontakten vor, und wir kümmern uns um die technische Integration. Neue Integrationen werden täglich basierend auf Kundenanfragen hinzugefügt.

Ja, wir können Webhooks einrichten, um Ihr System basierend auf Ereignissen und Triggern in Cargoson zu benachrichtigen, wie z.B. Sendungsstatusaktualisierungen, Buchungsbestätigungen oder Änderungen an Ihren Sendungen. Kontaktieren Sie unser Support-Team oder buchen Sie eine Demo, um Ihre Webhook-Anforderungen und -Einrichtung zu besprechen.

Cargoson könnte übertrieben sein, wenn Sie ein kleines Unternehmen sind, das nur ein paar Mal im Monat mit einem einzigen Spediteur versendet. Sie können diese Sendungen wahrscheinlich gut ohne ein TMS verwalten. Wir sind auch nicht die richtige Wahl, wenn Sie ein Spediteur oder Frachtführer sind. Cargoson ist speziell für Wareneigentümer (BCOs) wie Hersteller und Distributoren konzipiert, die die zu versendenden Waren besitzen. Wenn Sie nach einem TMS suchen, um Ihr Speditionsgeschäft oder Ihre Spediteuroperationen zu verwalten, sind wir nicht für diesen Anwendungsfall konzipiert.

Unsere API gibt klare Fehlermeldungen mit spezifischen Fehlercodes und Beschreibungen zurück. Häufige Probleme sind in unserer Entwicklerdokumentation mit Lösungen dokumentiert. Wenn Sie nicht weiterkommen, kann unser Support-Team bei der Fehlerbehebung von Integrationsproblemen helfen.

Wir implementieren vernünftige Ratenlimits, um die Systemstabilität für alle Kunden zu gewährleisten. Es gibt sowohl langfristige Ratenlimits als auch Burst-Ratenlimits mit Werten, die für die meisten Unternehmen mehr als ausreichend sein sollten. Wenn Sie höhere Limits für Operationen auf Unternehmensebene benötigen, kontaktieren Sie uns, um benutzerdefinierte Ratenlimits für Ihr Konto zu besprechen.

Beginnen Sie mit der DPD Eesti API

Holen Sie sich Ihre API-Zugangsdaten, um mit der Integration zu beginnen

Holen Sie sich Ihren API-Schlüssel