Документація API DPD Eesti

Інтегровано REST API

Повний довідник API для інтеграції відправлень DPD Eesti. Доступ до бронювання, тарифів, генерації етикеток та відстеження через уніфікований API управління транспортом Cargoson.

Отримати API ключ

Огляд API DPD Eesti

Цей 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

API бронювання DPD Eesti

Прямий API перевізника

Створюйте відправлення DPD Eesti та отримуйте етикетки відправлення, використовуючи ендпоінт Queries. Бронювання надсилаються в систему перевізника в реальному часі, а етикетки генеруються миттєво.

Запит vs пряме бронювання

Ендпоінт 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

ID послуги DPD Eesti для прямого бронювання

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 - формат PDF A4 для настільних принтерів (4 етикетки на сторінці)
label_printer - формат PDF 4x6 дюймів (~10x15 см) для термопринтерів

Етикетки включені у відповідь на бронювання через поле label_url. Завантажте та роздрукуйте етикетку за наданою URL-адресою після бронювання.

API тарифів DPD Eesti (ціноутворення вантажоперевезень)

Механізм 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"
      }
    ]
  }
}

API відстеження DPD Eesti

Прямий 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"
}

API етикеток повернення DPD Eesti

Прямий 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].

API поштоматів DPD Eesti

Прямий 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
    }
  ]
}

API послуг DPD Eesti

Механізм 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

Чому використовувати API Cargoson для інтеграції DPD Eesti

Інтеграція безпосередньо з нативним API DPD Eesti означає боротьбу з документацією, специфічною для перевізника, обробку унікальних форматів даних та підтримку окремого коду для кожного постачальника. Cargoson пропонує єдиний уніфікований RESTful API, який підтримує DPD Eesti та 2000+ перевізників на європейських та північноамериканських ринках, з новими інтеграціями, що додаються щотижня. Ми скорочуємо час розробки з місяців до днів, автоматично обробляємо оновлення перевізників та керуємо регіональними винятками. З Cargoson ви зосереджуєтесь на розвитку свого бізнесу замість управління технічними складнощами перевізників.

Переваги інтеграції DPD Eesti через API Cargoson

Один API для всіх перевізників

Замініть десятки окремих інтеграцій перевізників одним підключенням до DPD Eesti та 2000+ інших постачальників через API Cargoson. Більше не потрібно підтримувати кілька систем автентифікації, обробляти різні формати даних або оновлювати код, коли перевізники змінюють свої ендпоінти.

Чітка документація та підтримка

Доступ до зрозумілої документації API з робочими прикладами коду, детальними описами параметрів та чітко визначеними ендпоінтами. Наша команда підтримки знає логістичну галузь і може допомогти вам швидко вирішити проблеми інтеграції.

Приклади коду кількома мовами

Почніть негайно з готових до використання прикладів коду на cURL, JavaScript, Python, PHP та Ruby. Копіюйте, вставляйте та адаптуйте їх до свого стеку, не потрібно з нуля розбиратися з автентифікацією, форматуванням запитів або обробкою помилок.

Справжня підтримка від експертів з логістики

Отримайте допомогу від людей, які розуміють відправлення, а не лише API. Чи то ви усуваєте проблему інтеграції, чи потребуєте поради щодо найкращого способу обробки міжнародних відправлень, наша команда тут, щоб допомогти.

Найпередовіший у світі механізм ціноутворення вантажоперевезень

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

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

Наш механізм ціноутворення вантажоперевезень обробляє будь-який формат: структуровані файли Excel, складні PDF, вільний текст або навіть рукописні прайс-листи. Завантажте свої контракти з перевізниками в будь-якому форматі, і наш механізм тарифів автоматично проаналізує правила ціноутворення, доплати та умови.

Пряма інтеграція API перевізника

Для перевізників з сучасними системами (зазвичай глобальні посилкові перевізники та технологічно просунуті вантажні компанії) ми отримуємо тарифи безпосередньо з їхніх API в реальному часі. Це гарантує, що ви завжди отримуєте найактуальніші ціни без ручних оновлень.

Публічні онлайн-ціни

Ще не маєте контракту з перевізником? Без проблем. Cargoson може отримувати публічні онлайн-ціни від перевізників, дозволяючи вам порівнювати варіанти навіть до встановлення офіційних угод.

Запити на spot-тарифи

Для складних відправлень або особливих випадків запитуйте spot-тарифи, де перевізники переглядають ваші конкретні вимоги та надають індивідуальну пропозицію. Все керується через той самий уніфікований API.

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

Автоматизуйте свій процес виконання, інтегруючи API відправлення Cargoson з DPD Eesti та 2000+ перевізниками по всьому світу. Створюйте етикетки відправлення, бронюйте забори та керуйте всіма своїми перевізниками з однієї платформи, зберігаючи свої узгоджені тарифи з кожним постачальником.

Автоматична генерація етикеток

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

Порівняння тарифів у реальному часі

Порівнюйте реальні тарифи між DPD Eesti та іншими вашими активованими перевізниками, щоб вибрати найкращий варіант на основі вартості, швидкості та рівня обслуговування.

Зберігайте свої узгоджені тарифи

Підключіть свій існуючий обліковий запис DPD Eesti, щоб зберегти свої узгоджені тарифи на відправлення. Cargoson просто надає технічну інтеграцію: ви зберігаєте свої прямі відносини з перевізниками та індивідуальні цінові угоди.

Безпека корпоративного рівня для інтеграції API DPD Eesti

Інфраструктура API Cargoson відповідає європейським стандартам відповідності, які забезпечують безпечну, готову до аудиту інтеграцію DPD Eesti для вашого бізнесу:

  • Обробка та зберігання даних відповідно до GDPR по всій Європі
  • Сертифіковане управління інформаційною безпекою ISO 27001
  • Наскрізне шифрування для всіх комунікацій API

Готові інтегрувати відправлення DPD Eesti у свою платформу?

Забронюйте демо, щоб побачити, як уніфікований API Cargoson може спростити ваші логістичні операції

Забронювати демо

Часті запитання

Cargoson - це система управління транспортом для європейських та північноамериканських виробників. Наше центральне бачення - простота: інтегруйте будь-яких та всіх перевізників і види вантажоперевезень (автомобільні, посилкові, авіа, морські, залізничні) в одне вікно та один 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. Просто познайомте нас зі своїми контактами перевізників, і ми займемося технічною інтеграцією. Нові інтеграції додаються щодня на основі запитів клієнтів.

Так, ми можемо налаштувати вебхуки для сповіщення вашої системи на основі подій та тригерів у Cargoson, таких як оновлення статусу відправлення, підтвердження бронювання або зміни у ваших відправленнях. Зв'яжіться з нашою командою підтримки або забронюйте демо, щоб обговорити ваші вимоги до вебхуків та налаштування.

Cargoson може бути надмірним, якщо ви невелика компанія, яка відправляє лише кілька разів на місяць з одним перевізником. Ви, ймовірно, можете добре керувати цими відправленнями без системи управління транспортом. Ми також не підходимо, якщо ви перевізник або експедитор. Cargoson створений спеціально для власників вантажу (BCO), таких як виробники та дистриб'ютори, які володіють товарами, що відправляються. Якщо ви шукаєте систему управління транспортом для управління своїм експедиторським бізнесом або операціями перевізника, ми не призначені для цього випадку використання.

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

Ми впроваджуємо розумні обмеження швидкості для забезпечення стабільності системи для всіх клієнтів. Є як довгострокові обмеження швидкості, так і обмеження пікових навантажень, зі значеннями, які повинні бути більш ніж достатніми для більшості підприємств. Якщо вам потрібні вищі ліміти для операцій корпоративного масштабу, зв'яжіться з нами, щоб обговорити індивідуальні обмеження швидкості для вашого облікового запису.

Почніть використовувати API DPD Eesti

Отримайте свої облікові дані API для початку інтеграції

Отримати API ключ