DPD Eesti API dokumentacija

Integrirano REST API

Popolna API referenca za DPD Eesti integracijo pošiljanja. Dostop do rezervacij, tovornih cen, generiranja nalepk in sledenja preko Cargosonove enotne API za upravljanje prevozov.

Pridobite svoj API ključ

DPD Eesti API pregled

Ta API omogoča programski dostop do DPD Eesti storitev pošiljanja preko Cargosonove enotne platforme za upravljanje prevozov. Integrirajte DPD Eesti zmogljivosti, vključno z rezervacijo pošiljk, sledenjem, cenovnimi ponudbami in generiranjem nalepk v vaše aplikacije.

API zmogljivosti

  • Ustvarite in upravljajte DPD Eesti rezervacije pošiljk
  • Sledenje pošiljkam in posodobitve statusa
  • Pridobite ponudbe za tovorne cene in čase prevoza
  • Generirajte nalepke za pošiljanje v več formatih (PDF, PNG, ZPL)
  • Ustvarite nalepke za vračilo za povratno logistiko
  • Poiščite lokacije paketomatov in prevzemnih mest
  • Seznam razpoložljivih storitev prevoznika
  • Avtomatizirane zahteve za prevzem kurirja

Osnovni URL in avtentikacija

Osnovni URL

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

Avtentikacija

Vse zahteve morajo vključevati vaš API ključ in pravilno Accept glavo:

Authorization: Bearer VAŠ_API_KLJUČ
Accept: application/vnd.api.v1

DPD Eesti API za rezervacije

Neposredni API prevoznika

Ustvarite DPD Eesti pošiljke in pridobite nalepke za pošiljanje z uporabo končne točke Queries. Rezervacije se pošljejo v sistem prevoznika v realnem času in nalepke se generirajo takoj.

Poizvedba proti neposredni rezervaciji

Končna točka Queries podpira dve metodi rezervacije:

  • Način poizvedbe - Ustvarite zahtevo za prevoz brez določitve prevoznika (še). To vam omogoča ročno primerjavo cen in časov dostave prevoznikov, zahtevo za nove spot cene, prilagoditve/posodobitve pošiljke in delegiranje izbire prevoznika drugim, preden naredite končno izbiro prevoznika v Cargosonu.
  • Neposredna rezervacija - Določite ID storitve prevoznika (iz Rate ali Services API), da rezervirate neposredno pri DPD Eesti. To zagotavlja, da vaša pošiljka uporablja točno storitev, ki ste jo izbrali.

Za neposredno rezervacijo pri DPD Eesti vedno določite direct_booking_service_id.

POST /queries

Ustvarite poizvedbo pošiljke ali neposredno rezervacijo za DPD Eesti. Vključite direct_booking_service_id za ustvarjanje takojšnje rezervacije.

Request Parameters

collection_date string required

Datum prevzema v formatu LLLL-MM-DD

collection_country string required

Koda države prevzema (ISO 3166-1 alpha-2)

collection_postcode string required

Poštna številka prevzema

collection_address_row_1 string required

Ulični naslov prevzema

collection_city string required

Mesto prevzema

collection_company_name string required

Ime podjetja pošiljatelja

collection_contact_name string required

Kontaktna oseba pošiljatelja

collection_contact_phone string required

Telefonska številka pošiljatelja

delivery_country string required

Koda države dostave

delivery_postcode string required

Poštna številka dostave

delivery_address_row_1 string required

Ulični naslov dostave

delivery_city string required

Mesto dostave

delivery_company_name string required

Ime podjetja prejemnika

delivery_contact_name string required

Kontaktna oseba prejemnika

delivery_contact_phone string required

Telefonska številka prejemnika

rows_attributes array required

Niz paketov/palet s količino, package_type, težo in opisom

options[direct_booking_service_id] integer

DPD Eesti ID storitve za neposredno rezervacijo

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

Generiranje nalepk

DPD Eesti nalepke za pošiljanje se samodejno generirajo, ko ustvarite rezervacijo. Nalepke so na voljo v več formatih za podporo različnim vrstam tiskalnikov.

Podprti formati nalepk

a4 - A4 PDF format za namizne tiskalnike (4 nalepke na stran)
label_printer - 4x6in (~10x15cm) PDF format za termične tiskalnike

Nalepke so vključene v odgovor rezervacije preko polja label_url. Prenesite in natisnite nalepko iz priloženega URL-ja po rezervaciji.

DPD Eesti API za cene (tovorne cene)

Cargoson motor
Cargoson izboljšava:

DPD Eesti ne zagotavlja izvornega API za cene. Cargosonov motor za tovorne cene izračuna cene z uporabo vaših naloženih cenovnih dogovorov, kar vam zagotavlja enako izkušnjo API kot prevozniki z izvornimi API-ji za cene. Naložite lahko cene prevoznikov v katerem koli formatu (Excel, PDF, celo ročno napisane cenike) in mi jih bomo digitalizirali.

Pridobite DPD Eesti tovorne cene v realnem času pred rezervacijo. Rate API vrne razpoložljive storitve, cene in ocenjene čase dostave.

POST /freightPrices/list

Pridobite ponudbe za tovorne cene od DPD Eesti in drugih aktiviranih prevoznikov na vašem računu.

Request Parameters

collection_date string required

Datum prevzema v formatu LLLL-MM-DD

collection_country string required

Koda države prevzema (ISO 3166-1 alpha-2)

collection_postcode string required

Poštna številka prevzema

delivery_country string required

Koda države dostave

delivery_postcode string required

Poštna številka dostave

rows_attributes array required

Niz paketov/palet s količino, package_type, težo in opisom

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 API za sledenje

Neposredni API prevoznika

Sledite DPD Eesti pošiljkam z uporabo Cargosonove referenčne številke. Pridobite trenutni status, posodobitve lokacije in ocenjeni čas dostave.

GET /bookings/{reference}

Pridobite podrobnosti sledenja za DPD Eesti pošiljko z uporabo Cargosonove referenčne številke rezervacije.

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 API za nalepke za vračilo

Neposredni API prevoznika

Generirajte nalepke za vračilo pošiljanja za DPD Eesti pošiljke. Nalepke za vračilo omogočajo strankam, da vrnejo artikle z vnaprej plačanim pošiljanjem.

POST /bookings/{reference}/return_labels

Ustvarite nalepko za vračilo za obstoječo DPD Eesti pošiljko.

Request Parameters

label_format string

Format nalepke: a4 ali label_printer (privzeto: 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"
}

Funkcije nalepk za vračilo

  • Vnaprej plačane nalepke za vračilo pošiljanja
  • Enake možnosti formata kot pri odhodnih nalepkah (A4, termični)
  • Ločena referenca za sledenje za vračila
  • Brezhibna integracija s DPD Eesti storitvami za vračilo

DPD Eesti zahteve za kurirja

Neposredni API prevoznika

Cargoson avtomatizira zahteve za prevzem kurirja za DPD Eesti pošiljke, kar pomeni eno nalogo manj, o kateri morate razmišljati.

Kako Cargoson obravnava zahteve za kurirja

Številni prevozniki zahtevajo, da ustvarite nalepke ločeno in nato ročno zahtevate prevzem kurirja. Drugi nimajo ločenega sistema nalepk in klica kurirja, vsaka pošiljka je popolna, ločena pošiljka. Verjamemo, da bi moral obstajati en sam standard API-jev prevoznikov, vendar trenutno vsak prevoznik ustvarja svoj edinstven sistem, kar uporabnikom otežuje pomnjenje posebnosti in zapletenosti vsakega. Cargoson poenostavi vaše klice kurirjev z obravnavanjem vsake pošiljke celostno: zahteve za kurirje se samodejno upravljajo kot del procesa rezervacije.

Pametna optimizacija prevzema

Cargoson optimizira klice kurirjev za zmanjšanje stroškov in izboljšanje učinkovitosti.

  • 1. Konsolidacija serij - Več pošiljk z iste lokacije se združi v eno zahtevo za prevzem
  • 2. Obravnava specifična za prevoznika - Nekateri prevozniki vključujejo prevzem v rezervacijo, drugi zahtevajo ločene zahteve. Cargoson samodejno obravnava obe varianti za vas
  • 3. Redni urniki prevzemov - Konfigurirajte vnaprej načrtovane prevzeme v določenih intervalih (npr. dnevno v mojo glavno skladišče ob 15:00) in Cargoson bo popolnoma preskočil posamezne klice kurirjev

Prednosti

  • Ni potrebe po sledenju, kateri prevozniki zahtevajo ločene zahteve za kurirja
  • Samodejna optimizacija preprečuje nepotrebne klice za prevzem
  • Podpora za redne urnike prevzemov
  • Poenostavljen potek dela pošiljanja - samo ustvarite rezervacijo

Konfiguracija

Avtomatizacija prevzema kurirja je privzeto omogočena za vse DPD Eesti pošiljke. Za konfiguracijo rednih urnikov prevzemov ali pravil za optimizacijo po meri kontaktirajte [email protected].

DPD Eesti API za paketomате

Neposredni API prevoznika

Poiščite razpoložljive DPD Eesti paketomате in lokacije prevzemnih mest. Uporabite to končno točko za prikaz seznama bližnjih paketomatov strankam med nakupom.

GET /parcelMachines

Iščite DPD Eesti paketomате in prevzemna mesta po lokaciji ali poštni številki.

Request Parameters

country string required

Koda države (ISO 3166-1 alpha-2)

postcode string

Filtriraj po poštni številki

carrier_id integer

Filtriraj po določenem prevozniku

reference string

Najdi določen paketоmat po referenci

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 API za storitve

Cargoson motor
Cargoson izboljšava:

API za storitve je funkcija, ki jo zagotavlja Cargoson in vrne enotni seznam vseh razpoložljivih storitev od DPD Eesti in drugih prevoznikov v vašem omrežju. To vam omogoča dinamičen prikaz možnosti pošiljanja vašim strankam brez trdega kodiranja ID-jev storitev.

Pridobite seznam razpoložljivih DPD Eesti storitev pošiljanja. Uporabite ID-je storitev pri neposrednih rezervacijah, da zagotovite, da dobite točno storitev, ki jo želite.

GET /services/list

Vrni seznam DPD Eesti storitev, ki so na voljo na računu vašega podjetja.

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

Uporaba ID-jev storitev

ID-je storitev iz te končne točke lahko uporabite s parametrom direct_booking_service_id pri ustvarjanju rezervacij za izbiro prave storitve in pošiljanje pošiljke v sistem DPD Eesti.

Popolni primeri kode

Spodaj so popolni delujoči primeri, ki prikazujejo celoten potek dela: pridobite cene, izberite storitev, rezervirajte pošiljko in pridobite informacije o sledenju.

# 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

Zakaj uporabiti Cargoson API za DPD Eesti integracijo

Neposredna integracija z izvornim API-jem DPD Eesti pomeni spopadanje s specifično dokumentacijo prevoznika, obravnavanje edinstvenih formatov podatkov in vzdrževanje ločene kode za vsakega ponudnika. Cargoson ponuja en sam enotni RESTful API, ki podpira DPD Eesti in 2.000+ prevoznikov na evropskih in severnoameriških trgih, z novimi integracijami, ki se dodajajo tedensko. Skrajšamo razvojni čas z mesecev na dni, samodejno obravnavamo posodobitve prevoznikov in upravljamo regionalne izjeme. S Cargosonom se osredotočite na rast svojega poslovanja namesto na upravljanje tehničnih zapletenosti prevoznikov.

Prednosti integracije DPD Eesti preko Cargoson API

En API za vse prevoznike

Zamenjajte desetine ločenih integracij prevoznikov z eno povezavo do DPD Eesti in 2.000+ drugih ponudnikov preko Cargoson API. Ni več vzdrževanja več sistemov avtentikacije, obravnavanja različnih formatov podatkov ali posodabljanja kode, ko prevozniki spremenijo svoje končne točke.

Jasna dokumentacija in podpora

Dostop do jasne API dokumentacije z delujočimi primeri kode, podrobnimi opisi parametrov in jasno opredeljenimi končnimi točkami. Naša ekipa za podporo pozna logistično industrijo in vam lahko pomaga hitro rešiti izzive integracije.

Primeri kode v več jezikih

Začnite takoj z uporabnimi primeri kode v cURL, JavaScript, Python, PHP in Ruby. Kopirajte, prilepite in prilagodite jih svojemu skladu, ni potrebe po ugotavljanju avtentikacije, oblikovanja zahtev ali obravnavanja napak od začetka.

Prava podpora logističnih strokovnjakov

Pridobite pomoč ljudi, ki razumejo pošiljanje, ne samo API-je. Ne glede na to, ali odpravljate težave z integracijo ali potrebujete nasvet o najboljšem načinu obravnavanja mednarodnih pošiljk, je naša ekipa tukaj, da vam pomaga.

Najbolj napreden motor za tovorne cene na svetu

Cargosonov API za tovorne cene gre daleč preko preprostih iskanj cen. Naš motor lahko prebere, analizira in digitalizira kateri koli cenik prevoznika ne glede na format ali strukturo, kar ga naredi za najmočnejšo rešitev za upravljanje tovornih cen v logistični industriji.

Univerzalna podpora formatov

Naš motor za tovorne cene obravnava kateri koli format: strukturirane Excel datoteke, kompleksne PDF-je, prosto besedilo ali celo ročno napisane cenike. Naložite svoje pogodbe s prevozniki v katerem koli formatu in naš motor za tovorne cene bo samodejno razčlenil pravila za določanje cen, doplačila in pogoje.

Neposredna integracija API prevoznika

Za prevoznike s sodobnimi sistemi (običajno globalni paketni prevozniki in tehnološko napredna tovorna podjetja) pridobivamo cene neposredno iz njihovih API-jev v realnem času. To zagotavlja, da vedno dobite najnovejše cene brez ročnih posodobitev.

Javne spletne cene

Še nimate pogodbe s prevoznikom? Ni problema. Cargoson lahko pridobi javne spletne cene od prevoznikov, kar vam omogoča primerjavo možnosti še preden vzpostavite formalne dogovore.

Zahteve za spot cene

Za kompleksne pošiljke ali posebne primere zahtevajte spot cene, kjer prevozniki pregledajo vaše specifične zahteve in zagotovijo ponudbo po meri. Vse upravljano preko istega enotnega API-ja.

DPD Eesti API za pošiljanje: Poenostavljena avtomatizacija logistike

Avtomatizirajte svoj proces izpolnjevanja z integracijo Cargosonovega API za pošiljanje z DPD Eesti in 2.000+ prevozniki po vsem svetu. Ustvarite nalepke za pošiljanje, rezervirajte prevzeme in upravljajte vse svoje prevoznike z ene platforme, hkrati pa ohranite svoje dogovorjene cene z vsakim ponudnikom.

Avtomatizirano generiranje nalepk

Generirajte nalepke za pošiljanje, ki jih odobri prevoznik, v eni sami API zahtevi. Podpora za več formatov nalepk (A4, termični tiskalnik) in samodejna carinska dokumentacija za mednarodne pošiljke pomeni manj ročnega dela in manj napak pri pošiljanju.

Primerjava cen v realnem času

Primerjajte cene v živo med DPD Eesti in vašimi drugimi aktiviranimi prevozniki, da izberete najboljšo možnost glede na stroške, hitrost in raven storitve.

Ohranite svoje dogovorjene cene

Povežite svoj obstoječi DPD Eesti račun, da ohranite svoje dogovorjene cene pošiljanja. Cargoson preprosto zagotavlja tehnično integracijo: ohranite svoje neposredne odnose s prevozniki in dogovore o cenah po meri.

Varnost podjetniške ravni za DPD Eesti API integracijo

Cargosonova API infrastruktura izpolnjuje evropske standarde skladnosti, ki zagotavljajo varno, revizijsko pripravljeno DPD Eesti integracijo za vaše podjetje:

  • GDPR skladno ravnanje in shranjevanje podatkov po Evropi
  • ISO 27001 certificirano upravljanje informacijske varnosti
  • Šifriranje od konca do konca za vse API komunikacije

Pripravljeni integrirati DPD Eesti pošiljanje v vašo platformo?

Rezervirajte predstavitev, da vidite, kako lahko Cargosonov enotni API poenostavi vaše logistične operacije

Rezerviraj predstavitev

Pogosto zastavljena vprašanja

Cargoson je TMS (sistem za upravljanje prevozov) za evropske in severnoameriške proizvajalce. Naša osrednja vizija je preprostost: integrirajte vse prevoznike in načine tovora (cestni, paketni, zračni, morski, železniški) v eno okno in en API. Ne glede na to, ali pošiljate palete po Evropi ali kontejnerje čez morje, upravljajte vse z ene platforme.

Začetek je preprost. Najprej se registrirajte za Cargoson račun in pridobite svoj API ključ. Nato povežite svoj DPD Eesti račun v Cargosonovi nadzorni plošči. Ko je to opravljeno, lahko začnete izvajati API zahteve z uporabo naše dokumentacije in primerov kode. Celotna nastavitev običajno traja manj kot eno uro.

Da, potrebovali boste svoj DPD Eesti račun za uporabo DPD Eesti storitev preko Cargosona. To zagotavlja, da ohranite svoje dogovorjene cene in vzdržujete svoj neposredni odnos z DPD Eesti. Cargoson preprosto zagotavlja tehnično integracijski sloj, ki olajša delo z DPD Eesti in drugimi prevozniki preko enega enotnega API-ja.

Cargoson deluje na preglednem modelu mesečne naročnine brez provizij ali stroškov na pošiljko, nikoli. Vaš načrt vključuje dostop do API, dokumentacijo, podporo in samodejne posodobitve, ko prevozniki spremenijo svoje sisteme. DPD Eesti plačate neposredno za pošiljanje po vaših dogovorjenih cenah. Brez skritih stroškov, brez presenečenj.

Absolutno! To je glavna prednost uporabe Cargosona. Ko integrirate naš API, lahko delate z DPD Eesti in 2.000+ drugimi prevozniki z uporabo istih končnih točk, avtentikacije in formatov podatkov. Dodajte nove prevoznike brez pisanja nove integracijske kode, samo aktivirajte jih v svoji Cargosonovi nadzorni plošči.

Da! Integriramo katerega koli prevoznika, ki ga potrebujete, brez dodatnih stroškov. To je vključeno v vašo Cargoson naročnino. Samo nas predstavite svojim kontaktom prevoznika in mi bomo obravnavali tehnično integracijo. Nove integracije se dodajajo dnevno na podlagi zahtev strank.

Da, lahko nastavimo webhooks za obveščanje vašega sistema na podlagi dogodkov in sprožilcev v Cargosonu, kot so posodobitve statusa pošiljke, potrditve rezervacij ali spremembe vaših pošiljk. Kontaktirajte našo ekipo za podporo ali rezervirajte predstavitev za razpravo o vaših zahtevah in nastavitvi webhooks.

Cargoson je morda preveč, če ste majhno podjetje, ki pošilja le nekajkrat na mesec z enim prevoznikom. Te pošiljke lahko verjetno dobro upravljate brez TMS. Prav tako nismo prava izbira, če ste prevoznik ali špediter. Cargoson je zgrajen posebej za lastnike tovora (BCO), kot so proizvajalci in distributerji, ki posedujejo blago, ki se pošilja. Če iščete TMS za upravljanje svojega posredovalnega poslovanja ali operacij prevoznika, nismo zasnovani za ta primer uporabe.

Naš API vrača jasna sporočila o napakah s specifičnimi kodami napak in opisi. Pogoste težave so dokumentirane z rešitvami v naši dokumentaciji za razvijalce. Če obtičite, lahko naša ekipa za podporo pomaga pri odpravljanju težav z integracijo.

Izvajamo razumne omejitve hitrosti za zagotavljanje stabilnosti sistema za vse stranke. Obstajajo tako dolgoročne omejitve hitrosti kot omejitve sunkov, z vrednostmi, ki bi morale biti več kot dovolj za večino podjetij. Če potrebujete višje omejitve za operacije podjetniške ravni, nas kontaktirajte za razpravo o omejitvi po meri za vaš račun.

Začnite uporabljati DPD Eesti API

Pridobite svoje API poverilnice za začetek integracije

Pridobite svoj API ključ