Documentație API DPD Eesti

Integrat REST API

Referință completă API pentru integrarea expedierii DPD Eesti. Accesează rezervări, tarife de transport, generare etichete și tracking prin API-ul unificat de management al transporturilor Cargoson.

Obține Cheia Ta API

Prezentare generală API DPD Eesti

Acest API oferă acces programatic la serviciile de expediere DPD Eesti prin platforma unificată de management al transporturilor Cargoson. Integrează capabilitățile DPD Eesti incluzând rezervarea expedierii, tracking, oferte de tarife și generarea etichetelor în aplicațiile tale.

Capabilități API

  • Creează și gestionează rezervări de expediere DPD Eesti
  • Tracking expediere și actualizări de status
  • Obține oferte de tarife de transport și timpi de tranzit
  • Generează etichete de expediere în multiple formate (PDF, PNG, ZPL)
  • Creează etichete de retur pentru logistica inversă
  • Interogare locații automate de colete și puncte de ridicare
  • Listează serviciile disponibile ale transportatorului
  • Solicitări automate de ridicare curier

URL de Bază & Autentificare

URL de Bază

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

Autentificare

Toate cererile trebuie să includă cheia ta API și header-ul Accept corect:

Authorization: Bearer CHEIA_TA_API
Accept: application/vnd.api.v1

API Rezervări DPD Eesti

API Direct Transportator

Creează expedieri DPD Eesti și obține etichete de expediere folosind endpoint-ul Queries. Rezervările sunt trimise în sistemul transportatorului în timp real și etichetele sunt generate imediat.

Query vs Rezervare Directă

Endpoint-ul Queries suportă două metode de rezervare:

  • Modul Query - Creează o cerere de transport fără a specifica (încă) un transportator. Acest lucru îți permite să compari manual prețurile și timpii de livrare ai transportatorilor, să solici noi prețuri spot, să faci ajustări/actualizări la expediere și să delegi selecția transportatorului altora, înainte de a face selecția finală a transportatorului în Cargoson.
  • Rezervare directă - Specifică un ID de serviciu al transportatorului (din API-ul Rate sau Services) pentru a rezerva direct cu DPD Eesti. Acest lucru asigură că expedierea ta folosește exact serviciul pe care l-ai selectat.

Pentru a rezerva direct la DPD Eesti, definește întotdeauna direct_booking_service_id.

POST /queries

Creează o interogare de expediere sau rezervare directă pentru DPD Eesti. Includeți direct_booking_service_id pentru a crea o rezervare imediată.

Request Parameters

collection_date string required

Data de ridicare în format AAAA-LL-ZZ

collection_country string required

Codul țării de ridicare (ISO 3166-1 alpha-2)

collection_postcode string required

Codul poștal de ridicare

collection_address_row_1 string required

Adresa stradală de ridicare

collection_city string required

Orașul de ridicare

collection_company_name string required

Numele companiei expeditoare

collection_contact_name string required

Persoana de contact expeditor

collection_contact_phone string required

Numărul de telefon al expeditorului

delivery_country string required

Codul țării de livrare

delivery_postcode string required

Codul poștal de livrare

delivery_address_row_1 string required

Adresa stradală de livrare

delivery_city string required

Orașul de livrare

delivery_company_name string required

Numele companiei destinatare

delivery_contact_name string required

Persoana de contact destinatar

delivery_contact_phone string required

Numărul de telefon al destinatarului

rows_attributes array required

Array de pachete/paleți cu cantitate, tip_pachet, greutate și descriere

options[direct_booking_service_id] integer

ID serviciu DPD Eesti pentru rezervare directă

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

Generare Etichete

Etichetele de expediere DPD Eesti sunt generate automat când creezi o rezervare. Etichetele sunt disponibile în multiple formate pentru a suporta diferite tipuri de imprimante.

Formate de Etichete Suportate

a4 - Format PDF A4 pentru imprimante de birou (4 etichete pe pagină)
label_printer - Format PDF 4x6in (~10x15cm) pentru imprimante termice

Etichetele sunt incluse în răspunsul rezervării prin câmpul label_url. Descarcă și printează eticheta de la URL-ul furnizat după rezervare.

API Tarife DPD Eesti (Prețuri Transport)

Motor Cargoson
Îmbunătățire Cargoson:

DPD Eesti nu oferă un API nativ de tarife. Motorul de tarife de transport Cargoson calculează prețurile folosind acordurile tale de prețuri încărcate, oferindu-ți aceeași experiență API ca transportatorii cu API-uri native de tarife. Poți încărca tarifele transportatorilor în orice format (Excel, PDF, chiar liste de prețuri scrise de mână) și le vom digitaliza.

Obține tarife de transport DPD Eesti în timp real înainte de rezervare. API-ul Rate returnează serviciile disponibile, prețurile și timpii estimați de livrare.

POST /freightPrices/list

Obține oferte de tarife de transport de la DPD Eesti și alți transportatori activați pe contul tău.

Request Parameters

collection_date string required

Data de ridicare în format AAAA-LL-ZZ

collection_country string required

Codul țării de ridicare (ISO 3166-1 alpha-2)

collection_postcode string required

Codul poștal de ridicare

delivery_country string required

Codul țării de livrare

delivery_postcode string required

Codul poștal de livrare

rows_attributes array required

Array de pachete/paleți cu cantitate, tip_pachet, greutate și descriere

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

API Tracking DPD Eesti

API Direct Transportator

Urmărește expedierile DPD Eesti folosind numărul de referință Cargoson. Obține statusul curent, actualizări de locație și timpul estimat de livrare.

GET /bookings/{reference}

Obține detalii de tracking pentru o expediere DPD Eesti folosind referința de rezervare Cargoson.

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

API Etichete de Retur DPD Eesti

API Direct Transportator

Generează etichete de expediere retur pentru expedierile DPD Eesti. Etichetele de retur permit clienților să trimită înapoi articole folosind expediere prepaid.

POST /bookings/{reference}/return_labels

Creează o etichetă de retur pentru o expediere DPD Eesti existentă.

Request Parameters

label_format string

Format etichetă: a4 sau label_printer (implicit: 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"
}

Caracteristici Etichete de Retur

  • Etichete de expediere retur prepaid
  • Aceleași opțiuni de format ca etichetele de ieșire (A4, termică)
  • Referință de tracking separată pentru retururi
  • Integrare perfectă cu serviciile de retur DPD Eesti

Solicitări Curier DPD Eesti

API Direct Transportator

Cargoson automatizează solicitările de ridicare curier pentru expedierile DPD Eesti, ceea ce înseamnă o sarcină mai puțin la care trebuie să te gândești.

Cum Gestionează Cargoson Solicitările de Curier

Mulți transportatori de expediere necesită să creezi etichete separat și apoi să soliciți manual ridicarea de către curier. Alții nu au un sistem separat de etichetă plus apel curier, și fiecare expediere este o expediere completă, separată. Credem că ar trebui să existe un standard unic pentru API-urile transportatorilor, dar în prezent, fiecare transportator creează propriul sistem unic, ceea ce face dificil pentru utilizatorii lor să își amintească particularitățile și complexitățile fiecăruia. Cargoson simplifică apelurile tale de curier tratând fiecare expediere holistic: solicitările de curier sunt gestionate automat ca parte a procesului de rezervare.

Optimizare Inteligentă a Ridicării

Cargoson optimizează apelurile de curier pentru a reduce costurile și a îmbunătăți eficiența.

  • 1. Consolidare în loturi - Multiple expedieri din aceeași locație sunt grupate într-o singură solicitare de ridicare
  • 2. Gestionare specifică transportatorului - Unii transportatori includ ridicarea în rezervare, alții necesită solicitări separate. Cargoson gestionează automat ambele variante pentru tine
  • 3. Programe regulate de ridicare - Configurează ridicări preprogramate la intervale specifice (de ex., zilnic la depozitul meu principal la ora 15:00) și Cargoson va omite complet apelurile individuale de curier

Beneficii

  • Nu este nevoie să urmărești care transportatori necesită solicitări separate de curier
  • Optimizarea automată previne apelurile de ridicare inutile
  • Suport pentru programe regulate de ridicare
  • Flux de lucru simplificat de expediere - doar creează rezervarea

Configurare

Automatizarea ridicării de către curier este activată implicit pentru toate expedierile DPD Eesti. Pentru a configura programe regulate de ridicare sau reguli personalizate de optimizare a ridicării, contactează [email protected].

API Automate de Colete DPD Eesti

API Direct Transportator

Interogare locații disponibile de automate de colete și puncte de ridicare DPD Eesti. Folosește acest endpoint pentru a arăta clienților o listă de automate de colete din apropiere în timpul finalizării comenzii.

GET /parcelMachines

Caută automate de colete și puncte de ridicare DPD Eesti după locație sau cod poștal.

Request Parameters

country string required

Codul țării (ISO 3166-1 alpha-2)

postcode string

Filtrare după cod poștal

carrier_id integer

Filtrare după transportator specific

reference string

Găsește automat de colete specific după referință

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

API Servicii DPD Eesti

Motor Cargoson
Îmbunătățire Cargoson:

API-ul Services este o caracteristică oferită de Cargoson care returnează o listă unificată a tuturor serviciilor disponibile de la DPD Eesti și alți transportatori din rețeaua ta. Acest lucru îți permite să afișezi dinamic opțiuni de expediere clienților tăi fără a codifica fix ID-urile de servicii.

Obține o listă a serviciilor de expediere DPD Eesti disponibile. Folosește ID-urile de servicii când faci rezervări directe pentru a te asigura că obții exact serviciul pe care îl dorești.

GET /services/list

Returnează lista serviciilor DPD Eesti disponibile pe contul companiei tale.

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

Folosirea ID-urilor de Servicii

ID-urile de servicii din acest endpoint pot fi folosite cu parametrul direct_booking_service_id când creezi rezervări pentru a selecta serviciul potrivit și a trimite expedierea în sistemul DPD Eesti.

Exemple Complete de Cod

Mai jos sunt exemple complete funcționale care arată întregul flux de lucru: obține tarife, selectează un serviciu, rezervă expediere și extrage informații de tracking.

# 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

De ce să folosești API-ul Cargoson pentru integrarea DPD Eesti

Integrarea directă cu API-ul nativ DPD Eesti înseamnă să te lupți cu documentația specifică transportatorului, să gestionezi formate de date unice și să menții cod separat pentru fiecare furnizor. Cargoson oferă un singur API RESTful unificat care suportă DPD Eesti și 2.000+ transportatori pe piețele europene și nord-americane, cu noi integrări adăugate săptămânal. Reducem timpul de dezvoltare de la luni la zile, gestionăm actualizările transportatorilor automat și gestionăm excepțiile regionale. Cu Cargoson, te concentrezi pe creșterea afacerii tale în loc să gestionezi complexitățile tehnice ale transportatorilor.

Beneficiile integrării DPD Eesti prin API-ul Cargoson

Un API pentru toți transportatorii

Înlocuiește zeci de integrări separate de transportatori cu o singură conexiune la DPD Eesti și 2.000+ alți furnizori prin API-ul Cargoson. Nu mai este nevoie să menții multiple sisteme de autentificare, să gestionezi formate de date diferite sau să actualizezi codul când transportatorii își schimbă endpoint-urile.

Documentație clară și suport

Accesează documentație API clară cu exemple de cod funcționale, descrieri detaliate ale parametrilor și endpoint-uri clar definite. Echipa noastră de suport cunoaște industria logistică și te poate ajuta să rezolvi rapid provocările de integrare.

Exemple de cod în multiple limbaje

Începe imediat cu exemple de cod gata de utilizare în cURL, JavaScript, Python, PHP și Ruby. Copiază, lipește și adaptează-le la stack-ul tău, fără a fi nevoie să descoperi autentificarea, formatarea cererilor sau gestionarea erorilor de la zero.

Suport real de la experți în logistică

Primește ajutor de la oameni care înțeleg expedierea, nu doar API-uri. Fie că depanezi o problemă de integrare sau ai nevoie de sfaturi despre cea mai bună modalitate de a gestiona expedierile internaționale, echipa noastră este aici să te ajute.

Cel mai avansat motor de prețuri de transport din lume

API-ul de prețuri de transport Cargoson merge mult dincolo de simple căutări de tarife. Motorul nostru poate citi, analiza și digitaliza orice listă de prețuri a transportatorului indiferent de format sau structură, făcându-l cea mai puternică soluție de management al tarifelor de transport din industria logistică.

Suport universal pentru formate

Motorul nostru de prețuri de transport gestionează orice format: fișiere Excel structurate, PDF-uri complexe, text liber sau chiar liste de prețuri scrise de mână. Încarcă contractele tale cu transportatorii în orice format, iar motorul nostru de tarife de transport va analiza automat regulile de prețuri, suprataxele și condițiile.

Integrare directă API transportator

Pentru transportatorii cu sisteme moderne (de obicei transportatori globali de colete și companii de transport orientate spre tehnologie), extragem tarifele direct din API-urile lor în timp real. Acest lucru asigură că obții întotdeauna cele mai actuale prețuri fără actualizări manuale.

Prețuri publice online

Nu ai încă un contract cu un transportator? Nicio problemă. Cargoson poate extrage prețuri publice online de la transportatori, permițându-ți să compari opțiunile chiar înainte de a stabili acorduri formale.

Solicitări de tarife spot

Pentru expedieri complexe sau cazuri speciale, solicită tarife spot unde transportatorii revizuiesc cerințele tale specifice și oferă o ofertă personalizată. Toate gestionate prin același API unificat.

API de expediere DPD Eesti: Automatizare logistică simplificată

Automatizează procesul tău de îndeplinire integrând API-ul de Expediere Cargoson cu DPD Eesti și 2.000+ transportatori la nivel mondial. Creează etichete de expediere, rezervă ridicări și gestionează toți transportatorii tăi de pe o singură platformă, păstrând în același timp tarifele tale negociate cu fiecare furnizor.

Generare automată de etichete

Generează etichete de expediere aprobate de transportator într-o singură cerere API. Suport pentru multiple formate de etichete (A4, imprimantă termică) și documentație vamală automată pentru expedierile internaționale înseamnă mai puțină muncă manuală și mai puține erori de expediere.

Comparare tarife în timp real

Compară tarifele live între DPD Eesti și ceilalți transportatori activați pentru a alege cea mai bună opțiune pe baza costului, vitezei și nivelului de serviciu.

Păstrează tarifele tale negociate

Conectează contul tău existent DPD Eesti pentru a păstra tarifele tale de expediere negociate. Cargoson oferă pur și simplu integrarea tehnică: păstrezi relațiile tale directe cu transportatorii și acordurile de prețuri personalizate.

Securitate de nivel enterprise pentru integrarea API DPD Eesti

Infrastructura API Cargoson îndeplinește standardele de conformitate europene, care asigură integrarea DPD Eesti sigură și pregătită pentru audit pentru afacerea ta:

  • Gestionare și stocare a datelor conformă GDPR în toată Europa
  • Management al securității informațiilor certificat ISO 27001
  • Criptare end-to-end pentru toate comunicările API

Gata să integrezi expedierea DPD Eesti în platforma ta?

Rezervă un demo pentru a vedea cum API-ul unificat Cargoson poate simplifica operațiunile tale logistice

Rezervă un Demo

Întrebări Frecvente

Cargoson este un TMS (Sistem de Management al Transporturilor) pentru producătorii europeni și nord-americani. Viziunea noastră centrală este simplitatea: integrează orice și toți transportatorii și modurile de transport (rutier, colete, aerian, maritim, feroviar) într-o singură fereastră și un singur API. Fie că expediezi paleți în Europa sau containere peste mări, gestionează totul de pe o singură platformă.

Începerea este simplă. Mai întâi, înregistrează-te pentru un cont Cargoson și obține cheia ta API. Apoi conectează contul tău DPD Eesti în panoul de control Cargoson. Odată ce ai făcut asta, poți începe să faci cereri API folosind documentația și exemplele noastre de cod. Întreaga configurare durează de obicei mai puțin de o oră.

Da, vei avea nevoie de propriul tău cont DPD Eesti pentru a folosi serviciile DPD Eesti prin Cargoson. Acest lucru asigură că păstrezi tarifele tale negociate și menții relația ta directă cu DPD Eesti. Cargoson oferă pur și simplu stratul de integrare tehnică care face mai ușor să lucrezi cu DPD Eesti și alți transportatori printr-un singur API unificat.

Cargoson operează pe un model transparent de abonament lunar fără taxe pe expediere sau comisioane, niciodată. Planul tău include acces API, documentație, suport și actualizări automate când transportatorii își schimbă sistemele. Plătești DPD Eesti direct pentru expediere la tarifele tale negociate. Fără costuri ascunse, fără surprize.

Absolut! Acesta este principalul beneficiu al folosirii Cargoson. Odată ce integrezi API-ul nostru, poți lucra cu DPD Eesti și 2.000+ alți transportatori folosind aceleași endpoint-uri, autentificare și formate de date. Adaugă noi transportatori fără a scrie cod nou de integrare, doar activează-i în panoul tău de control Cargoson.

Da! Integrăm orice transportator de care ai nevoie fără cost suplimentar. Acest lucru este inclus în abonamentul tău Cargoson. Doar prezintă-ne contactele tale de la transportator și vom gestiona integrarea tehnică. Noi integrări sunt adăugate zilnic pe baza solicitărilor clienților.

Da, putem configura webhook-uri pentru a notifica sistemul tău pe baza evenimentelor și declanșatorilor din Cargoson, cum ar fi actualizări de status ale expedierii, confirmări de rezervare sau modificări ale expedierii tale. Contactează echipa noastră de suport sau rezervă un demo pentru a discuta cerințele și configurarea webhook-urilor tale.

Cargoson ar putea fi exagerat dacă ești o companie mică care expediază doar de câteva ori pe lună cu un singur transportator. Probabil poți gestiona acele expedieri bine fără un TMS. De asemenea, nu suntem potriviți dacă ești un transportator sau expeditor de mărfuri. Cargoson este construit specific pentru proprietarii beneficiari de marfă (BCO) precum producătorii și distribuitorii care dețin bunurile expediate. Dacă cauți un TMS pentru a gestiona afacerea ta de expediere sau operațiunile de transportator, nu suntem proiectați pentru acel caz de utilizare.

API-ul nostru returnează mesaje de eroare clare cu coduri de eroare specifice și descrieri. Problemele comune sunt documentate cu soluții în documentația noastră pentru dezvoltatori. Dacă rămâi blocat, echipa noastră de suport poate ajuta la depanarea problemelor de integrare.

Implementăm limite de rată rezonabile pentru a asigura stabilitatea sistemului pentru toți clienții. Există atât limite de rată pe termen lung, cât și limite de burst, cu valori care ar trebui să fie mai mult decât suficiente pentru majoritatea afacerilor. Dacă ai nevoie de limite mai mari pentru operațiuni la scară enterprise, contactează-ne pentru a discuta limite de rată personalizate pentru contul tău.

Începe să Folosești API-ul DPD Eesti

Obține credențialele tale API pentru a începe integrarea

Obține Cheia Ta API