Schenker UAB API-dokumentation

Integrerad REST API

Komplett API-referens för Schenker UAB fraktintegration. Få tillgång till bokning, fraktpriser, etikettgenerering och spårning genom Cargosons enhetliga transporthantering-API.

Få din API-nyckel

Schenker UAB API-översikt

Detta API ger programmatisk åtkomst till Schenker UAB frakttjänster genom Cargosons enhetliga transporthanteringsplattform. Integrera Schenker UAB funktioner inklusive fraktbokning, spårning, prisofferter och etikettgenerering i dina applikationer.

API-funktioner

  • Skapa och hantera Schenker UAB fraktbokningar
  • Försändelsespårning och statusuppdateringar
  • Få fraktprisofferter och transittider
  • Generera fraktetiketter i flera format (PDF, PNG, ZPL)
  • Skapa returetiketter för returlogistik
  • Sök paketautomater och upphämtningsställen
  • Lista tillgängliga transportörstjänster
  • Automatiserade kurirförfrågningar

Bas-URL & autentisering

Bas-URL

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

Autentisering

Alla förfrågningar måste innehålla din API-nyckel och korrekt Accept-header:

Authorization: Bearer DIN_API_NYCKEL
Accept: application/vnd.api.v1

Schenker UAB boknings-API

Direkt transportörs-API

Skapa Schenker UAB försändelser och hämta fraktetiketter med Queries-endpointen. Bokningar skickas till transportörens system i realtid och etiketter genereras omedelbart.

Query vs direkt bokning

Queries-endpointen stöder två bokningsmetoder:

  • Query-läge - Skapa en transportförfrågan utan att specificera en transportör (än). Detta gör att du manuellt kan jämföra transportörspriser och leveranstider, begära nya spotpriser, göra justeringar/uppdateringar av försändelsen och delegera transportörsval till andra, innan du gör det slutliga transportörsvalet i Cargoson.
  • Direkt bokning - Specificera ett transportörstjänst-ID (från Rate- eller Services-API:et) för att boka direkt med Schenker UAB. Detta säkerställer att din försändelse använder exakt den tjänst du valde.

För att boka direkt till Schenker UAB, definiera alltid direct_booking_service_id.

POST /queries

Skapa en försändelseförfrågan eller direkt bokning för Schenker UAB. Inkludera direct_booking_service_id för att skapa en omedelbar bokning.

Request Parameters

collection_date string required

Upphämtningsdatum i formatet ÅÅÅÅ-MM-DD

collection_country string required

Upphämtningslandskod (ISO 3166-1 alpha-2)

collection_postcode string required

Upphämtningspostnummer

collection_address_row_1 string required

Upphämtningsgata

collection_city string required

Upphämtningsstad

collection_company_name string required

Avsändarföretagsnamn

collection_contact_name string required

Avsändarkontaktperson

collection_contact_phone string required

Avsändartelefonnummer

delivery_country string required

Leveranslandskod

delivery_postcode string required

Leveranspostnummer

delivery_address_row_1 string required

Leveransgata

delivery_city string required

Leveransstad

delivery_company_name string required

Mottagarföretagsnamn

delivery_contact_name string required

Mottagarkontaktperson

delivery_contact_phone string required

Mottagartelefonnummer

rows_attributes array required

Array av paket/pallar med kvantitet, pakettyp, vikt och beskrivning

options[direct_booking_service_id] integer

Schenker UAB tjänst-ID för direkt bokning

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

Etikettgenerering

Schenker UAB fraktetiketter genereras automatiskt när du skapar en bokning. Etiketter finns tillgängliga i flera format för att stödja olika skrivartyper.

Format som stöds

a4 - A4 PDF-format för skrivbordsskrivare (4 etiketter per sida)
label_printer - 4x6in (~10x15cm) PDF-format för termoskrivare

Etiketter inkluderas i bokningssvaret via fältet label_url. Ladda ner och skriv ut etiketten från den angivna URL:en efter bokning.

Schenker UAB pris-API (fraktprissättning)

Cargoson-motor
Cargoson-förbättring:

Schenker UAB tillhandahåller inte ett native pris-API. Cargosons fraktprismotor beräknar priser med dina uppladdade prisavtal, vilket ger dig samma API-upplevelse som transportörer med native pris-API:er. Du kan ladda upp transportörspriser i vilket format som helst (Excel, PDF, till och med handskrivna prislistor) och vi digitaliserar dem.

Få realtids Schenker UAB fraktpriser innan bokning. Rate-API:et returnerar tillgängliga tjänster, priser och uppskattade leveranstider.

POST /freightPrices/list

Få fraktprisofferter från Schenker UAB och andra aktiverade transportörer på ditt konto.

Request Parameters

collection_date string required

Upphämtningsdatum i formatet ÅÅÅÅ-MM-DD

collection_country string required

Upphämtningslandskod (ISO 3166-1 alpha-2)

collection_postcode string required

Upphämtningspostnummer

delivery_country string required

Leveranslandskod

delivery_postcode string required

Leveranspostnummer

rows_attributes array required

Array av paket/pallar med kvantitet, pakettyp, vikt och beskrivning

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 spårnings-API

Direkt transportörs-API

Spåra Schenker UAB försändelser med Cargoson-referensnumret. Få aktuell status, platsuppdateringar och uppskattad leveranstid.

GET /bookings/{reference}

Hämta spårningsdetaljer för en Schenker UAB försändelse med Cargoson-bokningsreferensen.

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 returetikett-API

Drivs av Cargoson
Cargoson-förbättring:

Schenker UAB stöder inte nativt returetiketter. Cargoson genererar returetiketter och hanterar returlogistikprocessen genom vår plattform.

Generera returetiketter för Schenker UAB försändelser. Returetiketter gör det möjligt för kunder att skicka tillbaka varor med förbetald frakt.

POST /bookings/{reference}/return_labels

Skapa en returetikett för en befintlig Schenker UAB försändelse.

Request Parameters

label_format string

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

Returetikettfunktioner

  • Förbetalda returetiketter
  • Samma formatalternativ som utgående etiketter (A4, termisk)
  • Separat spårningsreferens för returer
  • Sömlös integration med Schenker UAB returtjänster

Schenker UAB kurirförfrågningar

Cargoson-automatisering

Cargoson automatiserar kurirförfrågningar för Schenker UAB försändelser, vilket gör det till en uppgift mindre att tänka på.

Hur Cargoson hanterar kurirförfrågningar

Många fraktbolag kräver att du skapar etiketter separat och sedan manuellt begär kurirupphämtning. Andra har inte ett separat system för etikett plus kurirsamtal, och varje försändelse är en komplett, separat försändelse. Vi tror att det borde finnas en enda standard för transportörs-API:er, men för närvarande skapar varje transportör sitt eget unika system, vilket gör det svårt för deras användare att komma ihåg varje transportörs egenheter och krångligheter. Cargoson förenklar dina kurirsamtal genom att behandla varje försändelse holistiskt: kurirförfrågningar hanteras automatiskt som en del av bokningsprocessen.

Smart upphämtningsoptimering

Cargoson optimerar kurirsamtal för att minska kostnader och förbättra effektivitet.

  • 1. Batchkonsolidering - Flera försändelser från samma plats grupperas till en enda upphämtningsförfrågan
  • 2. Transportörsspecifik hantering - Vissa transportörer inkluderar upphämtning i bokningen, andra kräver separata förfrågningar. Cargoson hanterar båda varianterna automatiskt åt dig
  • 3. Regelbundna upphämtningsscheman - Konfigurera förplanerade upphämtningar vid specifika intervaller (t.ex. dagligen till mitt huvudlager kl. 15:00) och Cargoson hoppar över enskilda kurirsamtal helt

Fördelar

  • Inget behov av att spåra vilka transportörer som kräver separata kurirförfrågningar
  • Automatisk optimering förhindrar onödiga upphämtningssamtal
  • Stöd för regelbundna upphämtningsscheman
  • Förenklat fraktarbetsflöde - skapa bara bokningen

Konfiguration

Automatisering av kurirupphämtning är aktiverad som standard för alla Schenker UAB försändelser. För att konfigurera regelbundna upphämtningsscheman eller anpassade optimeringsregler, kontakta [email protected].

Schenker UAB tjänste-API

Cargoson-motor
Cargoson-förbättring:

Services-API:et är en Cargoson-tillhandahållen funktion som returnerar en enhetlig lista över alla tillgängliga tjänster från Schenker UAB och andra transportörer i ditt nätverk. Detta gör att du dynamiskt kan visa fraktalternativ till dina kunder utan att hårdkoda tjänst-ID:n.

Hämta en lista över tillgängliga Schenker UAB frakttjänster. Använd tjänst-ID:n vid direktbokningar för att säkerställa att du får exakt den tjänst du vill ha.

GET /services/list

Returnera lista över Schenker UAB tjänster tillgängliga på ditt företagskonto.

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

Använda tjänst-ID:n

Tjänst-ID:n från denna endpoint kan användas med parametern direct_booking_service_id när du skapar bokningar för att välja rätt tjänst och skicka försändelsen till Schenker UAB systemet.

Kompletta kodexempel

Nedan finns kompletta fungerande exempel som visar hela arbetsflödet: få priser, välj en tjänst, boka försändelse och extrahera spårningsinformation.

# 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

Varför använda Cargoson API för Schenker UAB integration

Att integrera direkt med Schenker UABs native API innebär att brottas med transportörsspecifik dokumentation, hantera unika dataformat och underhålla separat kod för varje leverantör. Cargoson erbjuder ett enda enhetligt RESTful API som stöder Schenker UAB och 2 000+ transportörer över europeiska och nordamerikanska marknader, med nya integrationer som läggs till varje vecka. Vi minskar utvecklingstiden från månader till dagar, hanterar transportörsuppdateringar automatiskt och hanterar regionala undantag. Med Cargoson fokuserar du på att växa ditt företag istället för att hantera transportörers tekniska komplexitet.

Fördelar med att integrera Schenker UAB via Cargoson API

Ett API för alla transportörer

Ersätt dussintals separata transportörsintegrationer med en anslutning till Schenker UAB och 2 000+ andra leverantörer via Cargoson API. Inget mer underhåll av flera autentiseringssystem, hantering av olika dataformat eller uppdatering av kod när transportörer ändrar sina endpoints.

Tydlig dokumentation och support

Få tillgång till enkel API-dokumentation med fungerande kodexempel, detaljerade parameterbeskrivningar och tydligt definierade endpoints. Vårt supportteam känner till logistikbranschen och kan hjälpa dig lösa integrationsproblem snabbt.

Kodexempel på flera språk

Kom igång omedelbart med färdiga kodexempel i cURL, JavaScript, Python, PHP och Ruby. Kopiera, klistra in och anpassa dem till din stack, inget behov av att lista ut autentisering, förfrågningsformatering eller felhantering från grunden.

Riktig support från logistikexperter

Få hjälp från personer som förstår frakt, inte bara API:er. Oavsett om du felsöker ett integrationsproblem eller behöver råd om det bästa sättet att hantera internationella försändelser, är vårt team här för att hjälpa.

Världens mest avancerade fraktprismotor

Cargosons fraktpris-API går långt bortom enkla prisförfrågningar. Vår motor kan läsa, analysera och digitalisera vilken transportörsprislista som helst oavsett format eller struktur, vilket gör den till den mest kraftfulla fraktprishanteringslösningen i logistikbranschen.

Universellt formatstöd

Vår fraktprismotor hanterar vilket format som helst: strukturerade Excel-filer, komplexa PDF:er, fritext eller till och med handskrivna prislistor. Ladda upp dina transportörskontrakt i vilket format som helst, och vår fraktprismotor kommer att analysera prisreglerna, tillägg och villkor automatiskt.

Direkt transportörs-API-integration

För transportörer med moderna system (vanligtvis globala pakettransportörer och teknikframåt fraktföretag) hämtar vi priser direkt från deras API:er i realtid. Detta säkerställer att du alltid får den mest aktuella prissättningen utan manuella uppdateringar.

Offentliga onlinepriser

Har du inte ett kontrakt med en transportör än? Inga problem. Cargoson kan hämta offentliga onlinepriser från transportörer, vilket gör att du kan jämföra alternativ även innan du etablerar formella avtal.

Spotprisförfrågningar

För komplexa försändelser eller specialfall, begär spotpriser där transportörer granskar dina specifika krav och ger en anpassad offert. Allt hanteras genom samma enhetliga API.

Schenker UAB frakt-API: Förenklad logistikautomatisering

Automatisera din fullgörandeprocess genom att integrera Cargosons frakt-API med Schenker UAB och 2 000+ transportörer världen över. Skapa fraktetiketter, boka upphämtningar och hantera alla dina transportörer från en plattform samtidigt som du behåller dina förhandlade priser med varje leverantör.

Automatiserad etikettgenerering

Generera transportörsgodkända fraktetiketter i en enda API-förfrågan. Stöd för flera etikettformat (A4, termoskrivare) och automatisk tulldokumentation för internationella försändelser innebär mindre manuellt arbete och färre fraktfel.

Realtidsprisjämförelse

Jämför livepriser över Schenker UAB och dina andra aktiverade transportörer för att välja det bästa alternativet baserat på kostnad, hastighet och servicenivå.

Behåll dina förhandlade priser

Anslut ditt befintliga Schenker UAB konto för att behålla dina förhandlade fraktpriser. Cargoson tillhandahåller helt enkelt den tekniska integrationen: du behåller dina direkta transportörsrelationer och anpassade prisavtal.

Säkerhet på företagsnivå för Schenker UAB API-integration

Cargosons API-infrastruktur uppfyller europeiska efterlevnadsstandarder, vilket säkerställer säker, revisionsklar Schenker UAB integration för ditt företag:

  • GDPR-kompatibel datahantering och lagring över hela Europa
  • ISO 27001-certifierad informationssäkerhetshantering
  • End-to-end-kryptering för all API-kommunikation

Redo att integrera Schenker UAB frakt i din plattform?

Boka en demo för att se hur Cargosons enhetliga API kan förenkla dina logistikoperationer

Boka en demo

Vanliga frågor

Cargoson är ett TMS (transporthanteringssystem) för europeiska och nordamerikanska tillverkare. Vår centrala vision är enkelhet: integrera alla transportörer och fraktlägen (väg, paket, flyg, sjö, järnväg) i ett fönster och ett API. Oavsett om du skickar pallar över Europa eller containrar över haven, hantera allt från en enda plattform.

Att komma igång är enkelt. Först, registrera dig för ett Cargoson-konto och få din API-nyckel. Anslut sedan ditt Schenker UAB konto i Cargoson-instrumentpanelen. När det är klart kan du börja göra API-förfrågningar med vår dokumentation och kodexempel. Hela installationen tar vanligtvis mindre än en timme.

Ja, du behöver ditt eget Schenker UAB konto för att använda Schenker UAB tjänster genom Cargoson. Detta säkerställer att du behåller dina förhandlade priser och upprätthåller din direkta relation med Schenker UAB. Cargoson tillhandahåller helt enkelt det tekniska integrationsskiktet som gör det lättare att arbeta med Schenker UAB och andra transportörer genom ett enhetligt API.

Cargoson arbetar med en transparent månatlig prenumerationsmodell utan avgifter per försändelse eller provisioner, någonsin. Din plan inkluderar API-åtkomst, dokumentation, support och automatiska uppdateringar när transportörer ändrar sina system. Du betalar Schenker UAB direkt för frakt till dina förhandlade priser. Inga dolda kostnader, inga överraskningar.

Absolut! Det är den största fördelen med att använda Cargoson. När du väl har integrerat vårt API kan du arbeta med Schenker UAB och 2 000+ andra transportörer med samma endpoints, autentisering och dataformat. Lägg till nya transportörer utan att skriva ny integrationskod, aktivera dem bara i din Cargoson-instrumentpanel.

Ja! Vi integrerar vilken transportör du behöver utan extra kostnad. Detta ingår i din Cargoson-prenumeration. Presentera oss bara för dina transportörskontakter, så hanterar vi den tekniska integrationen. Nya integrationer läggs till dagligen baserat på kundförfrågningar.

Ja, vi kan ställa in webhooks för att meddela ditt system baserat på händelser och triggers i Cargoson, såsom försändelsestatusuppdateringar, bokningsbekräftelser eller ändringar av dina försändelser. Kontakta vårt supportteam eller boka en demo för att diskutera dina webhook-krav och installation.

Cargoson kan vara överdrivet om du är ett litet företag som skickar bara några gånger per månad med en enda transportör. Du kan förmodligen hantera dessa försändelser bra utan ett TMS. Vi är inte heller rätt passform om du är en transportör eller speditör. Cargoson är byggt specifikt för varuägare (BCO:er) som tillverkare och distributörer som äger varorna som skickas. Om du letar efter ett TMS för att hantera din speditörsverksamhet eller transportörsoperationer, är vi inte designade för det användningsfallet.

Vårt API returnerar tydliga felmeddelanden med specifika felkoder och beskrivningar. Vanliga problem är dokumenterade med lösningar i vår utvecklardokumentation. Om du fastnar kan vårt supportteam hjälpa till med felsökning av integrationsproblem.

Vi implementerar rimliga hastighetsbegränsningar för att säkerställa systemstabilitet för alla kunder. Det finns både långperiodiska hastighetsbegränsningar och burst-hastighetsbegränsningar, med värden som borde vara mer än tillräckliga för de flesta företag. Om du behöver högre gränser för verksamhet i företagsskala, kontakta oss för att diskutera anpassade hastighetsbegränsningar för ditt konto.

Börja använda Schenker UAB API

Få dina API-uppgifter för att börja integrera

Få din API-nyckel