DHL (Road Freight and Terminal Network) API документация

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

Пълна API справка за DHL (Road Freight and Terminal Network) интеграция на доставка. Достъп до резервации, товарни цени, генериране на етикети и проследяване чрез единния API за управление на транспорта на Cargoson.

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

DHL (Road Freight and Terminal Network) API преглед

Този API предоставя програмен достъп до DHL (Road Freight and Terminal Network) услуги за доставка чрез единната платформа за управление на транспорта на Cargoson. Интегрирайте DHL (Road Freight and Terminal Network) възможности, включително резервация на пратки, проследяване, ценови оферти и генериране на етикети във вашите приложения.

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

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

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

Базов URL

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

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

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

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

DHL (Road Freight and Terminal Network) API за резервации

EDI на превозвача
Подобрение на Cargoson:

DHL (Road Freight and Terminal Network) използва EDIFACT/EDI за резервации. Cargoson обвива това в модерен REST API, така че да получите същото изживяване за разработчици при всички превозвачи.

Създавайте DHL (Road Freight and Terminal Network) пратки и получавайте етикети за доставка, използвайки крайната точка Queries. Резервациите се изпращат до системата на превозвача в реално време и етикетите се генерират незабавно.

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

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

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

За да резервирате директно при DHL (Road Freight and Terminal Network), винаги дефинирайте direct_booking_service_id.

POST /queries

Създайте заявка за пратка или директна резервация за DHL (Road Freight and Terminal Network). Включете 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

DHL (Road Freight and Terminal Network) 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"
}

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

DHL (Road Freight and Terminal Network) етикетите за доставка се генерират автоматично, когато създадете резервация. Етикетите са налични в множество формати, за да поддържат различни типове принтери.

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

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

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

DHL (Road Freight and Terminal Network) API за цени (ценообразуване на товари)

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

Получавайте DHL (Road Freight and Terminal Network) товарни цени в реално време преди резервация. Rate API връща налични услуги, цени и прогнозни времена за доставка.

POST /freightPrices/list

Получете ценови оферти за товарни цени от DHL (Road Freight and Terminal Network) и други активирани превозвачи във вашия акаунт.

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": "DHL Logistics Latvia SIA",
        "reg_no": "40203153535",
        "id": 847,
        "service": "Main",
        "service_id": 85,
        "price": "19.13",
        "unit": "payable_weight",
        "type": "price_list"
      },
      {
        "carrier": "DHL Logistics Latvia SIA",
        "reg_no": "40203153535",
        "id": 847,
        "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"
      }
    ]
  }
}

DHL (Road Freight and Terminal Network) API за проследяване

Директен API на превозвача
Подобрение на Cargoson:

DHL (Road Freight and Terminal Network) предоставя само URL за проследяване, не структурирани данни за проследяване. Cargoson нормализира информацията за проследяване при всички превозвачи, давайки ви последователен формат на API отговор, независимо от възможностите на всеки превозвач.

Проследявайте DHL (Road Freight and Terminal Network) пратки, използвайки референтния номер на Cargoson. Получавайте текущ статус, актуализации на местоположението и прогнозно време за доставка.

GET /bookings/{reference}

Извлечете детайли за проследяване на DHL (Road Freight and Terminal Network) пратка, използвайки референцията на резервацията на 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"
}

DHL (Road Freight and Terminal Network) API за етикети за връщане

Задвижван от Cargoson
Подобрение на Cargoson:

DHL (Road Freight and Terminal Network) не поддържа нативно етикети за връщане. Cargoson генерира етикети за връщане и управлява процеса на обратна логистика чрез нашата платформа.

Генерирайте етикети за връщане на доставка за DHL (Road Freight and Terminal Network) пратки. Етикетите за връщане позволяват на клиентите да изпращат артикули обратно, използвайки предплатена доставка.

POST /bookings/{reference}/return_labels

Създайте етикет за връщане за съществуваща DHL (Road Freight and Terminal Network) пратка.

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, термопринтер)
  • Отделна референция за проследяване за връщания
  • Безпроблемна интеграция с DHL (Road Freight and Terminal Network) услуги за връщане

DHL (Road Freight and Terminal Network) заявки за куриер

Cargoson автоматизация

Cargoson автоматизира заявките за куриерско вземане за DHL (Road Freight and Terminal Network) пратки, което прави това една задача по-малко, за която трябва да мислите.

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

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

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

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

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

Предимства

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

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

Автоматизацията на куриерското вземане е активирана по подразбиране за всички DHL (Road Freight and Terminal Network) пратки. За да конфигурирате редовни графици за вземане или персонализирани правила за оптимизация на вземане, свържете се с [email protected].

DHL (Road Freight and Terminal Network) API за услуги

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

API за услуги е функция, предоставена от Cargoson, която връща единен списък на всички налични услуги от DHL (Road Freight and Terminal Network) и други превозвачи във вашата мрежа. Това ви позволява динамично да показвате опции за доставка на вашите клиенти без да кодирате твърдо ID на услуги.

Извлечете списък на налични DHL (Road Freight and Terminal Network) услуги за доставка. Използвайте ID на услуги при правене на директни резервации, за да сте сигурни, че получавате точната услуга, която искате.

GET /services/list

Върнете списък на DHL (Road Freight and Terminal Network) услуги, налични във вашия фирмен акаунт.

Example Response

{
  "services": [
    {
      "carrier": {
        "id": 847,
        "name": "DHL Logistics Latvia SIA",
        "short_name": "DHL (Road Freight and Terminal Network)",
        "reg_no": "40203153535"
      },
      "id": 85,
      "name": "Main",
      "service_type": "road_freight"
    },
    {
      "carrier": {
        "id": 847,
        "name": "DHL Logistics Latvia SIA",
        "short_name": "DHL (Road Freight and Terminal Network)",
        "reg_no": "40203153535"
      },
      "id": 123,
      "name": "Express Service",
      "service_type": "express"
    }
  ]
}

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

ID на услуги от тази крайна точка могат да се използват с параметъра direct_booking_service_id при създаване на резервации, за да изберете правилната услуга и да изпратите пратката до системата на DHL (Road Freight and Terminal Network).

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

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

# Define the service ID you want to use
CARRIER_SERVICE_ID=85

# Step 1: Get freight prices for DHL (Road Freight and Terminal Network)
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 bookToDHL(RoadFreightandTerminalNetwork)() {
  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
bookToDHL(RoadFreightandTerminalNetwork)();
import requests

API_KEY = 'YOUR_API_KEY'
BASE_URL = 'https://www.cargoson.com/api/v1'
CARRIER_SERVICE_ID = 85

def book_to_dhl__road_freight_and_terminal_network_():
    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_dhl__road_freight_and_terminal_network_()
<?php
$apiKey = 'YOUR_API_KEY';
$baseUrl = 'https://www.cargoson.com/api/v1';

define('CARRIER_SERVICE_ID', 85);

function bookToDHLRoadFreightandTerminalNetwork($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
bookToDHLRoadFreightandTerminalNetwork($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_dhl__road_freight_and_terminal_network_
  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_dhl__road_freight_and_terminal_network_

Защо да използвате Cargoson API за DHL (Road Freight and Terminal Network) интеграция

Интегрирането директно с нативния API на DHL (Road Freight and Terminal Network) означава борба със специфична за превозвача документация, обработка на уникални формати на данни и поддържане на отделен код за всеки доставчик. Cargoson предлага един единен RESTful API, който поддържа DHL (Road Freight and Terminal Network) и 2000+ превозвачи на европейските и северноамериканските пазари, като нови интеграции се добавят седмично. Ние намаляваме времето за разработка от месеци на дни, обработваме автоматично актуализациите на превозвачите и управляваме регионалните изключения. С Cargoson се фокусирате върху развитието на вашия бизнес, вместо да управлявате техническите сложности на превозвачите.

Предимства на интегрирането на DHL (Road Freight and Terminal Network) чрез Cargoson API

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

Заменете десетки отделни интеграции на превозвачи с една връзка към DHL (Road Freight and Terminal Network) и 2000+ други доставчици чрез Cargoson API. Вече не е необходимо да поддържате множество системи за удостоверяване, да обработвате различни формати на данни или да актуализирате код, когато превозвачите променят своите крайни точки.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

DHL (Road Freight and Terminal Network) API за доставка: Опростена автоматизация на логистиката

Автоматизирайте вашия процес на изпълнение, като интегрирате API за доставка на Cargoson с DHL (Road Freight and Terminal Network) и 2000+ превозвачи по целия свят. Създавайте етикети за доставка, резервирайте вземания и управлявайте всички ваши превозвачи от една платформа, като същевременно запазвате вашите договорени цени с всеки доставчик.

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

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

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

Сравнявайте цени в реално време между DHL (Road Freight and Terminal Network) и вашите други активирани превозвачи, за да изберете най-добрата опция въз основа на цена, скорост и ниво на обслужване.

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

Свържете съществуващия си DHL (Road Freight and Terminal Network) акаунт, за да запазите вашите договорени цени за доставка. Cargoson просто предоставя техническата интеграция: вие запазвате вашите директни отношения с превозвачите и персонализирани споразумения за цени.

Сигурност от корпоративен клас за DHL (Road Freight and Terminal Network) API интеграция

API инфраструктурата на Cargoson отговаря на европейските стандарти за съответствие, които осигуряват сигурна, готова за одит DHL (Road Freight and Terminal Network) интеграция за вашия бизнес:

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

Готови ли сте да интегрирате DHL (Road Freight and Terminal Network) доставка във вашата платформа?

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

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

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

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

Започването е просто. Първо, регистрирайте се за Cargoson акаунт и получете вашия API ключ. След това свържете вашия DHL (Road Freight and Terminal Network) акаунт в таблото за управление на Cargoson. След като това е направено, можете да започнете да правите API заявки, използвайки нашата документация и примери за код. Цялата настройка обикновено отнема по-малко от час.

Да, ще ви трябва собствен DHL (Road Freight and Terminal Network) акаунт, за да използвате DHL (Road Freight and Terminal Network) услуги чрез Cargoson. Това гарантира, че запазвате вашите договорени цени и поддържате вашата директна връзка с DHL (Road Freight and Terminal Network). Cargoson просто предоставя техническия интеграционен слой, който улеснява работата с DHL (Road Freight and Terminal Network) и други превозвачи чрез един единен API.

Cargoson работи с прозрачен модел на месечен абонамент без такси за пратка или комисионни, никога. Вашият план включва достъп до API, документация, поддръжка и автоматични актуализации, когато превозвачите променят своите системи. Вие плащате директно на DHL (Road Freight and Terminal Network) за доставка по вашите договорени цени. Няма скрити разходи, няма изненади.

Абсолютно! Това е основното предимство на използването на Cargoson. След като интегрирате нашия API, можете да работите с DHL (Road Freight and Terminal Network) и 2000+ други превозвачи, използвайки същите крайни точки, удостоверяване и формати на данни. Добавяйте нови превозвачи без да пишете нов интеграционен код, просто ги активирайте в таблото за управление на Cargoson.

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

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

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

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

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

Започнете да използвате DHL (Road Freight and Terminal Network) API

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

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