DHL Express FI API dokumentatsioon

Integreeritud REST API

Täielik API dokumentatsioon DHL Express FI veoteenuse integreerimiseks. Veotellimused, veohinnad, pakisildid ja jälgimise läbi Cargosoni vedajateülese API.

Küsi oma API võti

DHL Express FI API ülevaade

See API pakub programmilise juurdepääsu DHL Express FI veoteenustele läbi Cargosoni ühtse veohalduse platvormi. Integreeri DHL Express FI võimalused, sealhulgas veotellimused, jälgimine, hinnapakkumised ja pakisildid oma rakendustesse.

API võimalused

  • Loo ja halda DHL Express FI veotellimusi
  • Saadetiste jälgimine ja staatuse uuendused
  • Küsi transpordi hinnapakkumisi ja tarneaegu
  • Genereeri pakisildid mitmes formaadis (PDF, PNG, ZPL)
  • Loo tagastussildid pöördlogistika jaoks
  • Küsi pakiautomaatide ja väljastuspunktide asukohti
  • Vaata saadaolevaid vedaja teenuseid
  • Automatiseeritud kullerikutsed

Baas-URL ja autentimine

Baas-URL

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

Autentimine

Kõik päringud peavad sisaldama sinu API võtit ja õiget Accept päist:

Authorization: Bearer SINU_API_VÕTI
Accept: application/vnd.api.v1

DHL Express FI veotellimuste API

Otsene vedaja API

Loo DHL Express FI veotellimused ja saa pakisildid kasutades Queries endpointi. Tellimused edastatakse vedaja süsteemi reaalajas ja pakisildid genereeritakse koheselt.

Saadetis vs otsetellimus

Queries otspunkt toetab kahte tellimisviisi:

  • Saadetise režiim - Loo saadetis ilma (veel) vedajat määramata. Sedasi saad hiljem Cargosoni sisse logida ja võrrelda oma erinevate vedajate hindu ja tarneaegu, küsida spot-hinnapakkumisi, teha saadetises muudatusi/uuendusi, või delegeerida vedaja valik kolleegile, enne lõplikku vedaja valiku tegemist.
  • Otsetellimus - Määra vedaja teenuse ID (Rate või Services API-st), et tellida otse DHL Express FI kaudu. See tagab, et saadetis kasutab täpselt valitud teenust.

Et teha tellimus otse DHL Express FI süsteemi, saada alati kaasa direct_booking_service_id-ga.

POST /queries

Loo saadetise päring või otsene tellimus DHL Express FI jaoks. Lisa direct_booking_service_id kohese tellimuse loomiseks.

Request Parameters

collection_date string required

Pealekorje kuupäev formaadis AAAA-KK-PP

collection_country string required

Pealekorje riigi kood (ISO 3166-1 alpha-2)

collection_postcode string required

Pealekorje postiindeks

collection_address_row_1 string required

Pealekorje tänavaaadress

collection_city string required

Pealekorje linn

collection_company_name string required

Saatja ettevõtte nimi

collection_contact_name string required

Saatja kontaktisik

collection_contact_phone string required

Saatja telefoninumber

delivery_country string required

Mahalaadimise riigi kood

delivery_postcode string required

Mahalaadimise postiindeks

delivery_address_row_1 string required

Mahalaadimise tänavaaadress

delivery_city string required

Mahalaadimise linn

delivery_company_name string required

Saaja ettevõtte nimi

delivery_contact_name string required

Saaja kontaktisik

delivery_contact_phone string required

Saaja telefoninumber

rows_attributes array required

Pakendite/kaubaaluste massiiv koos koguse, pakendi tüübi, kaalu ja kirjeldusega

options[direct_booking_service_id] integer

DHL Express FI teenuse ID otsese tellimuse jaoks

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

Pakisildid

DHL Express FI pakisildid genereeritakse automaatselt veotellimuse loomisel. Etiketid on saadaval mitmes formaadis erinevate printeritüüpide jaoks.

Toetatud formaadid

a4 - A4 PDF formaat kontoriprinteritele (4 silti lehel)
label_printer - 4x6in (~10x15cm) PDF formaat termoprinterile

Sildid on automaatselt kaasas veotellimuse vastuses label_url väljal. Laadi alla ja prindi silt antud URLi kaudu pärast tellimust.

DHL Express FI veohindade API

Otsene vedaja API

Küsi reaalajas DHL Express FI veohindu enne tellimust. Rate API tagastab saadaolevad teenused, hinnad ja hinnangulised tarneajad.

POST /freightPrices/list

Küsi veohindade hinnapakkumisi DHL Express FI-lt ja teistelt sinu kontol aktiveeritud vedajatelt.

Request Parameters

collection_date string required

Pealekorje kuupäev formaadis AAAA-KK-PP

collection_country string required

Pealekorje riigi kood (ISO 3166-1 alpha-2)

collection_postcode string required

Pealekorje postiindeks

delivery_country string required

Mahalaadimise riigi kood

delivery_postcode string required

Mahalaadimise postiindeks

rows_attributes array required

Pakendite/kaubaaluste massiiv koos koguse, pakendi tüübi, kaalu ja kirjeldusega

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 Express (Finland) Oy",
        "reg_no": "2717767-4",
        "id": 3335,
        "service": "Main",
        "service_id": 85,
        "price": "19.13",
        "unit": "payable_weight",
        "type": "price_list"
      },
      {
        "carrier": "DHL Express (Finland) Oy",
        "reg_no": "2717767-4",
        "id": 3335,
        "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 Express FI jälgimise API

Otsene vedaja API

Jälgi DHL Express FI saadetisi kasutades Cargosoni viitenumbrit. Vaata hetkestaatust, asukoha uuendusi ja hinnangulist tarnekuupäeva.

GET /bookings/{reference}

Vaata jälgimise üksikasju DHL Express FI saadetise kohta kasutades Cargosoni tellimuse viidet.

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 Express FI tagastusetikettide API

Cargoson tehnoloogial
Cargosoni täiustus:

DHL Express FI ei toeta algupäraselt tagastussilte. Cargoson genereerib tagastussildid ja haldab tagastuslogistika protsessi meie platvormi kaudu.

Genereeri tagastusetiketid DHL Express FI saadetistele. Tagastussildid võimaldavad klientidel saata kaupu tagasi eelmakstud veoga.

POST /bookings/{reference}/return_labels

Loo tagastussilt olemasolevale DHL Express FI saadetisele.

Request Parameters

label_format string

Pakisildi formaat: a4 või label_printer (vaikimisi: 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"
}

Tagastusetiketi funktsioonid

  • Eelmakstud tagastusetiketid
  • Samad formaadi valikud kui väljaminevatel siltidel (A4, termoprinter)
  • Eraldi jälgimisviide tagastustele
  • Sujuv integratsioon DHL Express FI tagastusteenustega

DHL Express FI kullerikutsed

Cargosoni automatiseering

Cargoson automatiseerib kullerikutsed DHL Express FI saadetistele - üks tegevus vähem, mille pärast muretseda.

Kuidas Cargoson käsitleb kullerikutseid

Paljud vedajad nõuavad, et lood pakisildid eraldi ja seejärel tellid käsitsi eraldi kulleri pealekorje. Teistel pole eraldi etiketi ja kullerikutse süsteemi ning iga saadetis on täielik, eraldiseisev tellimus. Meie usume, et vedajate API-d peaksid olema ühtses formaadis, kuid praegusel hetkel on igal vedajal oma süsteem, mis tähendab, et kasutajatel on keeruline meeles pidada iga vedaja eripära. Cargoson lihtsustab kullerikutseid, käsitledes iga saadetist terviklikult: kullerikutseid hallatakse automaatselt osana tellimisprotsessist.

Nutikas pealekorje optimeerimine

Cargoson optimeerib kullerikutseid kulude vähendamiseks ja tõhususe parandamiseks.

  • 1. Partii konsolideerimine - Mitu saadetist samast asukohast grupeeritakse üheks pealekorjeks
  • 2. Vedajapõhine käsitlemine - Mõned vedaja puhul on tellimus nii pakisilt kui kullerikutse koos, teised nõuavad eraldi päringut. Cargoson haldab mõlemat varianti sinu eest automaatselt
  • 3. Regulaarkorjed - Seadista eelplaneeritud pealekorjed kindlatel aegadel (nt pealaoaadressile iga päev kell 15:00) ja Cargoson sellisel juhul eraldi üksikuid kullerikutseid sinna ei tee

Eelised

  • Pole vaja jälgida, millised vedajad nõuavad eraldi kullerikutseid
  • Automaatne optimeerimine hoiab ära mittevajalikud kullerikutsed
  • Regulaarkorjete tugi
  • Lihtsustatud veoprotsess - lihtsalt loo tellimus

Seadistamine

Kullerikutse automatiseerimine on vaikimisi sisse lülitatud kõigile DHL Express FI saadetistele. Regulaarkorje või kohandatud optimeerimisreeglite seadistamiseks võta ühendust [email protected].

DHL Express FI teenuste API

Cargosoni mootor
Cargosoni täiustus:

Teenuste API on Cargosoni pakutav funktsioon, mis tagastab ühtse loetelu kõigist saadaolevatest teenustest DHL Express FI-lt ja teistelt vedajatelt sinu võrgustikus. See võimaldab sul dünaamiliselt kuvada veoteenuseid oma klientidele ilma teenuse ID-sid kõvakoodimata.

Küsi kõikide saadaolevate DHL Express FI veoteenuste nimekiri. Kasuta teenuse ID-sid otsetellimuste esitamisel, et valida soovitud teenus.

GET /services/list

Tagasta loetelu sinu ettevõtte kontol saadaolevatest DHL Express FI teenustest.

Example Response

{
  "services": [
    {
      "carrier": {
        "id": 3335,
        "name": "DHL Express (Finland) Oy",
        "short_name": "DHL Express FI",
        "reg_no": "2717767-4"
      },
      "id": 85,
      "name": "Main",
      "service_type": "road_freight"
    },
    {
      "carrier": {
        "id": 3335,
        "name": "DHL Express (Finland) Oy",
        "short_name": "DHL Express FI",
        "reg_no": "2717767-4"
      },
      "id": 123,
      "name": "Express Service",
      "service_type": "express"
    }
  ]
}

Teenuse ID-de kasutamine

Selle otspunkti tagastatavaid teenuste ID-sid saab kasutada direct_booking_service_id parameetriga tellimuste loomisel, et garanteerida saadetise marsruutimine DHL Express FI süsteemi.

Täielikud koodinäited

Allpool on täielikud töötavad näited, mis näitavad kogu töövoogu: küsi hinnad, vali teenus, telli vedu ja vaata jälgimisinfot.

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

# Step 1: Get freight prices for DHL Express FI
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 bookToDHLExpressFI() {
  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
bookToDHLExpressFI();
import requests

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

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

define('CARRIER_SERVICE_ID', 85);

function bookToDHLExpressFI($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
bookToDHLExpressFI($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_express_fi
  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_express_fi

Miks kasutada Cargosoni API-d DHL Express FI integratsiooni jaoks

Otse DHL Express FI API-ga integreerimine tähendab vedajapõhise dokumentatsiooniga tegelemist, erinevate andmevormingute käsitlemist ja eraldi koodi haldamist iga vedaja jaoks. Cargoson pakub ühte ühtset RESTful API-d, mis toetab DHL Express FI-t ja 2000+ vedajat üle Euroopa ja Põhja-Ameerika - uusi integratsioone lisatakse iganädalaselt. Me vähendame arendusaega kuudelt päevadele, käsitleme vedajate uuendusi automaatselt ja haldame piirkondlikke erandeid. Cargosoniga keskendud oma äri kasvatamisele, mitte vedajate tehniliste keerukuste haldamisele.

DHL Express FI integreerimise eelised Cargosoni API kaudu

Üks API kõigile vedajatele

Asenda kümneid eraldi vedajate integratsioone ühe ühendusega DHL Express FI ja 2000+ teise vedajaga Cargosoni API kaudu. Pole enam vaja hallata mitut autentimissüsteemi, käsitleda erinevaid andmevorminguid või uuendada koodi, kui vedajad muudavad oma otspunkte.

Selge dokumentatsioon ja tugi

Selge API dokumentatsioon koos töötavate koodinäidetega, üksikasjalike parameetrite kirjeldustega ja selgelt määratletud otspunktidega. Meie kienditugi tunneb logistikat ja aitab sul integratsiooniprobleeme kiiresti lahendada.

Koodinäited mitmes keeles

Alusta kohe kasutamisvalmis koodinäidetega cURL, JavaScript, Python, PHP ja Ruby keeltes. Kopeeri, kleebi ja kohanda neid oma tehnoloogiale - pole vaja autentimist, päringu vormindamist või vigade käsitlemist nullist välja mõelda.

Päris tugi logistika ekspertidelt

Saa abi inimestelt, kes mõistavad logistikat, mitte ainult API-sid. Olenemata sellest, kas teed integratsiooniprobleemi tõrkeotsingut või vajad nõu rahvusvaheliste saadetiste käsitlemiseks, on meie meeskond siin, et aidata.

Maailma kõige arenenum veohindade mootor

Cargosoni veohindade API ei piirdu ainult lihtsate hinnapäringutega. Meie mootor suudab lugeda, analüüsida ja digiteerida mis tahes vedaja hinnakirja olenemata formaadist või struktuurist - see on kõige võimsam veohindade haldussüsteem logistikamaailmas.

Universaalne formaadi tugi

Meie veohindade haldamise mootor käsitleb mis tahes formaati: struktureeritud Exceli failid, keerulised PDF-id, vaba tekst või isegi käsitsi kirjutatud hinnakirjad. Laadi üles oma veolepingud mis tahes formaadis ja meie veohindade mootor digitiseerib hinnaarvutuse reeglid, lisatasud ja tingimused automaatselt.

Otsene vedaja API integratsioon

Kaasaegsete süsteemidega vedajate puhul (tavaliselt globaalsed pakiveod ja tehnoloogiasõbralikud veofirmad) tõmbame hinnad otse nende API-dest reaalajas. See tagab, et saad alati kõige värskemad veohinnad ilma käsitsi uuendusteta.

Avalikud veebipõhised hinnad

Pole veel vedajaga lepingut? Pole probleemi. Cargoson saab tõmmata vedajatelt avalikke veebipõhiseid hindu, mis võimaldab sul võrrelda valikuid isegi enne ametlike kokkulepete sõlmimist.

Spot-hinna päringud

Keeruliste saadetiste või erijuhtude puhul küsi spot-hindu - vedajad vaatavad üle sinu konkreetsed nõuded ja teevad hinnapakkumise. Kõik hallatav sellesama ühtse API kaudu.

DHL Express FI veo API: Lihtsustatud logistika automatiseerimine

Automatiseeri oma täitmisprotsess, integreerides Cargosoni veo API DHL Express FI ja 2000+ vedajaga üle maailma. Loo pakisildid, telli pealekorjed ja halda kõiki oma vedajaid ühelt platvormilt, säilitades samal ajal oma läbirääkitud hinnad iga pakkujaga.

Automatiseeritud pakisiltide genereerimine

Genereeri vedajale sobivad pakisildid ühe API päringuga. Tugi mitmele formaadile (A4, termoprinter) ja automaatne tollidokumentide koostamine rahvusvahelistele saadetistele tähendab vähem käsitsi tööd ja vähem vigu.

Reaalajas veohindade võrdlus

Võrdle reaalajas veohindasid DHL Express FI ja teiste Sinu kontol aktiveeritud vedajate vahel, et valida parim valik veomaksumuse, -kiiruse ja teenuse taseme põhjal.

Eelnevalt läbiräägitud hinnad jäävad samaks

Ühenda oma olemasolev DHL Express FI konto, et säilitada oma senised vedajatega kokkulepitud veohinnad. Cargoson pakub lihtsalt tehnilist integratsiooni - otsesed suhted ja hinnakokkulepped oma vedajatega ei kao kuhugi.

Ettevõtte tasemel turvalisus DHL Express FI API integratsiooni jaoks

Cargosoni API infrastruktuur vastab Euroopa standarditele, mis tagavad turvalise, auditeerimiseks valmis DHL Express FI integratsiooni sinu ettevõttele:

  • GDPR-iga kooskõlas andmete käsitlemine ja salvestamine üle Euroopa
  • ISO 27001 sertifitseeritud infoturbe haldus
  • Otsast lõpuni krüpteerimine kõigile API suhtlustele

Valmis integreerima DHL Express FI veoteenust oma süsteemiga?

Broneeri demo, et näha, kuidas Cargosoni ühtne API saab lihtsustada sinu logistikatoiminguid

Broneeri demo

Korduma kippuvad küsimused

Cargoson on veohaldustarkvara (TMS) Euroopa ja Põhja-Ameerika tootjatele. Meie eesmärk on lihtsus: integreeri kõik vedajad ja veorežiimid (maantee, pakett, õhk, meri, raudtee) ühte aknasse ja ühte API-sse. Olenemata sellest, kas saadate kaubaaluseid üle Euroopa või konteinereid üle ookeani, hallake kõike ühelt platvormilt.

Alustamine on lihtne. Esiteks registreeri Cargosoni konto ja küsi oma API võti. Seejärel ühenda oma DHL Express FI konto Cargosoni juhtpaneelil. Kui see on tehtud, saad alustada API päringute tegemist meie dokumentatsiooni ja koodinäidete abil. Kogu seadistamine võtab tavaliselt vähem kui tunni.

Jah, vajad oma DHL Express FI kontot, et kasutada DHL Express FI teenuseid Cargosoni kaudu. See tagab, et säilita oma läbirääkitud hinnad ja hoia oma otsene suhe DHL Express FI-ga. Cargoson pakub lihtsalt tehnilist integratsioonikihti, mis muudab DHL Express FI ja teiste vedajatega töötamise lihtsamaks ühe ühtse API kaudu.

Cargoson töötab läbipaistva kuutellimuse mudeliga ilma saadetisepõhiste tasudeta või komisjonitasudeta, kunagi. Sinu plaan sisaldab API juurdepääsu, dokumentatsiooni, tuge ja automaatseid uuendusi, kui vedajad muudavad oma süsteeme. Maksad DHL Express FI-le otse veo eest oma läbirääkitud veohindadega. Pole varjatud kulusid, pole üllatusi.

Absoluutselt! See on Cargosoni kasutamise peamine eelis. Kui oled meie API integreerinud, saad töötada DHL Express FI ja 2000+ teise vedajaga, kasutades samu otspunkte, autentimist ja andmevorminguid. Lisa uusi vedajaid ilma uut integratsioonikoodi kirjutamata, lihtsalt aktiveeri need oma Cargosoni juhtpaneelil.

Jah! Me integreerime mis tahes vedaja, mida vajad, ilma lisatasuta. See on kaasas sinu Cargosoni tellimuses. Lihtsalt tutvusta meid oma vedajate kontaktidega ja me käsitleme tehnilist integratsiooni. Uusi integratsioone lisatakse iga päev klientide taotluste põhjal.

Jah, saame seadistada webhooke, et teavitada sinu süsteemi Cargosonis toimuvate sündmuste ja triggerite põhjal, nagu näiteks saadetise staatuse uuendused, tellimuse kinnitused või saadetiste muudatused. Võta ühendust meie klienditoega või broneeri demo, et arutada oma webhooki nõudeid ja seadistust.

Cargoson ei pruugi olla vajalik, kui oled väike ettevõte, kes saadab vaid mõni kord kuus ühe vedajaga. Selliseid saadetisi saab tõenäoliselt hästi hallata ka ilma veohaldustarkvara. Me ei sobi ka, kui oled vedaja või veokorraldaja. Cargoson on ehitatud spetsiaalselt kauba omanikele (BCO-d) nagu tootjad ja jaemüüjad, kes omavad saadetavaid kaupu. Kui otsid veohaldustarkvara oma edastusäri või vedaja tegevuse haldamiseks, pole me selle jaoks loodud.

Meie API tagastab selged veateated koos veakoodide ja kirjeldustega. Levinud probleemid on dokumenteeritud lahendustega meie arendajate dokumentatsioonis. Kui jääd kinni, aitab meie klienditugi integratsiooniprobleemide lahendamisel.

Me rakendame mõistlikke limiite, et tagada süsteemi stabiilsus kõigile klientidele. On nii pikaajaliseid limiite kui ka burst-limiite, mille väärtused peaksid olema enamiku ettevõtete jaoks rohkem kui piisavad. Kui vajad ettevõtte suuruses tegevuse jaoks kõrgemaid limiite, võta meiega ühendust, et arutada oma konto jaoks kohandatud limiite.

Alusta DHL Express FI API kasutamist

Küsi oma API tunnused integratsiooni alustamiseks

Küsi oma API võti