DPD Eesti API документация

Интегриран REST API

Пълна API справка за DPD Eesti интеграция на доставка. Достъп до резервации, товарни цени, генериране на етикети и проследяване чрез единния API за управление на транспорта на Cargoson.

Вземете вашия API ключ

DPD Eesti API преглед

Този API предоставя програмен достъп до DPD Eesti услуги за доставка чрез единната платформа за управление на транспорта на Cargoson. Интегрирайте DPD Eesti възможности, включително резервация на пратки, проследяване, ценови оферти и генериране на етикети във вашите приложения.

API възможности

  • Създавайте и управлявайте DPD Eesti резервации на пратки
  • Проследяване на пратки и актуализации на статуса
  • Получавайте ценови оферти за товарни цени и времена за доставка
  • Генерирайте етикети за доставка в множество формати (PDF, PNG, ZPL)
  • Създавайте етикети за връщане за обратна логистика
  • Запитвайте местоположения на пакетомати и пунктове за получаване
  • Списък на налични услуги на превозвача
  • Автоматизирани заявки за куриерско вземане

Базов URL и удостоверяване

Базов URL

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

Удостоверяване

Всички заявки трябва да включват вашия API ключ и правилния Accept хедър:

Authorization: Bearer ВАШ_API_КЛЮЧ
Accept: application/vnd.api.v1

DPD Eesti API за резервации

Директен API на превозвача

Създавайте DPD Eesti пратки и получавайте етикети за доставка, използвайки крайната точка Queries. Резервациите се изпращат до системата на превозвача в реално време и етикетите се генерират незабавно.

Заявка срещу директна резервация

Крайната точка Queries поддържа два метода за резервация:

  • Режим на заявка - Създайте заявка за транспорт без да посочвате превозвач (все още). Това ви позволява ръчно да сравнявате цени и времена за доставка на превозвачи, да заявявате нови spot цени, да правите корекции/актуализации на пратката и да делегирате избора на превозвач на други, преди да направите окончателния избор на превозвач в Cargoson.
  • Директна резервация - Посочете ID на услуга на превозвача (от Rate или Services API), за да резервирате директно с DPD Eesti. Това гарантира, че вашата пратка използва точно избраната от вас услуга.

За да резервирате директно при DPD Eesti, винаги дефинирайте direct_booking_service_id.

POST /queries

Създайте заявка за пратка или директна резервация за DPD Eesti. Включете direct_booking_service_id, за да създадете незабавна резервация.

Request Parameters

collection_date string required

Дата на вземане във формат ГГГГ-ММ-ДД

collection_country string required

Код на държава за вземане (ISO 3166-1 alpha-2)

collection_postcode string required

Пощенски код за вземане

collection_address_row_1 string required

Адрес на улица за вземане

collection_city string required

Град за вземане

collection_company_name string required

Име на фирма на изпращача

collection_contact_name string required

Контактно лице на изпращача

collection_contact_phone string required

Телефонен номер на изпращача

delivery_country string required

Код на държава за доставка

delivery_postcode string required

Пощенски код за доставка

delivery_address_row_1 string required

Адрес на улица за доставка

delivery_city string required

Град за доставка

delivery_company_name string required

Име на фирма на получателя

delivery_contact_name string required

Контактно лице на получателя

delivery_contact_phone string required

Телефонен номер на получателя

rows_attributes array required

Масив от пакети/палети с количество, тип опаковка, тегло и описание

options[direct_booking_service_id] integer

DPD Eesti ID на услуга за директна резервация

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

Генериране на етикети

DPD Eesti етикетите за доставка се генерират автоматично, когато създадете резервация. Етикетите са налични в множество формати, за да поддържат различни типове принтери.

Поддържани формати на етикети

a4 - A4 PDF формат за настолни принтери (4 етикета на страница)
label_printer - 4x6in (~10x15cm) PDF формат за термопринтери

Етикетите са включени в отговора на резервацията чрез полето label_url. Изтеглете и отпечатайте етикета от предоставения URL след резервацията.

DPD Eesti API за цени (ценообразуване на товари)

Cargoson двигател
Подобрение на Cargoson:

DPD Eesti не предоставя нативен API за цени. Двигателят за товарни цени на Cargoson изчислява цените, използвайки вашите качени ценови споразумения, предоставяйки ви същото API изживяване като превозвачите с нативни API за цени. Можете да качите цени на превозвачи във всякакъв формат (Excel, PDF, дори ръкописни ценоразписи) и ние ще ги дигитализираме.

Получавайте DPD Eesti товарни цени в реално време преди резервация. Rate API връща налични услуги, цени и прогнозни времена за доставка.

POST /freightPrices/list

Получете ценови оферти за товарни цени от DPD Eesti и други активирани превозвачи във вашия акаунт.

Request Parameters

collection_date string required

Дата на вземане във формат ГГГГ-ММ-ДД

collection_country string required

Код на държава за вземане (ISO 3166-1 alpha-2)

collection_postcode string required

Пощенски код за вземане

delivery_country string required

Код на държава за доставка

delivery_postcode string required

Пощенски код за доставка

rows_attributes array required

Масив от пакети/палети с количество, тип опаковка, тегло и описание

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 за проследяване

Директен API на превозвача

Проследявайте DPD Eesti пратки, използвайки референтния номер на Cargoson. Получавайте текущ статус, актуализации на местоположението и прогнозно време за доставка.

GET /bookings/{reference}

Извлечете детайли за проследяване на DPD Eesti пратка, използвайки референцията на резервацията на 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"
}

DPD Eesti API за етикети за връщане

Директен API на превозвача

Генерирайте етикети за връщане на доставка за DPD Eesti пратки. Етикетите за връщане позволяват на клиентите да изпращат артикули обратно, използвайки предплатена доставка.

POST /bookings/{reference}/return_labels

Създайте етикет за връщане за съществуваща DPD Eesti пратка.

Request Parameters

label_format string

Формат на етикет: a4 или label_printer (по подразбиране: 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"
}

Функции на етикет за връщане

  • Предплатени етикети за връщане на доставка
  • Същите опции за формат като изходящите етикети (A4, термопринтер)
  • Отделна референция за проследяване за връщания
  • Безпроблемна интеграция с DPD Eesti услуги за връщане

DPD Eesti заявки за куриер

Директен API на превозвача

Cargoson автоматизира заявките за куриерско вземане за DPD Eesti пратки, което прави това една задача по-малко, за която трябва да мислите.

Как Cargoson обработва заявките за куриер

Много превозвачи изискват да създавате етикети отделно и след това ръчно да заявявате куриерско вземане. Други нямат отделна система за етикети плюс куриерско обаждане и всяка пратка е пълна, отделна пратка. Ние вярваме, че трябва да има единен стандарт за API на превозвачите, но в момента всеки превозвач създава своя собствена уникална система, което затруднява потребителите им да запомнят особеностите и сложностите на всеки. Cargoson опростява вашите куриерски обаждания, като третира всяка пратка холистично: заявките за куриер се управляват автоматично като част от процеса на резервация.

Интелигентна оптимизация на вземане

Cargoson оптимизира куриерските обаждания, за да намали разходите и подобри ефективността.

  • 1. Консолидация на партиди - Множество пратки от едно и също местоположение се групират в една заявка за вземане
  • 2. Специфично за превозвача обработване - Някои превозвачи включват вземането в резервацията, други изискват отделни заявки. Cargoson обработва автоматично и двата варианта за вас
  • 3. Редовни графици за вземане - Конфигурирайте предварително планирани вземания на определени интервали (напр. ежедневно от моя главен склад в 15:00 ч.) и Cargoson ще пропусне изцяло отделните куриерски обаждания

Предимства

  • Не е необходимо да проследявате кои превозвачи изискват отделни заявки за куриер
  • Автоматичната оптимизация предотвратява ненужни обаждания за вземане
  • Поддръжка на редовни графици за вземане
  • Опростен работен процес на доставка - просто създайте резервацията

Конфигурация

Автоматизацията на куриерското вземане е активирана по подразбиране за всички DPD Eesti пратки. За да конфигурирате редовни графици за вземане или персонализирани правила за оптимизация на вземане, свържете се с [email protected].

DPD Eesti API за пакетомати

Директен API на превозвача

Запитвайте налични DPD Eesti местоположения на пакетомати и пунктове за вземане. Използвайте тази крайна точка, за да покажете на клиентите списък с близки пакетомати по време на плащане.

GET /parcelMachines

Търсете DPD Eesti пакетомати и пунктове за вземане по местоположение или пощенски код.

Request Parameters

country string required

Код на държава (ISO 3166-1 alpha-2)

postcode string

Филтриране по пощенски код

carrier_id integer

Филтриране по конкретен превозвач

reference string

Намиране на конкретен пакетомат по референция

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 за услуги

Cargoson двигател
Подобрение на Cargoson:

API за услуги е функция, предоставена от Cargoson, която връща единен списък на всички налични услуги от DPD Eesti и други превозвачи във вашата мрежа. Това ви позволява динамично да показвате опции за доставка на вашите клиенти без да кодирате твърдо ID на услуги.

Извлечете списък на налични DPD Eesti услуги за доставка. Използвайте ID на услуги при правене на директни резервации, за да сте сигурни, че получавате точната услуга, която искате.

GET /services/list

Върнете списък на DPD Eesti услуги, налични във вашия фирмен акаунт.

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

Използване на ID на услуги

ID на услуги от тази крайна точка могат да се използват с параметъра direct_booking_service_id при създаване на резервации, за да изберете правилната услуга и да изпратите пратката до системата на DPD Eesti.

Пълни примери за код

По-долу са пълни работещи примери, показващи целия работен процес: получаване на цени, избор на услуга, резервация на пратка и извличане на информация за проследяване.

# 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

Защо да използвате Cargoson API за DPD Eesti интеграция

Интегрирането директно с нативния API на DPD Eesti означава борба със специфична за превозвача документация, обработка на уникални формати на данни и поддържане на отделен код за всеки доставчик. Cargoson предлага един единен RESTful API, който поддържа DPD Eesti и 2000+ превозвачи на европейските и северноамериканските пазари, като нови интеграции се добавят седмично. Ние намаляваме времето за разработка от месеци на дни, обработваме автоматично актуализациите на превозвачите и управляваме регионалните изключения. С Cargoson се фокусирате върху развитието на вашия бизнес, вместо да управлявате техническите сложности на превозвачите.

Предимства на интегрирането на DPD Eesti чрез Cargoson API

Един API за всички превозвачи

Заменете десетки отделни интеграции на превозвачи с една връзка към DPD Eesti и 2000+ други доставчици чрез Cargoson API. Вече не е необходимо да поддържате множество системи за удостоверяване, да обработвате различни формати на данни или да актуализирате код, когато превозвачите променят своите крайни точки.

Ясна документация и поддръжка

Достъп до ясна API документация с работещи примери за код, подробни описания на параметри и ясно дефинирани крайни точки. Нашият екип за поддръжка познава логистичната индустрия и може да ви помогне да решите предизвикателствата при интеграцията бързо.

Примери за код на множество езици

Започнете незабавно с готови за употреба примери за код в cURL, JavaScript, Python, PHP и Ruby. Копирайте, поставете и адаптирайте към вашия стек, без да е необходимо да измисляте удостоверяване, форматиране на заявки или обработка на грешки от нулата.

Реална поддръжка от експерти по логистика

Получете помощ от хора, които разбират доставката, не само API. Независимо дали отстранявате проблем с интеграцията или се нуждаете от съвет за най-добрия начин за обработка на международни пратки, нашият екип е тук, за да помогне.

Най-усъвършенстваният в света двигател за ценообразуване на товари

API за ценообразуване на товари на Cargoson надхвърля простите справки за цени. Нашият двигател може да чете, анализира и дигитализира всеки ценоразпис на превозвач, независимо от формата или структурата, което го прави най-мощното решение за управление на товарни цени в логистичната индустрия.

Универсална поддръжка на формати

Нашият двигател за ценообразуване на товари обработва всякакъв формат: структурирани Excel файлове, сложни PDF файлове, свободен текст или дори ръкописни ценоразписи. Качете вашите договори с превозвачи във всякакъв формат и нашият двигател за товарни цени ще анализира автоматично правилата за ценообразуване, доплащанията и условията.

Директна интеграция с API на превозвача

За превозвачи с модерни системи (обикновено глобални куриерски превозвачи и технологично напреднали товарни компании) изтегляме цени директно от техните API в реално време. Това гарантира, че винаги получавате най-актуалното ценообразуване без ръчни актуализации.

Публични онлайн цени

Все още нямате договор с превозвач? Няма проблем. Cargoson може да изтегля публични онлайн цени от превозвачи, което ви позволява да сравнявате опции дори преди да установите официални споразумения.

Заявки за spot цени

За сложни пратки или специални случаи заявете spot цени, при които превозвачите преглеждат вашите конкретни изисквания и предоставят персонализирана оферта. Всичко се управлява чрез същия единен API.

DPD Eesti API за доставка: Опростена автоматизация на логистиката

Автоматизирайте вашия процес на изпълнение, като интегрирате API за доставка на Cargoson с DPD Eesti и 2000+ превозвачи по целия свят. Създавайте етикети за доставка, резервирайте вземания и управлявайте всички ваши превозвачи от една платформа, като същевременно запазвате вашите договорени цени с всеки доставчик.

Автоматизирано генериране на етикети

Генерирайте одобрени от превозвача етикети за доставка с една API заявка. Поддръжка на множество формати на етикети (A4, термопринтер) и автоматична митническа документация за международни пратки означава по-малко ръчна работа и по-малко грешки при доставка.

Сравнение на цени в реално време

Сравнявайте цени в реално време между DPD Eesti и вашите други активирани превозвачи, за да изберете най-добрата опция въз основа на цена, скорост и ниво на обслужване.

Запазете вашите договорени цени

Свържете съществуващия си DPD Eesti акаунт, за да запазите вашите договорени цени за доставка. Cargoson просто предоставя техническата интеграция: вие запазвате вашите директни отношения с превозвачите и персонализирани споразумения за цени.

Сигурност от корпоративен клас за DPD Eesti API интеграция

API инфраструктурата на Cargoson отговаря на европейските стандарти за съответствие, които осигуряват сигурна, готова за одит DPD Eesti интеграция за вашия бизнес:

  • Съвместимо с GDPR обработване и съхранение на данни в цяла Европа
  • ISO 27001 сертифицирано управление на информационната сигурност
  • Криптиране от край до край за всички API комуникации

Готови ли сте да интегрирате DPD Eesti доставка във вашата платформа?

Резервирайте демонстрация, за да видите как единният API на Cargoson може да опрости вашите логистични операции

Резервирайте демонстрация

Често задавани въпроси

Cargoson е TMS (система за управление на транспорта) за европейски и северноамерикански производители. Нашата централна визия е простота: интегрирайте всички превозвачи и товарни режими (автомобилен, куриерски, въздушен, морски, железопътен) в един прозорец и един API. Независимо дали изпращате палети в Европа или контейнери отвъд океана, управлявайте всичко от една платформа.

Започването е просто. Първо, регистрирайте се за Cargoson акаунт и получете вашия API ключ. След това свържете вашия DPD Eesti акаунт в таблото за управление на Cargoson. След като това е направено, можете да започнете да правите API заявки, използвайки нашата документация и примери за код. Цялата настройка обикновено отнема по-малко от час.

Да, ще ви трябва собствен DPD Eesti акаунт, за да използвате DPD Eesti услуги чрез Cargoson. Това гарантира, че запазвате вашите договорени цени и поддържате вашата директна връзка с DPD Eesti. Cargoson просто предоставя техническия интеграционен слой, който улеснява работата с DPD Eesti и други превозвачи чрез един единен API.

Cargoson работи с прозрачен модел на месечен абонамент без такси за пратка или комисионни, никога. Вашият план включва достъп до API, документация, поддръжка и автоматични актуализации, когато превозвачите променят своите системи. Вие плащате директно на DPD Eesti за доставка по вашите договорени цени. Няма скрити разходи, няма изненади.

Абсолютно! Това е основното предимство на използването на Cargoson. След като интегрирате нашия API, можете да работите с DPD Eesti и 2000+ други превозвачи, използвайки същите крайни точки, удостоверяване и формати на данни. Добавяйте нови превозвачи без да пишете нов интеграционен код, просто ги активирайте в таблото за управление на Cargoson.

Да! Ние интегрираме всеки превозвач, от който се нуждаете, без допълнителна цена. Това е включено във вашия Cargoson абонамент. Просто ни запознайте с вашите контакти с превозвачи и ние ще се справим с техническата интеграция. Нови интеграции се добавят ежедневно въз основа на заявки на клиенти.

Да, можем да настроим webhooks, за да уведомяваме вашата система въз основа на събития и тригери в Cargoson, като актуализации на статуса на пратката, потвърждения на резервации или промени във вашите пратки. Свържете се с нашия екип за поддръжка или резервирайте демонстрация, за да обсъдите вашите изисквания за webhook и настройка.

Cargoson може да е прекалено, ако сте малка компания, която изпраща само няколко пъти месечно с един превозвач. Вероятно можете да управлявате тези пратки добре без TMS. Също така не сме подходящи, ако сте превозвач или спедитор. Cargoson е изграден специално за собственици на товари (BCO) като производители и дистрибутори, които притежават изпращаните стоки. Ако търсите TMS за управление на вашия спедиторски бизнес или операции на превозвача, ние не сме проектирани за този случай на употреба.

Нашият API връща ясни съобщения за грешки със специфични кодове за грешки и описания. Често срещаните проблеми са документирани с решения в нашата документация за разработчици. Ако се затрудните, нашият екип за поддръжка може да помогне при отстраняване на проблеми с интеграцията.

Ние прилагаме разумни ограничения на скоростта, за да осигурим стабилност на системата за всички клиенти. Има както дългосрочни ограничения на скоростта, така и burst ограничения, със стойности, които трябва да са повече от достатъчни за повечето бизнеси. Ако се нуждаете от по-високи лимити за операции в корпоративен мащаб, свържете се с нас, за да обсъдим персонализирани ограничения на скоростта за вашия акаунт.

Започнете да използвате DPD Eesti API

Получете вашите API идентификационни данни, за да започнете интеграцията

Вземете вашия API ключ