Schenker UAB API-dokumentation

Integreret REST API

Komplet API-reference til Schenker UAB forsendelseintegration. Få adgang til booking, fragtrater, labelgenerering og sporing gennem Cargosons samlede transportstyring-API.

Få din API-nøgle

Schenker UAB API-oversigt

Denne API giver programmatisk adgang til Schenker UAB forsendelseservices gennem Cargosons samlede transportstyringplatform. Integrer Schenker UAB funktioner, herunder forsendelsesbooking, sporing, ratetilbud og labelgenerering i dine applikationer.

API-funktioner

  • Opret og administrer Schenker UAB forsendelsesbookinger
  • Forsendelsessporing og statusopdateringer
  • Få fragtratetilbud og transittider
  • Generer forsendelselabels i flere formater (PDF, PNG, ZPL)
  • Opret returlabels til returlogistik
  • Forespørg pakkeboks- og afhentningsstedplaceringer
  • Vis tilgængelige fragtmandservices
  • Automatiserede kurérafhentningsanmodninger

Base URL & godkendelse

Base URL

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

Godkendelse

Alle anmodninger skal inkludere din API-nøgle og den korrekte Accept-header:

Authorization: Bearer DIN_API_NØGLE
Accept: application/vnd.api.v1

Schenker UAB booking-API

Direkte fragtmand-API

Opret Schenker UAB forsendelser og hent forsendelselabels ved hjælp af Queries-endpointet. Bookinger sendes til fragtmandens system i realtid, og labels genereres øjeblikkeligt.

Query vs direkte booking

Queries-endpointet understøtter to bookingmetoder:

  • Query-tilstand - Opret en transportanmodning uden at specificere en fragtmand (endnu). Dette giver dig mulighed for manuelt at sammenligne fragtmandpriser og leveringstider, anmode om nye spotpriser, foretage justeringer/opdateringer til forsendelsen og delegere fragtmandvalg til andre, før du foretager det endelige fragtmandvalg i Cargoson.
  • Direkte booking - Angiv et fragtmandservice-ID (fra Rate- eller Services-API'en) for at booke direkte med Schenker UAB. Dette sikrer, at din forsendelse bruger præcis den service, du har valgt.

For at booke direkte til Schenker UAB, skal du altid definere direct_booking_service_id.

POST /queries

Opret en forsendelsesforespørgsel eller direkte booking til Schenker UAB. Inkluder direct_booking_service_id for at oprette en øjeblikkelig booking.

Request Parameters

collection_date string required

Afhentningsdato i ÅÅÅÅ-MM-DD format

collection_country string required

Afhentningslandekode (ISO 3166-1 alpha-2)

collection_postcode string required

Afhentningspostnummer

collection_address_row_1 string required

Afhentningsgadeadresse

collection_city string required

Afhentningsby

collection_company_name string required

Afsendervirksomhedsnavn

collection_contact_name string required

Afsenderkontaktperson

collection_contact_phone string required

Afsendertelefonnummer

delivery_country string required

Leveringslandekode

delivery_postcode string required

Leveringspostnummer

delivery_address_row_1 string required

Leveringsgadeadresse

delivery_city string required

Leveringsby

delivery_company_name string required

Modtagervirksomhedsnavn

delivery_contact_name string required

Modtagerkontaktperson

delivery_contact_phone string required

Modtagertelefonnummer

rows_attributes array required

Array af pakker/paller med antal, pakketype, vægt og beskrivelse

options[direct_booking_service_id] integer

Schenker UAB service-ID til direkte booking

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

Labelgenerering

Schenker UAB forsendelselabels genereres automatisk, når du opretter en booking. Labels er tilgængelige i flere formater for at understøtte forskellige printertyper.

Understøttede labelformater

a4 - A4 PDF-format til skrivebordsprintere (4 labels pr. side)
label_printer - 4x6in (~10x15cm) PDF-format til termoprintere

Labels er inkluderet i bookingreaktionen via label_url-feltet. Download og print labelen fra den angivne URL efter booking.

Schenker UAB rate-API (fragtpriser)

Cargoson-motor
Cargoson-forbedring:

Schenker UAB leverer ikke en native rate-API. Cargosons fragtprismotor beregner priser ved hjælp af dine uploadede prisaftaler, hvilket giver dig den samme API-oplevelse som fragtmænd med native rate-API'er. Du kan uploade fragtmandrater i ethvert format (Excel, PDF, endda håndskrevne prislister), og vi digitaliserer dem.

Få realtids Schenker UAB fragtrater før booking. Rate-API'en returnerer tilgængelige services, priser og estimerede leveringstider.

POST /freightPrices/list

Få fragtratetilbud fra Schenker UAB og andre aktiverede fragtmænd på din konto.

Request Parameters

collection_date string required

Afhentningsdato i ÅÅÅÅ-MM-DD format

collection_country string required

Afhentningslandekode (ISO 3166-1 alpha-2)

collection_postcode string required

Afhentningspostnummer

delivery_country string required

Leveringslandekode

delivery_postcode string required

Leveringspostnummer

rows_attributes array required

Array af pakker/paller med antal, pakketype, vægt og beskrivelse

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": "Schenker UAB",
        "reg_no": "111552645",
        "id": 1273,
        "service": "Main",
        "service_id": 85,
        "price": "19.13",
        "unit": "payable_weight",
        "type": "price_list"
      },
      {
        "carrier": "Schenker UAB",
        "reg_no": "111552645",
        "id": 1273,
        "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"
      }
    ]
  }
}

Schenker UAB sporings-API

Direkte fragtmand-API

Spor Schenker UAB forsendelser ved hjælp af Cargoson-referencenummeret. Få aktuel status, placeringsopdateringer og estimeret leveringstid.

GET /bookings/{reference}

Hent sporingsdetaljer for en Schenker UAB forsendelse ved hjælp af Cargoson-bookingreferencen.

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

Schenker UAB returlabel-API

Drevet af Cargoson
Cargoson-forbedring:

Schenker UAB understøtter ikke native returlabels. Cargoson genererer returlabels og administrerer returlogistikprocessen gennem vores platform.

Generer returforsendelselabels til Schenker UAB forsendelser. Returlabels giver kunderne mulighed for at sende varer retur ved hjælp af forudbetalt forsendelse.

POST /bookings/{reference}/return_labels

Opret et returlabel til en eksisterende Schenker UAB forsendelse.

Request Parameters

label_format string

Labelformat: a4 eller label_printer (standard: 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"
}

Returlabel-funktioner

  • Forudbetalte returforsendelselabels
  • Samme formatmuligheder som udgående labels (A4, termo)
  • Separat sporingreference til returer
  • Problemfri integration med Schenker UAB returservices

Schenker UAB kurérforespørgsler

Cargoson-automatisering

Cargoson automatiserer kurérafhentningsanmodninger til Schenker UAB forsendelser, hvilket gør det til én opgave mindre, du skal tænke på.

Hvordan Cargoson håndterer kurérforespørgsler

Mange fragtmænd kræver, at du opretter labels separat og derefter manuelt anmoder om kurérafhentning. Andre har ikke et separat label plus kurérkaldsystem, og hver forsendelse er en komplet, separat forsendelse. Vi mener, at der bør være en enkelt standard for fragtmand-API'er, men i øjeblikket opretter hver fragtmand sit eget unikke system, hvilket gør det svært for deres brugere at huske hver enkelt særegenhed og indviklethed. Cargoson forenkler dine kurérkald ved at behandle hver forsendelse holistisk: kurérforespørgsler administreres automatisk som en del af bookingprocessen.

Smart afhentningsoptimering

Cargoson optimerer kurérkald for at reducere omkostninger og forbedre effektiviteten.

  • 1. Batchkonsolidering - Flere forsendelser fra samme placering grupperes i en enkelt afhentningsanmodning
  • 2. Fragtmandspecifik håndtering - Nogle fragtmænd inkluderer afhentning i bookingen, andre kræver separate anmodninger. Cargoson håndterer begge varianter automatisk for dig
  • 3. Regelmæssige afhentningsplaner - Konfigurer forudplanlagte afhentninger med bestemte intervaller (f.eks. dagligt til mit hovedlager kl. 15) og Cargoson vil helt springe individuelle kurérkald over

Fordele

  • Ingen grund til at holde styr på, hvilke fragtmænd der kræver separate kurérforespørgsler
  • Automatisk optimering forhindrer unødvendige afhentningskald
  • Understøttelse af regelmæssige afhentningsplaner
  • Forenklet forsendelsesworkflow - opret bare bookingen

Konfiguration

Kurérafhentningsautomatisering er aktiveret som standard for alle Schenker UAB forsendelser. For at konfigurere regelmæssige afhentningsplaner eller tilpassede afhentningsoptimeringsregler, kontakt [email protected].

Schenker UAB services-API

Cargoson-motor
Cargoson-forbedring:

Services-API'en er en Cargoson-leveret funktion, der returnerer en samlet liste over alle tilgængelige services fra Schenker UAB og andre fragtmænd i dit netværk. Dette giver dig mulighed for dynamisk at vise forsendelsesvalgmuligheder til dine kunder uden at hardcode service-ID'er.

Hent en liste over tilgængelige Schenker UAB forsendelseservices. Brug service-ID'er, når du foretager direkte bookinger for at sikre, at du får præcis den service, du ønsker.

GET /services/list

Returner liste over Schenker UAB services tilgængelige på din virksomhedskonto.

Example Response

{
  "services": [
    {
      "carrier": {
        "id": 1273,
        "name": "Schenker UAB",
        "short_name": "Schenker UAB",
        "reg_no": "111552645"
      },
      "id": 85,
      "name": "Main",
      "service_type": "road_freight"
    },
    {
      "carrier": {
        "id": 1273,
        "name": "Schenker UAB",
        "short_name": "Schenker UAB",
        "reg_no": "111552645"
      },
      "id": 123,
      "name": "Express Service",
      "service_type": "express"
    }
  ]
}

Brug af service-ID'er

Service-ID'er fra dette endpoint kan bruges med direct_booking_service_id-parameteren, når du opretter bookinger for at vælge den rigtige service og sende forsendelsen til Schenker UAB systemet.

Komplette kodeeksempler

Nedenfor er komplette fungerende eksempler, der viser hele workflowet: få rater, vælg en service, book forsendelse og udtræk sporingsinformation.

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

# Step 1: Get freight prices for Schenker UAB
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 bookToSchenkerUAB() {
  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
bookToSchenkerUAB();
import requests

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

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

define('CARRIER_SERVICE_ID', 85);

function bookToSchenkerUAB($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
bookToSchenkerUAB($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_schenker_uab
  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_schenker_uab

Hvorfor bruge Cargoson API til Schenker UAB integration

At integrere direkte med Schenker UAB's native API betyder at kæmpe med fragtmandspecifik dokumentation, håndtere unikke dataformater og vedligeholde separat kode for hver udbyder. Cargoson tilbyder en enkelt samlet RESTful API, der understøtter Schenker UAB og 2.000+ fragtmænd på tværs af europæiske og nordamerikanske markeder, med nye integrationer tilføjet ugentligt. Vi reducerer udviklingstiden fra måneder til dage, håndterer fragtmandopdateringer automatisk og administrerer regionale undtagelser. Med Cargoson fokuserer du på at vokse din forretning i stedet for at administrere fragtmandtekniske kompleksiteter.

Fordele ved at integrere Schenker UAB via Cargoson API

Én API til alle fragtmænd

Erstat snesevis af separate fragtmandintegrationer med én forbindelse til Schenker UAB og 2.000+ andre udbydere via Cargoson API. Ikke mere vedligeholdelse af flere godkendelsessystemer, håndtering af forskellige dataformater eller opdatering af kode, når fragtmænd ændrer deres endpoints.

Klar dokumentation og support

Få adgang til ligetil API-dokumentation med fungerende kodeeksempler, detaljerede parameterbeskrivelser og klart definerede endpoints. Vores supportteam kender logistikbranchen og kan hjælpe dig med at løse integrationsudfordringer hurtigt.

Kodeeksempler på flere sprog

Kom i gang med det samme med klar-til-brug kodeeksempler i cURL, JavaScript, Python, PHP og Ruby. Kopier, indsæt og tilpas dem til din stack, ingen grund til at finde ud af godkendelse, anmodningsformatering eller fejlhåndtering fra bunden.

Reel support fra logistikeksperter

Få hjælp fra folk, der forstår forsendelse, ikke kun API'er. Uanset om du fejlsøger et integrationsproblem eller har brug for råd om den bedste måde at håndtere internationale forsendelser på, er vores team her for at hjælpe.

Verdens mest avancerede fragtprismotor

Cargosons fragtpris-API går langt ud over simple rateopslag. Vores motor kan læse, analysere og digitalisere enhver fragtmandprisliste uanset format eller struktur, hvilket gør den til den mest kraftfulde fragtratestyringsløsning i logistikbranchen.

Universel formatunderstøttelse

Vores fragtprismotor håndterer ethvert format: strukturerede Excel-filer, komplekse PDF'er, fri tekst eller endda håndskrevne prislister. Upload dine fragtmandkontrakter i ethvert format, og vores fragtratemotor vil parse prisreglerne, tillæg og betingelser automatisk.

Direkte fragtmand-API-integration

For fragtmænd med moderne systemer (typisk globale pakkeoperatører og teknologifremadrettede fragtvirksomheder) trækker vi rater direkte fra deres API'er i realtid. Dette sikrer, at du altid får de mest aktuelle priser uden manuelle opdateringer.

Offentlige onlinepriser

Har du ikke en kontrakt med en fragtmand endnu? Intet problem. Cargoson kan trække offentlige onlinepriser fra fragtmænd, hvilket giver dig mulighed for at sammenligne muligheder, selv før du etablerer formelle aftaler.

Spotprisanmodninger

For komplekse forsendelser eller særlige tilfælde, anmod om spotpriser, hvor fragtmænd gennemgår dine specifikke krav og giver et tilpasset tilbud. Alt administreret gennem den samme samlede API.

Schenker UAB forsendelses-API: Forenklet logistikautomatisering

Automatiser din opfyldelsesproces ved at integrere Cargosons forsendelses-API med Schenker UAB og 2.000+ fragtmænd verden over. Opret forsendelselabels, book afhentninger og administrer alle dine fragtmænd fra én platform, mens du beholder dine forhandlede rater med hver udbyder.

Automatiseret labelgenerering

Generer fragtmandgodkendte forsendelselabels i en enkelt API-anmodning. Understøttelse af flere labelformater (A4, termoprinter) og automatisk tolddokumentation til internationale forsendelser betyder mindre manuelt arbejde og færre forsendelsesfejl.

Realtids ratesammenligning

Sammenlign live rater på tværs af Schenker UAB og dine andre aktiverede fragtmænd for at vælge den bedste mulighed baseret på pris, hastighed og serviceniveau.

Behold dine forhandlede rater

Tilslut din eksisterende Schenker UAB konto for at beholde dine forhandlede forsendelsespriser. Cargoson leverer blot den tekniske integration: du beholder dine direkte fragtmandrelationer og tilpassede prisaftaler.

Virksomhedssikkerhed i verdensklasse til Schenker UAB API-integration

Cargosons API-infrastruktur opfylder europæiske overholdelsesstandarder, som sikrer sikker, revisionsklar Schenker UAB integration til din virksomhed:

  • GDPR-kompatibel datahåndtering og -lagring på tværs af Europa
  • ISO 27001-certificeret informationssikkerhedsstyring
  • End-to-end kryptering for al API-kommunikation

Klar til at integrere Schenker UAB forsendelse i din platform?

Book en demo for at se, hvordan Cargosons samlede API kan forenkle dine logistikoperationer

Book en demo

Ofte stillede spørgsmål

Cargoson er et TMS (transportstyringssystem) til europæiske og nordamerikanske producenter. Vores centrale vision er enkelhed: integrer alle fragtmænd og fragtmåder (vej, pakke, luft, hav, jernbane) i ét vindue og én API. Uanset om du sender paller på tværs af Europa eller containere oversøisk, administrer alt fra en enkelt platform.

Det er nemt at komme i gang. Først skal du tilmelde dig en Cargoson-konto og få din API-nøgle. Tilslut derefter din Schenker UAB konto i Cargoson-dashboardet. Når det er gjort, kan du begynde at lave API-anmodninger ved hjælp af vores dokumentation og kodeeksempler. Hele opsætningen tager typisk mindre end en time.

Ja, du skal bruge din egen Schenker UAB konto for at bruge Schenker UAB services gennem Cargoson. Dette sikrer, at du beholder dine forhandlede rater og opretholder dit direkte forhold til Schenker UAB. Cargoson leverer blot det tekniske integrationslag, der gør det lettere at arbejde med Schenker UAB og andre fragtmænd gennem én samlet API.

Cargoson opererer på en gennemsigtig månedlig abonnementsmodel uden gebyrer pr. forsendelse eller provisioner, nogensinde. Din plan inkluderer API-adgang, dokumentation, support og automatiske opdateringer, når fragtmænd ændrer deres systemer. Du betaler Schenker UAB direkte for forsendelse til dine forhandlede rater. Ingen skjulte omkostninger, ingen overraskelser.

Absolut! Det er hovedfordelen ved at bruge Cargoson. Når du har integreret vores API, kan du arbejde med Schenker UAB og 2.000+ andre fragtmænd ved hjælp af de samme endpoints, godkendelse og dataformater. Tilføj nye fragtmænd uden at skrive ny integrationskode, bare aktiver dem i dit Cargoson-dashboard.

Ja! Vi integrerer enhver fragtmand, du har brug for, uden ekstra omkostninger. Dette er inkluderet i dit Cargoson-abonnement. Bare præsenter os for dine fragtmandkontakter, og vi håndterer den tekniske integration. Nye integrationer tilføjes dagligt baseret på kundeanmodninger.

Ja, vi kan opsætte webhooks til at underrette dit system baseret på begivenheder og triggere i Cargoson, såsom forsendelsestatusopdateringer, bookingbekræftelser eller ændringer til dine forsendelser. Kontakt vores supportteam eller book en demo for at diskutere dine webhook-krav og opsætning.

Cargoson kan være overkill, hvis du er en lille virksomhed, der kun sender et par gange om måneden med en enkelt fragtmand. Du kan sandsynligvis administrere disse forsendelser fint uden et TMS. Vi er heller ikke det rigtige valg, hvis du er en fragtmand eller speditør. Cargoson er bygget specifikt til gavnlige lastejere (BCO'er) som producenter og distributører, der ejer de varer, der sendes. Hvis du leder efter et TMS til at administrere din speditørvirksomhed eller fragtmandoperationer, er vi ikke designet til det anvendelsestilfælde.

Vores API returnerer klare fejlmeddelelser med specifikke fejlkoder og beskrivelser. Almindelige problemer er dokumenteret med løsninger i vores udvikler-docs. Hvis du sidder fast, kan vores supportteam hjælpe med at fejlsøge integrationsproblemer.

Vi implementerer rimelige rategrænser for at sikre systemstabilitet for alle kunder. Der er både langperiode-rategrænser og burst-rategrænser med værdier, der burde være mere end nok for de fleste virksomheder. Hvis du har brug for højere grænser til virksomhedsskala-operationer, kontakt os for at diskutere tilpassede rategrænser for din konto.

Begynd at bruge Schenker UAB API'en

Få dine API-legitimationsoplysninger for at begynde integration

Få din API-nøgle