DPD Eesti API dokumentācija

Integrēts REST API

Pilnīga API dokumentācija DPD Eesti piegāžu integrācijai. Piekļūstiet rezervācijām, kravas cenām, etiķešu ģenerēšanai un izsekošanai caur Cargoson vienoto transporta vadības API.

Saņemiet savu API atslēgu

DPD Eesti API pārskats

Šis API nodrošina programmisku piekļuvi DPD Eesti piegāžu pakalpojumiem caur Cargoson vienoto transporta vadības platformu. Integrējiet DPD Eesti iespējas, ieskaitot sūtījumu rezervācijas, izsekošanu, cenu piedāvājumus un etiķešu ģenerēšanu savās lietotnēs.

API iespējas

  • Izveidojiet un pārvaldiet DPD Eesti sūtījumu rezervācijas
  • Sūtījumu izsekošana un statusa atjauninājumi
  • Saņemiet kravas cenu piedāvājumus un piegādes laikus
  • Ģenerējiet piegādes etiķetes vairākos formātos (PDF, PNG, ZPL)
  • Izveidojiet atgriešanas etiķetes reversajai loģistikai
  • Vaicājiet pakomātu un saņemšanas punktu atrašanās vietas
  • Skatiet pieejamos pārvadātāja pakalpojumus
  • Automātisks kurjera izsaukums

Bāzes URL un autentifikācija

Bāzes URL

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

Autentifikācija

Visiem pieprasījumiem jāietver jūsu API atslēga un pareizais Accept galvenes lauks:

Authorization: Bearer JŪSU_API_ATSLĒGA
Accept: application/vnd.api.v1

DPD Eesti rezervācijas API

Tiešais pārvadātāja API

Izveidojiet DPD Eesti sūtījumus un saņemiet piegādes etiķetes, izmantojot Queries galapunktu. Rezervācijas tiek nosūtītas uz pārvadātāja sistēmu reāllaikā un etiķetes tiek ģenerētas nekavējoties.

Pieprasījums vs tiešā rezervācija

Queries galapunkts atbalsta divus rezervācijas veidus:

  • Pieprasījuma režīms - Izveidojiet transporta pieprasījumu, nenorādot pārvadātāju (vēl). Tas ļauj jums manuāli salīdzināt pārvadātāju cenas un piegādes laikus, pieprasīt jaunas spot cenas, veikt izmaiņas/atjauninājumus sūtījumā un deleģēt pārvadātāja izvēli citiem, pirms veicat galīgo pārvadātāja izvēli Cargoson.
  • Tiešā rezervācija - Norādiet pārvadātāja pakalpojuma ID (no Rate vai Services API), lai rezervētu tieši ar DPD Eesti. Tas nodrošina, ka jūsu sūtījums izmanto precīzi jūsu izvēlēto pakalpojumu.

Lai rezervētu tieši ar DPD Eesti, vienmēr definējiet direct_booking_service_id.

POST /queries

Izveidojiet sūtījuma pieprasījumu vai tiešo rezervāciju DPD Eesti. Iekļaujiet direct_booking_service_id, lai izveidotu tūlītēju rezervāciju.

Request Parameters

collection_date string required

Savākšanas datums formātā GGGG-MM-DD

collection_country string required

Savākšanas valsts kods (ISO 3166-1 alpha-2)

collection_postcode string required

Savākšanas pasta indekss

collection_address_row_1 string required

Savākšanas ielas adrese

collection_city string required

Savākšanas pilsēta

collection_company_name string required

Sūtītāja uzņēmuma nosaukums

collection_contact_name string required

Sūtītāja kontaktpersona

collection_contact_phone string required

Sūtītāja tālruņa numurs

delivery_country string required

Piegādes valsts kods

delivery_postcode string required

Piegādes pasta indekss

delivery_address_row_1 string required

Piegādes ielas adrese

delivery_city string required

Piegādes pilsēta

delivery_company_name string required

Saņēmēja uzņēmuma nosaukums

delivery_contact_name string required

Saņēmēja kontaktpersona

delivery_contact_phone string required

Saņēmēja tālruņa numurs

rows_attributes array required

Iepakojumu/palešu masīvs ar daudzumu, iepakojuma tipu, svaru un aprakstu

options[direct_booking_service_id] integer

DPD Eesti pakalpojuma ID tiešajai rezervācijai

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

Etiķešu ģenerēšana

DPD Eesti piegādes etiķetes tiek automātiski ģenerētas, kad izveidojat rezervāciju. Etiķetes ir pieejamas vairākos formātos, lai atbalstītu dažādus printera tipus.

Atbalstītie etiķešu formāti

a4 - A4 PDF formāts galda printeriem (4 etiķetes lapā)
label_printer - 4x6in (~10x15cm) PDF formāts termālajiem printeriem

Etiķetes ir iekļautas rezervācijas atbildē caur label_url lauku. Lejupielādējiet un izdrukājiet etiķeti no norādītā URL pēc rezervācijas.

DPD Eesti cenu API (kravas cenu noteikšana)

Cargoson dzinējs
Cargoson uzlabojums:

DPD Eesti nesniedz vietējo cenu API. Cargoson kravas cenu dzinējs aprēķina cenas, izmantojot jūsu augšupielādētos cenu līgumus, nodrošinot jums to pašu API pieredzi kā pārvadātājiem ar vietējiem cenu API. Jūs varat augšupielādēt pārvadātāju likmes jebkurā formātā (Excel, PDF, pat rokrakstā rakstītus cenrāžus) un mēs tos digitalizēsim.

Saņemiet reāllaika DPD Eesti kravas cenas pirms rezervācijas. Rate API atgriež pieejamos pakalpojumus, cenas un paredzamos piegādes laikus.

POST /freightPrices/list

Saņemiet kravas cenu piedāvājumus no DPD Eesti un citiem aktivizētajiem pārvadātājiem jūsu kontā.

Request Parameters

collection_date string required

Savākšanas datums formātā GGGG-MM-DD

collection_country string required

Savākšanas valsts kods (ISO 3166-1 alpha-2)

collection_postcode string required

Savākšanas pasta indekss

delivery_country string required

Piegādes valsts kods

delivery_postcode string required

Piegādes pasta indekss

rows_attributes array required

Iepakojumu/palešu masīvs ar daudzumu, iepakojuma tipu, svaru un aprakstu

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 izsekošanas API

Tiešais pārvadātāja API

Izsekojiet DPD Eesti sūtījumus, izmantojot Cargoson atsauces numuru. Saņemiet pašreizējo statusu, atrašanās vietas atjauninājumus un paredzamo piegādes laiku.

GET /bookings/{reference}

Saņemiet izsekošanas informāciju DPD Eesti sūtījumam, izmantojot Cargoson rezervācijas atsauci.

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 atgriešanas etiķešu API

Tiešais pārvadātāja API

Ģenerējiet atgriešanas piegādes etiķetes DPD Eesti sūtījumiem. Atgriešanas etiķetes ļauj klientiem nosūtīt preces atpakaļ, izmantojot priekšapmaksas piegādi.

POST /bookings/{reference}/return_labels

Izveidojiet atgriešanas etiķeti esošam DPD Eesti sūtījumam.

Request Parameters

label_format string

Etiķetes formāts: a4 vai label_printer (noklusējums: 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"
}

Atgriešanas etiķetes funkcijas

  • Priekšapmaksas atgriešanas piegādes etiķetes
  • Tādas pašas formāta opcijas kā izejošajām etiķetēm (A4, termālais)
  • Atsevišķa izsekošanas atsauce atgriešanām
  • Netraucēta integrācija ar DPD Eesti atgriešanas pakalpojumiem

DPD Eesti kurjera izsaukumi

Tiešais pārvadātāja API

Cargoson automatizē kurjera izsaukumus DPD Eesti sūtījumiem, kas padara to par vienu mazāku uzdevumu, par ko jums jādomā.

Kā Cargoson apstrādā kurjera izsaukumus

Daudzi piegādes pārvadātāji pieprasa, lai jūs izveidotu etiķetes atsevišķi un pēc tam manuāli pieprasītu kurjera savākšanu. Citiem nav atsevišķas etiķetes plus kurjera izsaukuma sistēmas, un katrs sūtījums ir pilnīgs, atsevišķs sūtījums. Mēs uzskatām, ka pārvadātāju API vajadzētu būt vienotam standartam, bet pašlaik katrs pārvadātājs izveido savu unikālo sistēmu, kas apgrūtina viņu lietotājiem atcerēties katra īpatnības un sarežģītības. Cargoson vienkāršo jūsu kurjera izsaukumus, apstrādājot katru sūtījumu holistiski: kurjera izsaukumi tiek automātiski pārvaldīti kā daļa no rezervācijas procesa.

Viedā savākšanas optimizācija

Cargoson optimizē kurjera izsaukumus, lai samazinātu izmaksas un uzlabotu efektivitāti.

  • 1. Partijas konsolidācija - Vairāki sūtījumi no vienas atrašanās vietas tiek grupēti vienā savākšanas pieprasījumā
  • 2. Pārvadātājam specifiska apstrāde - Daži pārvadātāji iekļauj savākšanu rezervācijā, citiem nepieciešami atsevišķi pieprasījumi. Cargoson automātiski apstrādā abas variācijas jūsu vietā
  • 3. Regulāri savākšanas grafiki - Konfigurējiet iepriekš ieplānotas savākšanas noteiktos intervālos (piemēram, katru dienu uz manu galveno noliktavu plkst. 15:00) un Cargoson pilnībā izlaidīs atsevišķus kurjera izsaukumus

Priekšrocības

  • Nav nepieciešams izsekot, kuriem pārvadātājiem nepieciešami atsevišķi kurjera izsaukumi
  • Automātiskā optimizācija novērš nevajadzīgus savākšanas izsaukumus
  • Atbalsts regulāriem savākšanas grafikiem
  • Vienkāršota piegādes darbplūsma - vienkārši izveidojiet rezervāciju

Konfigurācija

Kurjera savākšanas automatizācija ir iespējota pēc noklusējuma visiem DPD Eesti sūtījumiem. Lai konfigurētu regulārus savākšanas grafikus vai pielāgotus savākšanas optimizācijas noteikumus, sazinieties ar [email protected].

DPD Eesti pakomātu API

Tiešais pārvadātāja API

Vaicājiet pieejamos DPD Eesti pakomātu un saņemšanas punktu atrašanās vietas. Izmantojiet šo galapunktu, lai parādītu klientiem tuvāko pakomātu sarakstu norēķinu laikā.

GET /parcelMachines

Meklējiet DPD Eesti pakomātus un saņemšanas punktus pēc atrašanās vietas vai pasta indeksa.

Request Parameters

country string required

Valsts kods (ISO 3166-1 alpha-2)

postcode string

Filtrēt pēc pasta indeksa

carrier_id integer

Filtrēt pēc konkrēta pārvadātāja

reference string

Atrast konkrētu pakomātu pēc atsauces

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

Cargoson dzinējs
Cargoson uzlabojums:

Pakalpojumu API ir Cargoson nodrošināta funkcija, kas atgriež vienotu sarakstu ar visiem pieejamajiem pakalpojumiem no DPD Eesti un citiem pārvadātājiem jūsu tīklā. Tas ļauj jums dinamiski parādīt piegādes opcijas saviem klientiem, nekodējot pakalpojumu ID.

Saņemiet pieejamo DPD Eesti piegādes pakalpojumu sarakstu. Izmantojiet pakalpojumu ID, veicot tiešās rezervācijas, lai nodrošinātu, ka saņemat precīzi vēlamo pakalpojumu.

GET /services/list

Atgrieziet jūsu uzņēmuma kontā pieejamo DPD Eesti pakalpojumu sarakstu.

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

Pakalpojumu ID izmantošana

Pakalpojumu ID no šī galapunkta var izmantot ar direct_booking_service_id parametru, izveidojot rezervācijas, lai izvēlētos pareizo pakalpojumu un nosūtītu sūtījumu uz DPD Eesti sistēmu.

Pilnīgi koda piemēri

Zemāk ir pilnīgi darbojoši piemēri, kas parāda pilnu darbplūsmu: saņemiet cenas, izvēlieties pakalpojumu, rezervējiet piegādi un iegūstiet izsekošanas informāciju.

# 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

Kāpēc izmantot Cargoson API DPD Eesti integrācijai

Integrēšanās tieši ar DPD Eesti vietējo API nozīmē cīņu ar pārvadātājam specifisko dokumentāciju, dažādu datu formātu apstrādi un atsevišķa koda uzturēšanu katram nodrošinātājam. Cargoson piedāvā vienu vienotu RESTful API, kas atbalsta DPD Eesti un 2000+ pārvadātājus Eiropas un Ziemeļamerikas tirgos, ar jaunām integrācijām, kas tiek pievienotas katru nedēļu. Mēs samazinām izstrādes laiku no mēnešiem līdz dienām, automātiski apstrādājam pārvadātāju atjauninājumus un pārvaldām reģionālās izņēmuma situācijas. Ar Cargoson jūs koncentrējaties uz sava biznesa attīstību, nevis pārvadātāju tehnisko sarežģītību pārvaldību.

DPD Eesti integrācijas priekšrocības caur Cargoson API

Viens API visiem pārvadātājiem

Aizstājiet desmitiem atsevišķu pārvadātāju integrāciju ar vienu savienojumu ar DPD Eesti un 2000+ citiem nodrošinātājiem caur Cargoson API. Vairs nav jāuztur vairākas autentifikācijas sistēmas, jāapstrādā dažādi datu formāti vai jāatjaunina kods, kad pārvadātāji maina savus galapunktus.

Skaidra dokumentācija un atbalsts

Piekļūstiet vienkāršai API dokumentācijai ar darbojoša koda piemēriem, detalizētiem parametru aprakstiem un skaidri definētiem galapunktiem. Mūsu atbalsta komanda pārzina loģistikas nozari un var palīdzēt jums ātri atrisināt integrācijas problēmas.

Koda piemēri vairākās valodās

Sāciet nekavējoties ar gataviem koda piemēriem cURL, JavaScript, Python, PHP un Ruby. Kopējiet, ielīmējiet un pielāgojiet tos savam stekam, nav nepieciešams izdomāt autentifikāciju, pieprasījuma formatēšanu vai kļūdu apstrādi no nulles.

Reāls atbalsts no loģistikas ekspertiem

Saņemiet palīdzību no cilvēkiem, kas saprot piegādi, ne tikai API. Neatkarīgi no tā, vai novēršat integrācijas problēmu vai jums nepieciešami padomi par labāko veidu, kā apstrādāt starptautiskos sūtījumus, mūsu komanda ir šeit, lai palīdzētu.

Pasaules vismodernākā kravas cenu noteikšanas dzinējs

Cargoson kravas cenu API iet tālu pāri vienkāršai cenu meklēšanai. Mūsu dzinējs var lasīt, analizēt un digitalizēt jebkuru pārvadātāja cenrādi neatkarīgi no formāta vai struktūras, padarot to par visspēcīgāko kravas cenu pārvaldības risinājumu loģistikas nozarē.

Universāls formāta atbalsts

Mūsu kravas cenu dzinējs apstrādā jebkuru formātu: strukturētus Excel failus, sarežģītus PDF, brīvu tekstu vai pat rokrakstā rakstītus cenrāžus. Augšupielādējiet savus pārvadātāju līgumus jebkurā formātā, un mūsu kravas cenu dzinējs automātiski parsēs cenu noteikšanas noteikumus, papildmaksas un nosacījumus.

Tiešā pārvadātāja API integrācija

Pārvadātājiem ar modernām sistēmām (parasti globālie sīkpaku pārvadātāji un tehnoloģiju orientēti kravas uzņēmumi) mēs iegūstam cenas tieši no viņu API reāllaikā. Tas nodrošina, ka jūs vienmēr saņemat aktuālākās cenas bez manuāliem atjauninājumiem.

Publiskās tiešsaistes cenas

Vēl nav līguma ar pārvadātāju? Nav problēmu. Cargoson var iegūt publiskās tiešsaistes cenas no pārvadātājiem, ļaujot jums salīdzināt opcijas pat pirms formālu vienošanos izveidošanas.

Spot cenu pieprasījumi

Sarežģītiem sūtījumiem vai īpašiem gadījumiem pieprasiet spot cenas, kur pārvadātāji pārskata jūsu specifiskās prasības un sniedz pielāgotu piedāvājumu. Viss tiek pārvaldīts caur to pašu vienoto API.

DPD Eesti piegāžu API: Vienkāršota loģistikas automatizācija

Automatizējiet savu izpildes procesu, integrējot Cargoson piegāžu API ar DPD Eesti un 2000+ pārvadātājiem visā pasaulē. Izveidojiet piegādes etiķetes, rezervējiet savākšanas un pārvaldiet visus savus pārvadātājus no vienas platformas, vienlaikus saglabājot savas saskaņotās likmes ar katru nodrošinātāju.

Automatizēta etiķešu ģenerēšana

Ģenerējiet pārvadātāja apstiprinātās piegādes etiķetes vienā API pieprasījumā. Atbalsts vairākiem etiķešu formātiem (A4, termālais printeris) un automātiska muitas dokumentācija starptautiskiem sūtījumiem nozīmē mazāk manuāla darba un mazāk piegādes kļūdu.

Reāllaika cenu salīdzināšana

Salīdziniet reāllaika likmes starp DPD Eesti un jūsu citiem aktivizētajiem pārvadātājiem, lai izvēlētos labāko opciju, pamatojoties uz izmaksām, ātrumu un pakalpojuma līmeni.

Saglabājiet savas saskaņotās likmes

Savienojiet savu esošo DPD Eesti kontu, lai saglabātu savas saskaņotās piegādes likmes. Cargoson vienkārši nodrošina tehnisko integrāciju: jūs saglabājat savas tiešās pārvadātāju attiecības un pielāgotās cenu vienošanās.

Uzņēmuma līmeņa drošība DPD Eesti API integrācijai

Cargoson API infrastruktūra atbilst Eiropas atbilstības standartiem, kas nodrošina drošu, auditam gatavu DPD Eesti integrāciju jūsu biznesam:

  • GDPR atbilstoša datu apstrāde un uzglabāšana visā Eiropā
  • ISO 27001 sertificēta informācijas drošības pārvaldība
  • No gala līdz galam šifrēšana visām API komunikācijām

Gatavs integrēt DPD Eesti piegādi savā platformā?

Rezervējiet demonstrāciju, lai redzētu, kā Cargoson vienotais API var vienkāršot jūsu loģistikas operācijas

Rezervēt demonstrāciju

Bieži uzdotie jautājumi

Cargoson ir transporta vadības sistēma (TMS) Eiropas un Ziemeļamerikas ražotājiem. Mūsu galvenā vīzija ir vienkāršība: integrējiet jebkurus un visus pārvadātājus un kravas veidus (autoceļš, sīkpaka, gaiss, jūra, dzelzceļš) vienā logā un vienā API. Neatkarīgi no tā, vai sūtāt paletes pa Eiropu vai konteinerus pāri okeānam, pārvaldiet visu no vienas platformas.

Sākšana ir vienkārša. Vispirms reģistrējieties Cargoson kontam un saņemiet savu API atslēgu. Pēc tam savienojiet savu DPD Eesti kontu Cargoson informācijas panelī. Kad tas ir izdarīts, varat sākt veikt API pieprasījumus, izmantojot mūsu dokumentāciju un koda piemērus. Visa iestatīšana parasti aizņem mazāk nekā stundu.

Jā, jums būs nepieciešams savs DPD Eesti konts, lai izmantotu DPD Eesti pakalpojumus caur Cargoson. Tas nodrošina, ka jūs saglabājat savas saskaņotās likmes un uzturēt savas tiešās attiecības ar DPD Eesti. Cargoson vienkārši nodrošina tehnisko integrācijas slāni, kas atvieglo darbu ar DPD Eesti un citiem pārvadātājiem caur vienu vienotu API.

Cargoson darbojas ar pārredzamu mēneša abonēšanas modeli bez maksas par sūtījumu vai komisijas maksām, nekad. Jūsu plānā ir iekļauta API piekļuve, dokumentācija, atbalsts un automātiski atjauninājumi, kad pārvadātāji maina savas sistēmas. Jūs maksājat DPD Eesti tieši par piegādi par savām saskaņotajām likmēm. Nav slēptu izmaksu, nav pārsteigumu.

Absolūti! Tā ir galvenā Cargoson izmantošanas priekšrocība. Kad esat integrējis mūsu API, varat strādāt ar DPD Eesti un 2000+ citiem pārvadātājiem, izmantojot tos pašus galapunktus, autentifikāciju un datu formātus. Pievienojiet jaunus pārvadātājus, nerakstot jaunu integrācijas kodu, vienkārši aktivizējiet tos savā Cargoson informācijas panelī.

Jā! Mēs integrējam jebkuru pārvadātāju, kas jums nepieciešams, bez papildu maksas. Tas ir iekļauts jūsu Cargoson abonementā. Vienkārši iepazīstiniet mūs ar savu pārvadātāju kontaktiem, un mēs apstrādāsim tehnisko integrāciju. Jaunas integrācijas tiek pievienotas katru dienu, pamatojoties uz klientu pieprasījumiem.

Jā, mēs varam iestatīt webhook'us, lai paziņotu jūsu sistēmai, pamatojoties uz notikumiem un triggeriem Cargoson, piemēram, sūtījuma statusa atjauninājumiem, rezervācijas apstiprinājumiem vai izmaiņām jūsu sūtījumos. Sazinieties ar mūsu atbalsta komandu vai rezervējiet demonstrāciju, lai apspriestu savus webhook prasības un iestatīšanu.

Cargoson varētu būt pārāk daudz, ja esat mazs uzņēmums, kas sūta tikai dažas reizes mēnesī ar vienu pārvadātāju. Jūs, iespējams, varat pārvaldīt šos sūtījumus labi bez TMS. Mēs arī neesam pareizā izvēle, ja esat pārvadātājs vai kravas ekspeditors. Cargoson ir izveidots īpaši labvēlīgiem kravu īpašniekiem (BCO) kā ražotājiem un izplatītājiem, kas pieder sūtāmajām precēm. Ja meklējat TMS, lai pārvaldītu savu ekspedīcijas biznesu vai pārvadātāja operācijas, mēs neesam paredzēti šim lietošanas gadījumam.

Mūsu API atgriež skaidrus kļūdu ziņojumus ar konkrētiem kļūdu kodiem un aprakstiem. Izplatītas problēmas ir dokumentētas ar risinājumiem mūsu izstrādātāju dokumentācijā. Ja jūs iestrēgstat, mūsu atbalsta komanda var palīdzēt novērst integrācijas problēmas.

Mēs ieviešam saprātīgus ierobežojumus, lai nodrošinātu sistēmas stabilitāti visiem klientiem. Ir gan ilgtermiņa ierobežojumi, gan burst ierobežojumi ar vērtībām, kas vajadzētu būt vairāk nekā pietiekami lielākajai daļai uzņēmumu. Ja jums nepieciešami augstāki ierobežojumi uzņēmuma mēroga operācijām, sazinieties ar mums, lai apspriestu pielāgotus ierobežojumus jūsu kontam.

Sāciet izmantot DPD Eesti API

Saņemiet savus API akreditācijas datus, lai sāktu integrāciju

Saņemiet savu API atslēgu