DPD Eesti API-dokumentation

Integreret REST API

Komplet API-reference til DPD Eesti forsendelseintegration. Få adgang til booking, fragtrater, labelgenerering og sporing gennem Cargosons samlede transportstyring-API.

Få din API-nøgle

DPD Eesti API-oversigt

Denne API giver programmatisk adgang til DPD Eesti forsendelseservices gennem Cargosons samlede transportstyringplatform. Integrer DPD Eesti funktioner, herunder forsendelsesbooking, sporing, ratetilbud og labelgenerering i dine applikationer.

API-funktioner

  • Opret og administrer DPD Eesti forsendelsesbookinger
  • Forsendelsessporing og statusopdateringer
  • Få fragtratetilbud og transittider
  • Generer forsendelselabels i flere formater (PDF, PNG, ZPL)
  • Opret returlabels til returlogistik
  • Forespørg pakkeboks- og afhentningsstedplaceringer
  • Vis tilgængelige fragtmandservices
  • Automatiserede kurérafhentningsanmodninger

Base URL & godkendelse

Base URL

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

Godkendelse

Alle anmodninger skal inkludere din API-nøgle og den korrekte Accept-header:

Authorization: Bearer DIN_API_NØGLE
Accept: application/vnd.api.v1

DPD Eesti booking-API

Direkte fragtmand-API

Opret DPD Eesti forsendelser og hent forsendelselabels ved hjælp af Queries-endpointet. Bookinger sendes til fragtmandens system i realtid, og labels genereres øjeblikkeligt.

Query vs direkte booking

Queries-endpointet understøtter to bookingmetoder:

  • Query-tilstand - Opret en transportanmodning uden at specificere en fragtmand (endnu). Dette giver dig mulighed for manuelt at sammenligne fragtmandpriser og leveringstider, anmode om nye spotpriser, foretage justeringer/opdateringer til forsendelsen og delegere fragtmandvalg til andre, før du foretager det endelige fragtmandvalg i Cargoson.
  • Direkte booking - Angiv et fragtmandservice-ID (fra Rate- eller Services-API'en) for at booke direkte med DPD Eesti. Dette sikrer, at din forsendelse bruger præcis den service, du har valgt.

For at booke direkte til DPD Eesti, skal du altid definere direct_booking_service_id.

POST /queries

Opret en forsendelsesforespørgsel eller direkte booking til DPD Eesti. Inkluder direct_booking_service_id for at oprette en øjeblikkelig booking.

Request Parameters

collection_date string required

Afhentningsdato i ÅÅÅÅ-MM-DD format

collection_country string required

Afhentningslandekode (ISO 3166-1 alpha-2)

collection_postcode string required

Afhentningspostnummer

collection_address_row_1 string required

Afhentningsgadeadresse

collection_city string required

Afhentningsby

collection_company_name string required

Afsendervirksomhedsnavn

collection_contact_name string required

Afsenderkontaktperson

collection_contact_phone string required

Afsendertelefonnummer

delivery_country string required

Leveringslandekode

delivery_postcode string required

Leveringspostnummer

delivery_address_row_1 string required

Leveringsgadeadresse

delivery_city string required

Leveringsby

delivery_company_name string required

Modtagervirksomhedsnavn

delivery_contact_name string required

Modtagerkontaktperson

delivery_contact_phone string required

Modtagertelefonnummer

rows_attributes array required

Array af pakker/paller med antal, pakketype, vægt og beskrivelse

options[direct_booking_service_id] integer

DPD Eesti service-ID til direkte 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"
}

Labelgenerering

DPD Eesti forsendelselabels genereres automatisk, når du opretter en booking. Labels er tilgængelige i flere formater for at understøtte forskellige printertyper.

Understøttede labelformater

a4 - A4 PDF-format til skrivebordsprintere (4 labels pr. side)
label_printer - 4x6in (~10x15cm) PDF-format til termoprintere

Labels er inkluderet i bookingreaktionen via label_url-feltet. Download og print labelen fra den angivne URL efter booking.

DPD Eesti rate-API (fragtpriser)

Cargoson-motor
Cargoson-forbedring:

DPD Eesti leverer ikke en native rate-API. Cargosons fragtprismotor beregner priser ved hjælp af dine uploadede prisaftaler, hvilket giver dig den samme API-oplevelse som fragtmænd med native rate-API'er. Du kan uploade fragtmandrater i ethvert format (Excel, PDF, endda håndskrevne prislister), og vi digitaliserer dem.

Få realtids DPD Eesti fragtrater før booking. Rate-API'en returnerer tilgængelige services, priser og estimerede leveringstider.

POST /freightPrices/list

Få fragtratetilbud fra DPD Eesti og andre aktiverede fragtmænd på din konto.

Request Parameters

collection_date string required

Afhentningsdato i ÅÅÅÅ-MM-DD format

collection_country string required

Afhentningslandekode (ISO 3166-1 alpha-2)

collection_postcode string required

Afhentningspostnummer

delivery_country string required

Leveringslandekode

delivery_postcode string required

Leveringspostnummer

rows_attributes array required

Array af pakker/paller med antal, pakketype, vægt og beskrivelse

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

Direkte fragtmand-API

Spor DPD Eesti forsendelser ved hjælp af Cargoson-referencenummeret. Få aktuel status, placeringsopdateringer og estimeret leveringstid.

GET /bookings/{reference}

Hent sporingsdetaljer for en DPD Eesti forsendelse ved hjælp af Cargoson-bookingreferencen.

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

Direkte fragtmand-API

Generer returforsendelselabels til DPD Eesti forsendelser. Returlabels giver kunderne mulighed for at sende varer retur ved hjælp af forudbetalt forsendelse.

POST /bookings/{reference}/return_labels

Opret et returlabel til en eksisterende DPD Eesti forsendelse.

Request Parameters

label_format string

Labelformat: a4 eller 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"
}

Returlabel-funktioner

  • Forudbetalte returforsendelselabels
  • Samme formatmuligheder som udgående labels (A4, termo)
  • Separat sporingreference til returer
  • Problemfri integration med DPD Eesti returservices

DPD Eesti kurérforespørgsler

Direkte fragtmand-API

Cargoson automatiserer kurérafhentningsanmodninger til DPD Eesti forsendelser, hvilket gør det til én opgave mindre, du skal tænke på.

Hvordan Cargoson håndterer kurérforespørgsler

Mange fragtmænd kræver, at du opretter labels separat og derefter manuelt anmoder om kurérafhentning. Andre har ikke et separat label plus kurérkaldsystem, og hver forsendelse er en komplet, separat forsendelse. Vi mener, at der bør være en enkelt standard for fragtmand-API'er, men i øjeblikket opretter hver fragtmand sit eget unikke system, hvilket gør det svært for deres brugere at huske hver enkelt særegenhed og indviklethed. Cargoson forenkler dine kurérkald ved at behandle hver forsendelse holistisk: kurérforespørgsler administreres automatisk som en del af bookingprocessen.

Smart afhentningsoptimering

Cargoson optimerer kurérkald for at reducere omkostninger og forbedre effektiviteten.

  • 1. Batchkonsolidering - Flere forsendelser fra samme placering grupperes i en enkelt afhentningsanmodning
  • 2. Fragtmandspecifik håndtering - Nogle fragtmænd inkluderer afhentning i bookingen, andre kræver separate anmodninger. Cargoson håndterer begge varianter automatisk for dig
  • 3. Regelmæssige afhentningsplaner - Konfigurer forudplanlagte afhentninger med bestemte intervaller (f.eks. dagligt til mit hovedlager kl. 15) og Cargoson vil helt springe individuelle kurérkald over

Fordele

  • Ingen grund til at holde styr på, hvilke fragtmænd der kræver separate kurérforespørgsler
  • Automatisk optimering forhindrer unødvendige afhentningskald
  • Understøttelse af regelmæssige afhentningsplaner
  • Forenklet forsendelsesworkflow - opret bare bookingen

Konfiguration

Kurérafhentningsautomatisering er aktiveret som standard for alle DPD Eesti forsendelser. For at konfigurere regelmæssige afhentningsplaner eller tilpassede afhentningsoptimeringsregler, kontakt [email protected].

DPD Eesti pakkeboks-API

Direkte fragtmand-API

Forespørg tilgængelige DPD Eesti pakkeboks- og afhentningsstedplaceringer. Brug dette endpoint til at vise kunderne en liste over nærliggende pakkebokse under checkout.

GET /parcelMachines

Søg efter DPD Eesti pakkebokse og afhentningssteder efter placering eller postnummer.

Request Parameters

country string required

Landekode (ISO 3166-1 alpha-2)

postcode string

Filtrer efter postnummer

carrier_id integer

Filtrer efter specifik fragtmand

reference string

Find specifik pakkeboks efter 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-motor
Cargoson-forbedring:

Services-API'en er en Cargoson-leveret funktion, der returnerer en samlet liste over alle tilgængelige services fra DPD Eesti og andre fragtmænd i dit netværk. Dette giver dig mulighed for dynamisk at vise forsendelsesvalgmuligheder til dine kunder uden at hardcode service-ID'er.

Hent en liste over tilgængelige DPD Eesti forsendelseservices. Brug service-ID'er, når du foretager direkte bookinger for at sikre, at du får præcis den service, du ønsker.

GET /services/list

Returner liste over DPD Eesti services tilgængelige på din virksomhedskonto.

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

Brug af service-ID'er

Service-ID'er fra dette endpoint kan bruges med direct_booking_service_id-parameteren, når du opretter bookinger for at vælge den rigtige service og sende forsendelsen til DPD Eesti systemet.

Komplette kodeeksempler

Nedenfor er komplette fungerende eksempler, der viser hele workflowet: få rater, vælg en service, book forsendelse og udtræk sporingsinformation.

# 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

Hvorfor bruge Cargoson API til DPD Eesti integration

At integrere direkte med DPD Eesti's native API betyder at kæmpe med fragtmandspecifik dokumentation, håndtere unikke dataformater og vedligeholde separat kode for hver udbyder. Cargoson tilbyder en enkelt samlet RESTful API, der understøtter DPD Eesti og 2.000+ fragtmænd på tværs af europæiske og nordamerikanske markeder, med nye integrationer tilføjet ugentligt. Vi reducerer udviklingstiden fra måneder til dage, håndterer fragtmandopdateringer automatisk og administrerer regionale undtagelser. Med Cargoson fokuserer du på at vokse din forretning i stedet for at administrere fragtmandtekniske kompleksiteter.

Fordele ved at integrere DPD Eesti via Cargoson API

Én API til alle fragtmænd

Erstat snesevis af separate fragtmandintegrationer med én forbindelse til DPD Eesti og 2.000+ andre udbydere via Cargoson API. Ikke mere vedligeholdelse af flere godkendelsessystemer, håndtering af forskellige dataformater eller opdatering af kode, når fragtmænd ændrer deres endpoints.

Klar dokumentation og support

Få adgang til ligetil API-dokumentation med fungerende kodeeksempler, detaljerede parameterbeskrivelser og klart definerede endpoints. Vores supportteam kender logistikbranchen og kan hjælpe dig med at løse integrationsudfordringer hurtigt.

Kodeeksempler på flere sprog

Kom i gang med det samme med klar-til-brug kodeeksempler i cURL, JavaScript, Python, PHP og Ruby. Kopier, indsæt og tilpas dem til din stack, ingen grund til at finde ud af godkendelse, anmodningsformatering eller fejlhåndtering fra bunden.

Reel support fra logistikeksperter

Få hjælp fra folk, der forstår forsendelse, ikke kun API'er. Uanset om du fejlsøger et integrationsproblem eller har brug for råd om den bedste måde at håndtere internationale forsendelser på, er vores team her for at hjælpe.

Verdens mest avancerede fragtprismotor

Cargosons fragtpris-API går langt ud over simple rateopslag. Vores motor kan læse, analysere og digitalisere enhver fragtmandprisliste uanset format eller struktur, hvilket gør den til den mest kraftfulde fragtratestyringsløsning i logistikbranchen.

Universel formatunderstøttelse

Vores fragtprismotor håndterer ethvert format: strukturerede Excel-filer, komplekse PDF'er, fri tekst eller endda håndskrevne prislister. Upload dine fragtmandkontrakter i ethvert format, og vores fragtratemotor vil parse prisreglerne, tillæg og betingelser automatisk.

Direkte fragtmand-API-integration

For fragtmænd med moderne systemer (typisk globale pakkeoperatører og teknologifremadrettede fragtvirksomheder) trækker vi rater direkte fra deres API'er i realtid. Dette sikrer, at du altid får de mest aktuelle priser uden manuelle opdateringer.

Offentlige onlinepriser

Har du ikke en kontrakt med en fragtmand endnu? Intet problem. Cargoson kan trække offentlige onlinepriser fra fragtmænd, hvilket giver dig mulighed for at sammenligne muligheder, selv før du etablerer formelle aftaler.

Spotprisanmodninger

For komplekse forsendelser eller særlige tilfælde, anmod om spotpriser, hvor fragtmænd gennemgår dine specifikke krav og giver et tilpasset tilbud. Alt administreret gennem den samme samlede API.

DPD Eesti forsendelses-API: Forenklet logistikautomatisering

Automatiser din opfyldelsesproces ved at integrere Cargosons forsendelses-API med DPD Eesti og 2.000+ fragtmænd verden over. Opret forsendelselabels, book afhentninger og administrer alle dine fragtmænd fra én platform, mens du beholder dine forhandlede rater med hver udbyder.

Automatiseret labelgenerering

Generer fragtmandgodkendte forsendelselabels i en enkelt API-anmodning. Understøttelse af flere labelformater (A4, termoprinter) og automatisk tolddokumentation til internationale forsendelser betyder mindre manuelt arbejde og færre forsendelsesfejl.

Realtids ratesammenligning

Sammenlign live rater på tværs af DPD Eesti og dine andre aktiverede fragtmænd for at vælge den bedste mulighed baseret på pris, hastighed og serviceniveau.

Behold dine forhandlede rater

Tilslut din eksisterende DPD Eesti konto for at beholde dine forhandlede forsendelsespriser. Cargoson leverer blot den tekniske integration: du beholder dine direkte fragtmandrelationer og tilpassede prisaftaler.

Virksomhedssikkerhed i verdensklasse til DPD Eesti API-integration

Cargosons API-infrastruktur opfylder europæiske overholdelsesstandarder, som sikrer sikker, revisionsklar DPD Eesti integration til din virksomhed:

  • GDPR-kompatibel datahåndtering og -lagring på tværs af Europa
  • ISO 27001-certificeret informationssikkerhedsstyring
  • End-to-end kryptering for al API-kommunikation

Klar til at integrere DPD Eesti forsendelse i din platform?

Book en demo for at se, hvordan Cargosons samlede API kan forenkle dine logistikoperationer

Book en demo

Ofte stillede spørgsmål

Cargoson er et TMS (transportstyringssystem) til europæiske og nordamerikanske producenter. Vores centrale vision er enkelhed: integrer alle fragtmænd og fragtmåder (vej, pakke, luft, hav, jernbane) i ét vindue og én API. Uanset om du sender paller på tværs af Europa eller containere oversøisk, administrer alt fra en enkelt platform.

Det er nemt at komme i gang. Først skal du tilmelde dig en Cargoson-konto og få din API-nøgle. Tilslut derefter din DPD Eesti konto i Cargoson-dashboardet. Når det er gjort, kan du begynde at lave API-anmodninger ved hjælp af vores dokumentation og kodeeksempler. Hele opsætningen tager typisk mindre end en time.

Ja, du skal bruge din egen DPD Eesti konto for at bruge DPD Eesti services gennem Cargoson. Dette sikrer, at du beholder dine forhandlede rater og opretholder dit direkte forhold til DPD Eesti. Cargoson leverer blot det tekniske integrationslag, der gør det lettere at arbejde med DPD Eesti og andre fragtmænd gennem én samlet API.

Cargoson opererer på en gennemsigtig månedlig abonnementsmodel uden gebyrer pr. forsendelse eller provisioner, nogensinde. Din plan inkluderer API-adgang, dokumentation, support og automatiske opdateringer, når fragtmænd ændrer deres systemer. Du betaler DPD Eesti direkte for forsendelse til dine forhandlede rater. Ingen skjulte omkostninger, ingen overraskelser.

Absolut! Det er hovedfordelen ved at bruge Cargoson. Når du har integreret vores API, kan du arbejde med DPD Eesti og 2.000+ andre fragtmænd ved hjælp af de samme endpoints, godkendelse og dataformater. Tilføj nye fragtmænd uden at skrive ny integrationskode, bare aktiver dem i dit Cargoson-dashboard.

Ja! Vi integrerer enhver fragtmand, du har brug for, uden ekstra omkostninger. Dette er inkluderet i dit Cargoson-abonnement. Bare præsenter os for dine fragtmandkontakter, og vi håndterer den tekniske integration. Nye integrationer tilføjes dagligt baseret på kundeanmodninger.

Ja, vi kan opsætte webhooks til at underrette dit system baseret på begivenheder og triggere i Cargoson, såsom forsendelsestatusopdateringer, bookingbekræftelser eller ændringer til dine forsendelser. Kontakt vores supportteam eller book en demo for at diskutere dine webhook-krav og opsætning.

Cargoson kan være overkill, hvis du er en lille virksomhed, der kun sender et par gange om måneden med en enkelt fragtmand. Du kan sandsynligvis administrere disse forsendelser fint uden et TMS. Vi er heller ikke det rigtige valg, hvis du er en fragtmand eller speditør. Cargoson er bygget specifikt til gavnlige lastejere (BCO'er) som producenter og distributører, der ejer de varer, der sendes. Hvis du leder efter et TMS til at administrere din speditørvirksomhed eller fragtmandoperationer, er vi ikke designet til det anvendelsestilfælde.

Vores API returnerer klare fejlmeddelelser med specifikke fejlkoder og beskrivelser. Almindelige problemer er dokumenteret med løsninger i vores udvikler-docs. Hvis du sidder fast, kan vores supportteam hjælpe med at fejlsøge integrationsproblemer.

Vi implementerer rimelige rategrænser for at sikre systemstabilitet for alle kunder. Der er både langperiode-rategrænser og burst-rategrænser med værdier, der burde være mere end nok for de fleste virksomheder. Hvis du har brug for højere grænser til virksomhedsskala-operationer, kontakt os for at diskutere tilpassede rategrænser for din konto.

Begynd at bruge DPD Eesti API'en

Få dine API-legitimationsoplysninger for at begynde integration

Få din API-nøgle